amazon-web-services - 我可以在 AWS IAM 服务中自动创建用户吗?

标签 amazon-web-services security amazon-iam

我目前正在建立一个网站项目,并且正在 AWS 上创建 20 个新的 IAM 用户。由于这是一个重复的过程,我认为必须有一种方法可以使用现有的用户信息(电子邮件、用户名等)自动执行此操作。有哪些推荐的方法来做到这一点?由于 secret 访问 key 只存在一次并且如果不复制就必须重新生成,因此有什么安全问题?

最佳答案

除了使用联合访问 AWS 之外,我不知道有任何工具可以自动创建用户。

需要非常认真地对待由 AAA(身份验证、授权、记帐)组成的安全部分。无论多么无聊或重复,这个阶段的错误可能会花费你更多的时间和金钱来修复。换句话说,花时间思考如何在 AWS 上实现 AAA 并花时间把它做好。这也意味着完全了解 IAM 用户是什么、如何管理权限等。

如果你通过创建用户的过程,你会发现几乎没有什么可以自动化的。除了用户名、密码、组、权限和安全凭证之外,AWS IAM 不会存储太多关于用户的信息。

让我们假设一家公司正在创建一个新的 AWS 账户,并通过这些步骤正确设置 AAA。我忽略了我强烈推荐的 AWS Organizations,它将生产用户和资源与开发人员和测试资源分开。

第 1 步:创建一个 AWS 账户,填写联系信息、付款信息等的所有各种表格。此时不要创建任何用户。

第 2 步:创建 IAM 组。对于这个虚构的公司,我们将有管理员、财务、销售、开发人员和系统运营。为每个组分配正确的权限(IAM 策略)。

第 3 步:创建具有管理员和计费权限的新用户。此用户将替换 AWS 在您创建账户时创建的根用户。验证您是否可以登录此帐户。

第四步:再次以root用户登录,启用MFA,修改密码。将登录名和密码安全地存储在公司保险箱中。除非在紧急情况下,否则不会再次使用此登录名。

步骤 5. 创建一个 S3 存储桶并启用 CloudTrail。我使用 companyname-cloudtrail 创建了一个存储桶,并将所有 CloudTrail 日志发送到此存储桶。只有管​​理员拥有此存储桶的权限。这提供了 AAA 中的最后一个 A。

现在,我们已经锁定了根用户、拥有所有权限的新管理员以及使用分配的 IAM 策略创建的所需 IAM 组。从这里您可以查看自动创建用户。但是,对于 5 个组和 20 个用户,您将花费更多时间自动化,然后只创建用户。

让我们创建第一个用户来查看该过程。我们将使用 AWS CLI,以便您详细了解需要什么以及自动化可能在哪些方面有所帮助。

一个重要的项目是选择您将如何命名您的用户。在此示例中,我们将使用连接在一起的名字句点姓氏。

第 1 步:创建 IAM 用户。此用户将是财务组的一部分:
aws iam create-user --user-name bob.henry
第 2 步:将此用户分配给财务组:
aws iam add-user-to-group --user-name bob.henry --group-name Finance
第 3 步:(可选)分配对此用户唯一的 IAM 策略:
aws iam put-user-policy --user-name bob.henry --policy-name BobHenryRole --policy-document file://C:\Policies\BobHenryPolicyFile.json
对于每个用户,我通常在公司 S3 存储桶“/Users/bob.henry”中创建一个文件夹。在此可选策略中,我授予 bob.henry 对此存储桶文件夹的完全权限。每个用户现在都有自己的私有(private)存储位置,我们将其用于备份。

第 4 步:分配初始用户密码:
aws iam create-login-profile --password-reset-required --user-name bob.henry --password My!Password&Is-Bettern=Than^Yours@
此时您已经创建了一个新用户。最后一步是决定哪些用户应该拥有 AWS 凭证。财务部门不需要它们。但是,以下命令将演示如何:
aws iam create-access-key --user-name bob.henry
注意:我建议让应该拥有安全凭证的用户能够创建自己的凭证。这样,帐户管理员不必担心创建和分发凭据。

完成上述步骤并查看可以自动化的内容。

我创建了一个批处理文件,其中包含上述创建用户的所有步骤。然后我编辑批处理文件并仔细检查所有细节是否正确。我使用批处理文件,因为它可以帮助我记住新用户需要完成的每一个步骤。有点像一个 list ,这样我就不会忘记一些东西。

关于amazon-web-services - 我可以在 AWS IAM 服务中自动创建用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52349373/

相关文章:

security - 阻止 Elastic Load Balancer 泄露内部私有(private) IP

amazon-web-services - 合并cloudformation模板中的两个对象列表

security - 在 Azure Active Directory B2C 中传递 id_token 的安全方式

javascript - IAM 允许访问一种 dynamoDB 方法,但不能访问另一种使用 JavaScript 的 AWS

amazon-web-services - 如何在 cloudformartion 脚本中添加 IAM 角色的下拉列表?

amazon-web-services - 多个 AWS EC2 实例之间的共享文件系统

amazon-web-services - 当您拥有相对少量的数据时,Elasticsearch大型集群与较小的集群

Android : Security Concern :classes. dex 公开暴露的 WebService 名称在文件中可见

security - 服务器可以使用 http header 命令来捕获浏览器签名吗?

amazon-web-services - AWS Kinesis Firehose 未向 Elasticsearch 发送数据....IAM 权限?