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

时间:2018-09-15 22:23:31

标签: amazon-web-services security amazon-iam

我目前正在建立一个网站项目,并在AWS上创建20个新的IAM用户。由于这是一个重复的过程,因此我认为必须有一种方法可以利用现有的用户信息(电子邮件,用户名等)将其自动化。有什么推荐的方法可以做到这一点?由于秘密访问密钥仅存在一次,并且如果未复制则必须重新生成,因此对安全性有何担忧?

1 个答案:

答案 0 :(得分:5)

不包括使用联合身份验证访问AWS,我不知道有任何工具可以自动创建用户。

由AAA(身份验证,授权,计费)组成的安全性部分必须非常重视。无论多么无聊或重复,此阶段中的错误都可能花费您更多的时间和金钱来进行后续修复。换句话说,请花时间仔细考虑如何在AWS上实施AAA,并花点时间做对。这还意味着完全了解IAM用户是什么,如何管理权限等。

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

让一个假设的公司创建一个新的AWS账户,然后逐步进行步骤以正确设置AAA。我忽略了我强烈推荐的将组织用户和资源与开发人员和测试资源区分开的AWS组织。

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

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

步骤3:创建一个具有管理员和计费权限的新用户。该用户将替换您在创建账户时AWS创建的root用户。确认您可以登录此帐户。

步骤4:以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对该存储桶文件夹的完整权限。现在,每个用户都有自己的私有存储位置,我们将其用于备份。

第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

注意:我建议给应该具有安全证书的用户创建自己的权限。这样,帐户管理员不必担心创建和分发凭据。

按照上述步骤进行操作,并查看可以自动执行的操作。

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

相关问题