创建用于紧急访问的 IAM 用户 - AWS Identity and Access Management

创建用于紧急访问的 IAM 用户

IAM 用户是 AWS 账户 内对某个人员或应用程序具有特定权限的一个身份。

让 IAM 用户进行紧急访问是创建 IAM 用户的推荐理由之一,这样当您的身份提供商无法访问时,您可以访问您的 AWS 账户。

注意

作为安全最佳实践,我们建议您通过身份联合验证而非创建 IAM 用户来提供对资源的访问权限。要了解需要使用 IAM 用户的特定情况,请参阅 何时创建 IAM 用户(而非角色)

创建用于紧急访问的 IAM 用户

选择您要遵循的创建 IAM 用户方法的选项卡:

IAM console
  1. 按照《AWS 登录用户指南》中的如何登录 AWS 所述,根据用户类型选择相应的登录过程。

  2. 控制台主页页面,选择 IAM 服务。

  3. 在导航窗格中,选择用户,然后选择添加用户

    注意

    如果您启用了 IAM Identity Center,则 AWS Management Console 会显示一条提醒,提示您最好在 IAM Identity Center 中管理用户的访问权限。在此过程中,您创建的 IAM 用户专门在您的身份提供商不可用时使用。

  4. 对于用户名,输入 EmergencyAccess。名称不能包含空格。

  5. 选择向 AWS Management Console 提供用户访问权限 – 可选旁边的复选框,然后选择我想创建一个 IAM 用户

  6. 控制台密码下,选择自动生成的密码

  7. 清除用户必须在下次登录时创建新密码(推荐)旁边的复选框。由于该 IAM 用户用于紧急访问,因此受信任的管理员会保留密码,仅在需要时提供密码。

  8. 设置权限页面上的权限选项下,选择将用户添加到组。然后,在用户组下,选择创建组

  9. 创建用户组页面上的用户组名称中,输入 EmergencyAccessGroup。然后,在权限策略下,选择 AdministratorAccess

  10. 选择创建用户组,返回设置权限页面。

  11. 用户组下,选择您之前创建的 EmergencyAccessGroup 名称。

  12. 选择下一步,进入查看并创建页面。

  13. 查看和创建页面上,查看要添加到新用户的用户组成员资格列表。如果您已准备好继续,请选择创建用户

  14. 找回密码页面上,选择下载 .csv 文件以保存包含用户凭证信息(连接 URL、用户名和密码)的 .csv 文件。

  15. 保存此文件,以便在您需要登录 IAM 且无权访问身份提供商时使用。

新的 IAM 用户显示在用户列表中。选择用户名称链接以查看用户详细信息。

AWS CLI
  1. 创建一个名为 EmergencyAccess 的用户。

    aws iam create-user \ --user-name EmergencyAccess
  2. (可选)向用户提供对 AWS Management Console的访问权限。这需要密码。要为 IAM 用户创建密码,您可以使用 --cli-input-json 参数传递包含密码的 JSON 文件。您还必须向用户提供账户登录页面的 URL

    • aws iam create-login-profile

      aws iam create-login-profile \ --generate-cli-skeleton > create-login-profile.json
    • 在文本编辑器中打开 create-login-profile.json 文件并输入符合密码策略的密码,然后保存该文件。例如:

      { "UserName": "EmergencyAccess", "Password": "Ex@3dRA0djs", "PasswordResetRequired": false }
    • 再次使用 aws iam create-login-profile 命令,传递 --cli-input-json 参数以指定您的 JSON 文件。

      aws iam create-login-profile \ --cli-input-json file://create-login-profile.json
    注意

    如果您在 JSON 文件中提供的密码违反了账户的密码策略,则将收到 PassworPolicyViolation 错误。如果发生这种情况,则请查看您账户的密码策略,并更新 JSON 文件中的密码以符合要求。

  3. 创建 EmergencyAccessGroup,将 AWS 托管策略 AdministratorAccess 附加到组,然后将 EmergencyAccess 用户添加到该组。

    注意

    AWS 托管策略 是由 AWS 创建和管理的独立策略。每个策略都有自己的 Amazon 资源名称(ARN),其中包含策略名称。例如,arn:aws:iam::aws:policy/IAMReadOnlyAccess 是一个 AWS 托管策略。有关 ARN 的更多信息,请参阅 IAM ARN。有关适用于 AWS 服务 的 AWS 托管式策略的列表,请参阅 AWS 托管式策略

    • aws iam create-group

      aws iam create-group \ --group-name EmergencyAccessGroup
    • aws iam attach-group-policy

      aws iam attach-group-policy \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess \ --group-name >EmergencyAccessGroup
    • aws iam add-user-to-group

      aws iam add-user-to-group \ --user-name EmergencyAccess \ --group-name EmergencyAccessGroup
    • 运行 aws iam get-group 命令列出 EmergencyAccessGroup 及其成员。

      aws iam get-group \ --group-name EmergencyAccessGroup