View a markdown version of this page

AWS Control Tower 中的 Identity and Access Management - AWS Control Tower

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Control Tower 中的 Identity and Access Management

要在着陆区执行任何操作,例如在账户工厂中预置账户或在 AWS Control Tower 控制台中创建新的组织单位 (OU),可以 AWS Identity and Access Management (IAM) 或 AWS IAM Identity Center 要求您验证自己是经批准的 AWS 用户。例如,如果您使用的是 AWS Control Tower 控制台,请提供管理员提供的 AWS 凭证来验证您的身份。

在您对身份进行身份验证后,IAM 会 AWS 使用一组特定操作和资源的定义权限控制您的访问权限。如果您是账户管理员,则可使用 IAM 控制其他 IAM 用户对与您的账户关联的资源的访问。

身份验证

您可以访问 AWS 以下任何类型的身份:

  • AWS 账户根用户 — 首次创建 AWS 账户时,您首先要有一个可以完全访问该账户中所有 AWS 服务和资源的身份。此身份称作 AWS 账户根用户。当使用创建账户所用的电子邮件地址和密码登录时,您可以获得此身份。强烈建议您不使用根用户执行日常任务,即使是管理任务。相反,请遵循相关最佳实践,仅使用根用户创建您的首个 IAM Identity Center 用户(推荐)或 IAM 用户(在大多数使用案例中并非最佳实践)。然后请妥善保存根用户凭证,仅用它们执行少数账户和服务管理任务。有关更多信息,请参阅 何时以根用户身份登录。

  • IAM 用户 — I AM 用户是您的 AWS 账户内具有特定自定义权限的身份。您可以使用 IAM 用户证书登录安全 AWS 网页,例如 AWS 管理控制台、 AWS 讨论论坛或 AWS 支持中心。 AWS 最佳实践建议您创建 IAM 身份中心用户而不是 IAM 用户,因为创建具有长期证书的 IAM 用户会带来更大的安全风险。

    如果您必须出于特定目的创建 IAM 用户,除了登录凭证外,还可以为每个 IAM 用户生成访问密钥。您可以通过编程方式调用 AWS 服务时使用这些密钥,可以是通过多个软件开发工具包中的一个,也可以使用 AWS 命令行界面 (CLI)。SDK 和 CLI 工具使用访问密钥对您的请求进行加密签名。如果您不使用 AWS 工具,则必须自己签署请求。AWS Control Tower 支持签名版本 4,这是用于对入站 API 请求进行身份验证的协议。有关对请求进行身份验证的更多信息,请参阅《 AWS 一般参考》中的签名版本 4 签名流程。

  • IAM 角色 – IAM 角色是可在账户中创建的一种具有特定权限的 IAM 身份。IAM 角色与 IAM 用户类似,因为它是一种 AWS 身份,其权限策略决定该身份可以在其中做什么和不能做什么 AWS。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。具有临时凭证的 IAM 角色在以下情况下很有用:

    • 联合用户访问权限 — 您可以使用企业用户目录或 Web 身份提供商的 Directory Service现有身份,而不是创建 IAM 用户。这些用户被称为联合用户。 AWS 当通过身份提供者请求访问权限时,向联合用户分配角色。有关联合用户的更多信息,请参阅《IAM 用户指南》中的联合用户和角色。

    • AWS 服务访问权限 — 服务角色是服务代您执行账户操作的 IAM 角色。在设置某些 AWS 服务环境时,必须定义服务代入的角色。此服务角色必须包括服务访问其所需 AWS 资源所需的所有权限。服务角色因服务而异,但只要您满足服务记录在案的要求,许多服务都允许您选择权限。服务角色只在您的账户内提供访问权限,不能用于为访问其它账户中的服务授权。您可以从 IAM 中创建、修改和删除服务角色。例如,您可以创建一个角色以允许 Amazon Redshift 代表您访问 Amazon S3 存储桶,然后将该存储桶中的数据加载到 Amazon Redshift 集群中。有关更多信息,请参阅 IAM 用户指南中的创建向 AWS 服务委派权限的角色。

    • 在 Amazon EC2 上运行的应用程序 — 您可以使用 IAM 角色管理在 Amazon EC2 实例上运行并发出 AWS CLI 或 AWS API 请求的应用程序的临时证书。这优先于在 Amazon EC2 实例中存储访问密钥。要为 Amazon EC2 实例分配 AWS 角色并使其可供其所有应用程序使用,您需要创建一个附加到该实例的实例配置文件。实例配置文件包含角色,并使 Amazon EC2 实例上运行的程序能够获得临时凭证。有关更多信息,请参阅 IAM 用户指南中的 使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限。

  • IAM Identity Center 用户 - 访问 IAM Identity Center 用户门户的身份验证由您连接到 IAM Identity Center 的目录控制。但是,对用户门户内可供最终用户使用的 AWS 帐户的授权取决于两个因素:

    • 在 AWS IAM 身份中心控制台中,谁被分配了对这些 AWS 账户的访问权限。有关更多信息,请参阅《AWS IAM Identity Center 用户指南》中的单一 Sign-On 访问。

    • 在 AWS IAM Identity Center 控制台中向最终用户授予了何种级别的权限,以允许其对这些 AWS 账户进行适当的访问。有关更多信息,请参阅《AWS IAM Identity Center 用户指南》中的 Permission Sets。

访问控制

要创建、更新、删除或列出 AWS Control Tower AWS 资源或登录区域中的其他资源,您需要执行操作的权限,并且需要访问相应资源的权限。此外,要以编程方式执行该操作,您需要有效的访问密钥。

下面几部分介绍如何管理 AWS Control Tower 的权限: