AWS IAM 身份中心 - AWS 规范性指导

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

AWS IAM 身份中心

AWS IAM IAM Identity Center 提供了一个地方来创建或连接不断增长的员工身份,并集中管理这些身份在 AWS 环境中的安全访问。您可以与 AWS Organizations 一起启用 IAM 身份中心。推荐使用这种方法来集中管理访问您的 AWS 组织内的多个 AWS 账户和 AWS 托管的应用程序。

AWS 托管服务,包括 Amazon Q、Amazon Q Developer、Amazon SageMaker Studio 和亚马逊 QuickSight,集成并使用 IAM 身份中心进行身份验证和授权。您只需将自己的身份源连接到 IAM Identity Center 一次,即可管理员工对所有已上载 A WS 托管应用程序的访问权限。必须先将现有公司目录中的身份(例如微软 Entra ID、Okta、Google Workspace 和 Microsoft Active Directory)配置到 IAM Identity Center 中,然后才能查找用户或群组以授予他们对 AWS 托管服务的单点登录访问权限。IAM Identity Center 还支持特定于应用程序的、以用户为中心的体验。例如,Amazon Q 的用户在从一项 Amazon Q 集成服务转移到另一项集成了 Amazon Q 的服务时会体验到连续性。

注意

您可以单独使用 IAM 身份中心功能。例如,您可以选择仅使用身份中心来管理对 Amazon Q 等 AWS 托管服务的访问权限,同时使用直接账户联合和 IAM 角色来管理对您的 AWS 账户的访问权限。

可信身份传播为需要访问 AWS 服务中数据的查询工具和商业智能 (BI) 应用程序的用户提供了简化的单点登录体验。数据访问管理基于用户的身份,因此管理员可以根据用户的现有用户和群组成员资格授予访问权限。可信身份传播建立在 OAuth 2.0 授权框架之上,该框架允许应用程序在不共享密码的情况下安全地访问和共享用户数据。 

与可信身份传播集成的 AWS 托管服务,例如 Amazon Redshift 查询编辑器 v2、亚马逊 EMR 和 QuickSight亚马逊,可以直接从 IAM 身份中心获取令牌。IAM Identity Center 还为应用程序提供了一个选项,用于交换来自外部 OAuth 2.0 授权服务器的身份令牌和访问令牌。用户对 AWS 服务和其他事件的访问记录在服务特定的日志和 CloudTrail 事件中,因此审计员可以知道用户采取了哪些操作以及他们访问了哪些资源。

要使用可信身份传播,您必须启用 IAM Identity Center,并预置用户和组。我们建议您使用 IAM 身份中心的组织实例。

注意

可信身份传播不需要您设置多账户权限(权限集)。您可以启用 IAM Identity Center,仅将其用于可信身份传播。

有关更多信息,请参阅使用可信身份传播的先决条件和注意事项,并查看可以启动身份传播的应用程序支持的特定用例

AWS 访问门户为经过身份验证的用户提供对其 AWS 账户和云应用程序的单点登录访问权限。您还可以使用从 AWS 访问门户生成的证书来配置 AWS CLI 或 A W S 开发工具包对您的 AWS 账户中资源的访问权限。这可以帮助您避免使用长期凭证进行编程访问,从而显著降低凭证被泄露的可能性并改善您的安全状况。

您还可以使用 IAM Identity Center 自动管理账户和应用程序访问权限 APIs。

IAM 身份中心与 AWS 集成 CloudTrail,AWS 提供用户在 IAM 身份中心所执行操作的记录。 CloudTrail 记录 API 事件,例如 CreateUserAPI 调用,当使用跨域身份管理系统 (SCIM) 协议手动创建、配置用户或将用户从外部 IdP 同步到 IAM 身份中心时,会记录该事件。 中记录的每个事件或日志条目都 CloudTrail 包含有关谁生成请求的信息。 此功能可帮助您识别可能需要进一步调查的意外更改或活动。有关中支持的 IAM 身份中心操作的完整列表 CloudTrail,请参阅 IAM 身份中心文档。

将您现有的身份源连接到 IAM 身份中心

身份联合是构建访问控制系统的常用方法,该系统使用中央 IdP 管理用户身份验证,并管理他们对充当服务提供者的多个应用程序和服务的访问权限()SPs。IAM Identity Center 使您可以灵活地从现有企业身份来源获取身份,包括 Okta、Microsoft Entra ID、Ping、Google Workspace、、 JumpCloud OneLogin、本地 Active Directory 以及任何与 SAML 2.0 兼容的身份源。

建议采用将现有身份源连接到 IAM Identity Center 的方法,因为它可以让您的员工在各种 AWS 服务中获得单点登录访问权限和一致的体验。最佳做法是从一个位置管理身份,而不是维护多个来源。IAM Identity Center 支持使用 SAML 2.0 进行身份联合,SAML 2.0 是一种开放的身份标准,允许 IAM 身份中心对来自外部 IdPs的用户进行身份验证。 IAM 身份中心还为 SCIM v2.0 标准提供支持。该标准允许在任何支持的外部 IdPs和 IAM 身份中心之间自动配置、更新和取消配置用户和群组,但 Google Workspace 除外,Google Workspace 和 PingOne目前仅支持通过 SCIM 配置用户。

您也可以将其他基于 SAML 2.0 的 SAML 2.0 外部连接到 IAM I IdPs dentity Center,前提是它们符合特定标准和注意事项。

你也可以将现有的微软 Active Directory 连接到 IAM 身份中心。此选项允许您使用 AWS Directory Service 同步现有 Microsoft Active Directory 中的用户、群组和群组成员资格。此选项适用于已经在管理身份的大型企业,无论是在位于内部的自我管理的 Active Directory 中还是 AWS 托管 Microsoft AD 中的目录中。您可以将 AWS 托管 Microsoft AD 中的目录连接到 IAM 身份中心。 您还可以通过建立双向信任关系将 Act ive Directory 中的自我管理目录连接到 IAM 身份中心,允许 IAM Identity Center 信任您的域进行身份验证。另一种方法是使用 AD Connec tor,这是一个目录网关,可以将目录请求重定向到您自行管理的 Active Directory,而无需在云中缓存任何信息。下图说明了此选项。

使用 AD Connector 和双向信任同步本地活动目录中的身份

优点

  • 将您的现有身份源连接到 IAM Identity Center,以简化访问流程,为各种 AWS 服务的员工提供一致的体验。

  • 高效管理员工对 AWS 应用程序的访问权限。您可以通过 IAM Identity Center 提供来自您的身份源的用户和群组信息,从而更轻松地管理和审核用户对 AWS 服务的访问权限。 

  • 提高对用户访问 AWS 服务中数据的控制和可见性。您可以允许将用户身份环境从您的商业智能工具转移到您使用的 AWS 数据服务,同时继续使用您选择的身份源和其他 AWS 访问管理配置。

  • 管理员工对多账户 AWS 环境的访问权限。您可以将 IAM Identity Center 与现有身份源一起使用,也可以创建新目录,并管理员工对部分或全部 AWS 环境的访问权限。

  • 通过设置对 AWS 管理控制台的紧急访问权限,在启用了 IAM Identity Center 的 AWS 区域发生服务中断时,提供额外的保护。

服务考虑
设计注意事项
  • 您可以一次在单个 AWS 区域中启用 IAM 身份中心实例。当您启用 IAM Identity Center 时,它会控制从主区域对其权限集和集成应用程序的访问权限。这意味着,如果该地区的 IAM Identity Center 服务出现中断,用户将无法登录访问账户和应用程序。为了提供额外的保护,我们建议您使用基于 SAML 2.0 的联合身份验证来设置对 AWS 管理控制台的紧急访问权限

    注意

    如果您使用第三方外部 IdP 作为身份源,并且在 IAM 服务数据平面和外部 IdP 可用时有效,则此紧急访问建议适用。

  • 如果您使用 Active Directory 或在 IAM 身份中心创建用户,请遵循标准的 AWS 漏洞指南。

  • 如果您计划使用 AD Connector 将您的本地 Active Directory 连接到 IAM 身份中心,请考虑 AD Connector 与您的 Active Directory 域存在 one-on-one信任关系,并且不支持传递信任。这意味着 IAM 身份中心只能访问附加到您创建的 AD Connector 的单个域中的用户和群组。如果您需要支持多个域或林,请使用 AWS 托管 Microsoft AD。

  • 如果您使用的是外部 IdP,则多因素身份验证 (MFA) 由外部 IdP 管理,而不是在 IAM 身份中心管理。只有当您的身份源配置了 IAM 身份中心的身份存储、AWS 托管 Microsoft AD 或 AD Connector 时,IAM 身份中心才支持 MFA 功能。 

在 AWS 中创建和管理身份

我们建议您将 IAM 身份中心与外部 IdP 配合使用。但是,如果您没有现有 IdP,则可以在 IAM Identity Center 目录中创建和管理用户和群组,该目录是该服务的默认身份源。下图说明了此选项。它比在每个 AWS 账户中为员工用户创建 IAM 用户或角色更受青睐。有关更多信息,请参阅 IAM 身份中心文档。 

在 AWS 中创建和管理身份
服务注意事项
  • 当您在 IAM Identity Center 中创建和管理身份时,您的用户必须遵守默认密码策略,该策略不可修改。如果您想为自己的身份定义和使用自己的密码策略,请将您的身份源更改为 Active Directory 或外部 IdP。

  • 在 IAM Identity Center 中创建和管理身份时,请考虑规划灾难恢复。IAM Identity Center 是一项区域服务,旨在跨多个可用区运行,以抵御可用区的故障。但是,如果启用您的 IAM 身份中心的地区出现中断,您将无法实施和使用 AWS 推荐的紧急访问设置,因为包含您的用户和群组的 IAM Identity Center 目录也将受到该区域中断的影响。要实现灾难恢复,您需要将身份源更改为外部 SAML 2.0 IdP 或 Active Directory。

设计注意事项

IAM 身份中心的一般设计注意事项

  • IAM Identity Center 支持基于属性的访问控制 (ABAC),这是一种授权策略,允许您使用属性创建精细权限。有两种方法可以将访问控制属性传递给 IAM 身份中心:

    • 如果您使用的是外部 IdP,则可以使用前缀直接在 SAML 断言中传递属性。https://aws.amazon.com/SAML/Attributes/AccessControl

    • 如果您使用 IAM Identity Center 作为身份源,则可以添加和使用 IAM Identity Center 身份存储中的属性。

    • 要在所有情况下使用 ABAC,您必须先在 IAM I dentity Center 控制的访问控制属性页面上选择访问控制属性。要使用 SAML 断言传递它,必须将 IdP 中的属性名称设置为。https://aws.amazon.com/SAML/Attributes/AccessControl:<AttributeName> 

    • 在 IAM Identity Center 控制台的 “访问控制属性” 页面上定义的属性优先于通过 IdP 的 SAML 断言传递的属性。如果您只想使用从 SAML 断言传递的属性,请不要在 IAM Identity Center 中手动定义任何属性。在 IdP 或 IAM Identity Center 中定义属性后,您可以使用 a ws: PrincipalTag 全局条件键在权限集中创建自定义权限策略。这样可以确保只有具有与您的资源标签相匹配的属性的用户才能访问您的 AWS 账户中的这些资源。

  • IAM Identity Center 是一项员工身份管理服务,因此它需要人为交互才能完成编程访问的身份验证过程。如果您需要短期凭证进行 machine-to-machine身份验证,请查看 AWS 中工作负载的 Amazon EC2 实例配置文件或 AWS 以外工作负载的 IAM Anywhere 角色

  • IAM 身份中心允许您访问组织内的 AWS 账户中的资源。但是,如果您想通过使用 IAM Identity Center 为外部账户(即组织外部的 AWS 账户)提供单点登录访问权限,而不邀请这些账户加入您的组织,则可以在 IAM Identity Center 中将外部账户配置为 SAML 应用程序

  • IAM Identity Center 支持与临时提升的访问权限管理 (TEAM) 解决方案(也称为 just-in-time访问权限)集成。此集成可为您的多账户 AWS 环境提供有时限的高级访问权限。临时提升的访问权限允许用户请求访问权限,以便在特定时间段内执行特定任务。审批者审阅每份申请并决定是批准还是拒绝该申请。IAM Identity Center 既支持受支持的 AWS 安全合作伙伴提供的供应商托管的 TEAM 解决方案,也支持自行管理的解决方案,您可以维护和定制这些解决方案,以满足您有时限的访问要求。