Amazon Web Services 开发人员用户权限
Posted
技术标签:
【中文标题】Amazon Web Services 开发人员用户权限【英文标题】:Amazon Web Services Developer User Permissions 【发布时间】:2015-01-12 22:16:54 【问题描述】:我有一个Amazon Web Services
帐户,该帐户将用于托管应用程序的支持。后端使用php/mysql
,并且很可能使用EC2
实例和RDS
。我有自己的帐户,可以访问所有内容。我需要为开发人员创建一个帐户以将后端放在 AWS 上,但我不希望他们能够访问除他们需要的任何东西之外的任何东西。我知道如何创建IAM
用户和组,但我不知道授予开发人员哪些权限。在Select Policy Template
下有一个Power User
模板,这对开发人员有好处吗?以前有人做过吗?
【问题讨论】:
【参考方案1】:AWS Identity and Access Management (IAM) 中的 Power User Access 模板授予执行除使用 IAM 之外的任何操作的权限。拥有此权限的用户可以查看、创建或删除您的 AWS 账户中的任何资源,但他们无法创建新用户或修改任何用户权限。
建议您只授予人们使用 AWS 所需的最少权限,这样他们就不会有意或无意地做一些不需要的事情。但是,如果您没有足够的 AWS 知识来了解所需的功能,您很可能需要信任开发人员来配置系统以满足您的需求。
一些提示:
仅通过 IAM 用户 授予他们访问权限 - 切勿向他们提供您的根凭证 如果您不知道需要哪些权限,那么“高级用户”至少比“管理员”更安全,因为他们无法编辑 IAM 设置 当他们完成工作后,撤销他们的访问权限,这样他们就不能再创建任何 AWS 资源了 确定您是否还希望撤销对 EC2 实例的访问权限(您必须在实例本身上执行此操作) 您可能需要定义一些将与 Amazon EC2 一起使用的roles
- 这些是在 IAM 中定义的,因此开发人员将无权自己创建角色
向开发人员索取他所部署内容的文档
打开 Detailed Billing 以识别您收到的 AWS 费用并对照文档进行核对
打开CloudTrail 以激活您的帐户审核(按区域激活)
或者,您可以进行所有 AWS 配置(启动 EC2 实例、创建数据库),只让开发人员登录到 EC2 实例本身。这样,他们就不需要访问您的 AWS 账户。
【讨论】:
如果我按照您的建议自行配置并让开发人员登录到 EC2 实例本身,我是否需要为此设置一个 IAM 用户?我不知道该怎么做。 登录 Amazon EC2 实例不涉及 IAM 权限。相反,它使用 EC2 密钥对...对于 Windows,会生成一个随机管理员密码,可以使用密钥对对其进行解码。对于 Linux,密钥对用于 ssh 进入 EC2。这些仅用于初始登录——之后,您可以根据需要添加用户和设置登录。因此,您可以让您的开发人员访问实例,但不能访问 AWS。 我已经创建了 ES2 实例和 RDS 实例。现在我想为开发人员提供使用 SSH 的访问权限。我对密钥对和 pem 文件感到困惑。我是向开发人员发送为 SSH 访问生成的密钥,还是创建一个新用户来获取新的密钥对。我不是 Linux 人。开发人员只需要足够的权限即可将 PHP 应用程序部署到 EC2 并在 RDS 上使用 MySQL。你的回答对我已经达到了这一点有很大帮助。我只需要允许开发人员使用 SSH。他是否获得了 pem 文件的公钥和私钥? 我在考虑用这个作为指南,这是我应该做的吗? brianflove.com/2013/06/18/add-new-sudo-user-to-ec2-ubuntu EC2 密钥对用于最初授予对 EC2 实例的访问权限。它们不应该用作访问控制的常规手段。在 Windows 上,更改管理员密码并创建其他用户(或附加到 AD 域)。对于 Linux,让用户创建自己的 SSH 密钥对,在 Linux 实例上创建一个用户,然后将其密钥对的公共部分复制到 authorized_keys 文件中。如果您想要更多详细信息,请发布另一个问题,人们会很乐意回答。另见:docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html以上是关于Amazon Web Services 开发人员用户权限的主要内容,如果未能解决你的问题,请参考以下文章
Amazon Web Services 与这些 Azure Web Services 最相似的是啥
Overview of Amazon Web Services