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

委派管理

委派管理为注册成员帐户中的分配用户提供了一种便捷的方式,来执行大多数 IAM Identity Center 管理任务。默认情况下,启用 IAM Identity Center 后,将在 Amazon Organizations 中的管理帐户中创建您的 IAM Identity Center 实例。最初是这样设计的,以便 IAM Identity Center 可以在组织的所有成员帐户中配置、取消配置和更新角色。尽管您的 IAM Identity Center 实例必须始终驻留在管理帐户中,您也可以选择将 IAM Identity Center 的管理委派给 Amazon Organizations 中的成员帐户,从而扩展从管理帐户外部管理 IAM Identity Center 的能力。

启用委派管理具有以下优势:

  • 最大限度地减少需要访问管理帐户的人员数量,以帮助缓解安全问题

  • 允许选定的管理员将用户和组分配给应用程序和组织的成员帐户

有关如何结合使用 IAM Identity Center 和 Amazon Organizations 的更多信息,请参阅 配置 Amazon Web Services 账户的访问权限。要了解更多信息并查看展示如何配置委派管理的公司情景的示例,请参阅Amazon安全博客中的开始使用 IAM Identity Center 委派管理

最佳实践

以下是配置委派管理之前需要考虑的一些最佳实践:

  • 向管理帐户授予最小权限 – 我们知道管理帐户是一个高权限帐户,为了遵守最小权限原则,我们强烈建议您将管理帐户的访问权限限制为尽可能少的人。委派管理员功能旨在最大限度地减少需要访问管理帐户的人数。您还可以考虑使用临时提升权限,仅在需要时授予访问权限。

  • 为管理账户配置专用权限集 - 为管理账户使用专用的权限集。出于安全考虑,用于访问管理账户的权限集只能由管理账户中的 IAM Identity Center 管理员修改。委派管理员无法更改管理账户中配置的权限集。

  • 仅向管理账户的权限集分配用户(而非组) - 由于管理账户具有特殊权限,在控制台或 Amazon Command Line Interface(CLI)中为该账户分配访问权限时必须格外谨慎。如果您将组分配到具有管理账户访问权限的权限集,任何有权修改这些组成员身份的人员都可以添加/移除组成员,进而影响管理账户的访问权限归属。这包括任何对您的身份源拥有控制权的组管理员,例如身份提供者(IdP)管理员、Microsoft Active Directory 域服务(AD DS)管理员或 IAM Identity Center 管理员。因此,您应将用户直接分配到授予管理账户访问权限的权限集,避免使用组分配。如果您确实需要使用组管理对管理账户的访问权限,请确保在 IdP 中设置适当的控制措施,限制有权修改这些组的人员,并确保对这些组的更改(或管理账户中用户凭据的更改)被记录并根据需要进行审核。

  • 考虑您的 Active Directory 位置 – 如果您计划使用 Active Directory 作为 IAM Identity Center 身份源,请在启用了 IAM Identity Center 委派管理员功能的成员帐户中找到该目录。如果您决定将 IAM Identity Center 身份来源从任何其他来源更改为 Active Directory,或者将其从 Active Directory 更改为任何其他来源,则该目录必须驻留在 IAM Identity Center 委派管理员成员账户中。如果您希望将 Active Directory 部署在管理账户中,则必须在管理账户中完成设置,因为委托管理员没有完成该操作所需的权限。

限制使用外部身份源的委托管理账户中的 IAM Identity Center 身份存储操作

如果您使用 IdP 或 Amazon Directory Service 等外部身份源,应实施相关策略,限制 IAM Identity Center 管理员从委托管理账户中执行的身份存储操作。应谨慎对待写入和删除操作。通常,外部身份源是用户及其属性以及组成员身份的权威来源。如果您通过身份存储 API 或控制台修改这些信息,您的更改将在正常同步周期中被覆盖。最好将这些操作交由您的权威身份源独家控制。这还可以防止 IAM Identity Center 管理员通过修改组成员身份来授予对组分配的权限集或应用程序的访问权限,确保组成员身份控制权保留在 IdP 管理员手中。您还应限制谁可以从委托管理账户创建 SCIM 承载令牌,因为这些令牌可能允许成员账户管理员通过 SCIM 客户端修改组和用户。

某些情况下,从委托管理账户执行写入或删除操作可能是合适的。例如,您可以创建一个不含成员的组,然后向权限集分配该组,而无需等待 IdP 管理员创建该组。在 IdP 管理员配置该组且 IdP 同步过程完成组成员设置之前,无人能通过该分配获得访问权限。此外,如果您无法等待 IdP 同步过程移除用户或组的访问权限,临时删除该用户或组以阻止登录或授权可能也是合适的。但滥用此权限可能会对用户造成影响。分配身份存储权限时,应遵循最低权限原则。您可以通过服务控制策略(SCP)控制委托管理账户管理员可执行的身份存储操作。

以下 SCP 示例可阻止通过身份存储 API 和 Amazon Web Services 管理控制台 向组分配用户,这在使用外部身份源时建议配置。这不会影响来自 Amazon Directory Service 或外部 IdP(通过 SCIM)的用户同步。

注意

即使您使用外部身份源,您的组织也可能完全或部分依赖身份存储 API 来配置用户和组。因此,在激活此 SCP 之前,您应确认您的用户配置流程不使用此身份存储 API 操作。有关如何将组成员身份管理限制到特定组的信息,请参阅下一节。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": ["identitystore:CreateGroupMembership"], "Resource": [ "*" ] } ] }

如果您希望仅阻止向授予管理账户访问权限的组添加用户,可通过以下格式的组 ARN 引用这些特定组:arn:${Partition}:identitystore:::group/${GroupId}。身份存储中支持的此资源类型及其他资源类型,请参阅《服务授权参考》中 Amazon Identity Store 定义的资源类型。您还可以考虑在 SCP 中包含其他身份存储 API。有关更多信息,请参阅《Identity Store API 参考》中的操作

通过向 SCP 添加以下策略语句,可阻止委托管理员创建 SCIM 承载令牌。此配置适用于两种外部身份源场景。

注意

如果您的委托管理员需要通过 SCIM 配置用户预置,或执行定期的 SCIM 承载令牌轮换,则需要临时允许访问此 API,以便委托管理员完成这些任务。

{ "Effect": "Deny", "Action": ["sso-directory:CreateBearerToken"], "Resource": [ "*" ] }

限制本地管理用户的委托管理账户中的 IAM Identity Center 身份存储操作

如果您直接在 IAM Identity Center 中创建用户和组(而非使用外部 IdP 或 Amazon Directory Service),则应采取防护措施,限制谁可以创建用户、重置密码和控制组成员身份。这些操作赋予管理员极大的权限,可决定谁能登录以及谁能通过组成员身份获得访问权限。这些策略最好作为内嵌策略配置在您为 IAM Identity Center 管理员使用的权限集中,而非以 SCP 形式实施。以下内嵌策略示例具有两个目标。首先,阻止向特定组添加用户。您可通过此策略防止委托管理员向授予管理账户访问权限的组添加用户。其次,阻止颁发 SCIM 承载令牌。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": ["identitystore:CreateGroupMembership"], "Resource": [ arn:${Partition}:identitystore:::group/${GroupId1}, arn:${Partition}:identitystore:::group/${GroupId2} ] } ], { "Effect": "Deny", "Action": ["sso-directory:CreateBearerToken"], "Resource": [ "*" ] } ] }

分离 IAM Identity Center 配置管理与权限集管理

通过在管理账户中创建独立的管理员权限集,将外部身份源修改、SCIM 令牌管理、会话超时配置等管理任务,与权限集的创建、修改和分配任务分离。

限制 SCIM 承载令牌的颁发

当 IAM Identity Center 的身份源为 Okta 或 Entra ID 等外部 IdP 时,SCIM 承载令牌允许外部身份源通过 SCIM 协议配置用户、组和组成员身份。您可配置以下服务控制策略(SCP),防止委托管理员创建 SCIM 承载令牌。如果您的委托管理员需要通过 SCIM 配置用户预置,或执行定期的 SCIM 承载令牌轮换,则需临时允许访问此 API,以便委托管理员完成相关任务。

{ "Effect": "Deny", "Action": ["sso-directory:CreateBearerToken"], "Resource": [ "*" ] }

使用权限集标签和账户列表委托特定账户的管理权限

您可创建权限集并分配给 IAM Identity Center 管理员,以委托谁能创建权限集,以及谁能在哪些账户中分配哪些权限集。此操作通过为权限集添加标签,并在分配给管理员的权限集中设置策略条件实现。例如,您可创建权限集,允许用户创建带有特定标签的权限集。您还可创建策略,允许管理员在指定账户中分配带有特定标签的权限集。这有助于您委托账户管理权限,同时避免授予管理员修改其自身在委托管理账户中访问权限的特权。例如,通过为仅在委托管理账户中使用的权限集添加标签,您可指定策略,仅允许特定人员修改影响委托管理账户的权限集和分配。您还可授予其他人管理委托管理账户之外的账户列表的权限。有关更多信息,请参阅《Amazon 安全博客》中的在 Amazon IAM Identity Center 中委托权限集管理和账户分配

先决条件

在将帐户注册为委派管理员之前,必须先部署以下环境:

  • Amazon Organizations除了您的默认管理帐户外,还必须启用并配置至少一个成员帐户。

  • 如果您的身份源设置为 Active Directory,则必须启用 IAM Identity Center 可配置 AD 同步 功能。