IAM 入门 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

IAM 入门

利用本教程开始使用 Amazon Identity and Access Management(IAM)。您将学习如何使用 Amazon Web Services Management Console 创建角色、用户和策略。

Amazon Identity and Access Management 是为您的Amazon Web Services 账户账户提供的一项功能,无需额外收费。只有您的 IAM 用户使用其他 Amazon 产品时才会收费。有关其他Amazon产品定价信息,请参阅亚马逊云科技定价页

注意

这套文档主要介绍 IAM 服务。要了解如何使用 Amazon 以及使用多种服务来解决构建和启动您的第一个项目等问题,请参阅入门资源中心

前提条件

开始之前,请确保您已完成 开始设置 IAM 中的步骤。本教程使用您在该过程中创建的管理员帐户。

创建您的第一个 IAM 用户

IAM 用户是 Amazon Web Services 账户内对某个人员或应用程序具有特定权限的一个身份。可以将用户组织到共享相同权限的组中。

注意

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

为了让您熟悉创建 IAM 用户的过程,本教程将逐步教您创建用于紧急访问的 IAM 用户和组。

创建您的第一个 IAM 用户

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

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

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

    注意

    如果您启用了 IAM Identity Center,则 Amazon Web Services Management Console 会显示一条提醒,提醒您最好在 IAM Identity Center 管理用户的访问权限。在本教程中,您创建的 IAM 用户专门在您的 IAM Identity Center 凭证不可用时使用。

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

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

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

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

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

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

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

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

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

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

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

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

新的 IAM 用户显示在用户列表中。选择用户名称链接以查看用户详细信息。在摘要下,将用户的 ARN 复制到剪贴板。将 ARN 粘贴到文本文档中,以便在下一个过程中使用。

创建您的第一个角色

IAM 角色是一种向您信任的实体授予权限的安全方式。IAM 角色与 IAM 用户有一些相似之处。角色和用户都是具有权限策略的主体,这些策略决定该身份在 Amazon 中可执行和不可执行的操作。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。使用角色可以帮助您遵循 IAM 最佳实践。您可以使用角色执行以下操作:

  • 通过工作人员身份和启用了 Identity Center 的应用程序,使用 Amazon IAM Identity Center 来访问 Amazon Web Services Management Console。

  • 向 Amazon 服务委派代表您执行操作的权限。

  • 允许在 Amazon EC2 实例上运行的应用程序代码访问或修改 Amazon 资源。

  • 向其他 Amazon Web Services 账户 授予访问权限。

注意

您可以使用 Amazon Identity and Access Management Roles Anywhere,为计算机身份授予访问权限。使用 IAM Roles Anywhere 意味着您无需为在 Amazon 外部运行的工作负载管理长期凭证。有关更多信息,请参阅《Amazon Identity and Access Management Roles Anywhere 用户指南》中的什么是 Amazon Identity and Access Management Roles Anywhere?

IAM Identity Center 和其他 Amazon 服务会自动为其服务创建角色。如果您使用的是 IAM 用户,我们建议您创建角色,供用户在登录时代入。这将在会话期间为其提供临时权限,而非长期权限。

指导您完成创建角色步骤的 Amazon Web Services Management Console 向导的步骤可能稍有不同,具体取决于您是为 IAM 用户、Amazon 服务,还是联合用户创建角色。应使用联合访问在组织内提供对 Amazon Web Services 账户 的常规访问。如果您为特定目的(例如紧急访问或编程访问)创建 IAM 用户,则仅授予这些 IAM 用户代入角色的权限,并将这些 IAM 用户放入特定角色组中。

在此过程中,您将创建一个为 EmergencyAccess IAM 用户提供 SupportUser 访问权限的角色。开始此过程前,将 IAM 用户的 ARN 复制到剪贴板。

为 IAM 用户创建一个角色

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

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

  3. 在 IAM 控制台的导航窗格中,依次选择角色创建角色

  4. 选择 Amazon Web Services 账户 角色类型。

  5. 选择可信实体中的可信实体类型下,选择自定义信任策略

  6. 自定义信任策略部分中,查看基本信任策略。这就是我们用于该角色的策略。请使用编辑语句编辑器更新信任策略:

    1. 为 STS 添加操作中,选择代入角色

    2. 添加主体旁,选择添加添加主体窗口将打开。

      主体类型下,选择 IAM 用户

      ARN 下,将您复制的 IAM 用户 ARN 粘贴到剪贴板。

      选择添加主体

    3. 验证信任策略中的 Principal 行现在是否包含您指定的 ARN:

      "Principal": { "AWS": "arn:aws:iam::123456789012:user/username" }

  7. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择下一步

  8. 添加权限中,选择要应用的权限策略旁的复选框。在本教程中,我们将选择 SupportUser 信任策略。然后,您可以使用该角色来排查和解决与 Amazon Web Services 账户 有关的问题,并使用 Amazon 打开支持案例。目前,我们不打算设置权限边界

  9. 选择下一步

  10. 名称、查看并创建中,完成以下设置:

    • 对于角色名称,输入用于标识此角色的名称,如 SupportUserRole

    • 描述中,解释该角色的预期用途。

    由于其他 Amazon 资源可能引用该角色,角色创建完毕后无法编辑角色名称。

  11. 选择创建规则

    创建角色后,与需要该角色的人员共享角色信息。您可以通过以下方式共享角色信息:

    • 角色链接:向用户发送链接,以使用户进入已填写所有详细信息的 Switch Role(切换角色)页面。

    • 账户 ID 或别名:为每位用户提供角色名称以及账户 ID 号或账户别名。用户随后转到 Switch Role 页面,然后手动添加详细信息。

    • 将角色链接信息与 EmergencyAccess 用户凭证一起保存。

    有关详细信息,请参阅 向用户提供信息

创建您的第一个 IAM policy

将 IAM policy 附加到 IAM 身份(用户、用户组或角色)或 Amazon 资源。策略是Amazon中的对象;在与标识或资源相关联时,策略定义它们的权限。

创建您的第一个 IAM policy

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

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

  3. 在导航窗格中,选择 Policies (策略)

    如果这是您首次选择 Policies,则会显示 Welcome to Managed Policies 页面。选择开始使用

  4. 选择 Create policy (创建策略)

  5. 创建策略页面上,选择操作,然后选择导入策略

  6. 导入策略窗口的查找策略框中,键入 power 以缩小策略列表。选择 PowerUserAccess 策略。

  7. 选择导入策略。该策略显示在 JSON 选项卡中。

  8. 选择下一步

  9. 查看并创建页面上,对于策略名称,键入 PowerUserExamplePolicy。对于描述,键入 Allows full access to all services except those for user management。然后,选择创建策略以保存该策略。

您可以将该策略附加到某个角色,为代入该角色的用户提供与该策略相关的权限。PowerUserAccess 策略通常用于向开发人员提供访问权限。

以编程方式访问

如果用户需要在 Amazon Web Services Management Console 之外与 Amazon 交互,则需要编程式访问权限。授予编程式访问权限的方法取决于访问 Amazon 的用户类型:

  • 如果您在 IAM Identity Center 中管理身份,则 Amazon API 需要一个配置文件,而 Amazon Command Line Interface 需要一个配置文件或环境变量。

  • 如果您有 IAM 用户,则 Amazon API 和 Amazon Command Line Interface 需要访问密钥。可能的话,创建临时凭证,该凭证由一个访问密钥 ID、一个秘密访问密钥和一个指示凭证何时到期的安全令牌组成。

要向用户授予编程式访问权限,请选择以下选项之一。

哪个用户需要编程式访问权限? 目的 方式

人力身份

(在 IAM Identity Center 中管理的用户)

使用短期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。

按照您希望使用的界面的说明进行操作:

IAM 使用短期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon 软件开发工具包)。 按照将临时凭证用于 Amazon 资源中的说明进行操作。
IAM 使用长期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。

(不推荐使用)

按照管理 IAM 用户的访问密钥中的说明进行操作。