

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

# 访问控制属性
<a name="attributesforaccesscontrol"></a>

**访问控制属性**是 IAM Identity Center 控制台中的页面名称，您可以在其中选择要在策略中使用的用户属性来控制对资源的访问。您可以 AWS 根据用户身份源中的现有属性将用户分配给中的工作负载。

例如，假设您想要根据部门名称分配对 S3 桶的访问权限。在**访问控制属性**页面上，您可以选择**部门**用户属性以与基于属性的访问权限控制（ABAC）结合使用。然后，您可以在 IAM Identity Center 权限集中编写一个策略，仅当**部门**属性与您分配给 S3 桶的部门标签匹配时才授予用户访问权限。IAM Identity Center 将用户的部门属性传递给正在访问的帐户。然后，该属性用于根据策略确定访问。当 IAM Identity Center 将这些属性传递给账户时，它们将作为会话标签发送，您可以使用所有相关 AWS IAM 策略类型中的`aws:PrincipalTag/{{tag-key}}`条件密钥来引用这些标签。有关 ABAC 的更多信息，请参阅[基于属性的访问控制](abac.md)。

## 开始使用
<a name="abac-getting-started"></a>

如何开始配置访问控制属性取决于您使用的身份源。无论您选择哪种身份源，在选择属性后，您都需要创建或编辑权限集策略。这些策略必须授予用户身份访问 AWS 资源的权限。

### 使用 IAM Identity Center 作为身份源时选择属性
<a name="abac-getting-started-sso"></a>

当您将 IAM Identity Center 配置为身份源时，您首先添加用户并配置其属性。接下来，导航到**访问控制的属性**页面，然后选择要在策略中使用的属性。最后，导航到 **AWS 账户** 页面以创建或编辑权限集以使用 ABAC 的属性。

### 在 AWS Managed Microsoft AD 用作身份来源时选择属性
<a name="abac-getting-started-ms-ad"></a>

当您将 IAM 身份中心配置 AWS Managed Microsoft AD 为身份源时，首先要将 Active Directory 中的一组属性映射到 IAM Identity Center 中的用户属性。接下来，导航到**访问控制的属性**页面。然后，根据从 Active Directory 映射的现有 SSO 属性集选择要在 ABAC 配置中使用的属性。最后，作者使用权限集中的访问控制属性来编写 ABAC 规则，以授予用户身份对 AWS 资源的访问权限。有关 IAM Identity Center 中用户属性与 AWS Managed Microsoft AD 目录中用户属性的默认映射列表，请参阅[IAM Identity Center 与 Microsoft AD 之间的默认映射](attributemappingsconcept.md#defaultattributemappings)。

### 使用外部身份提供者作为身份源时选择属性
<a name="abac-getting-started-idp"></a>

当您使用外部身份提供者（IdP）作为身份源配置 IAM Identity Center 时，有两种方法可以使用 ABAC 的属性。
+ **在 IAM 身份中心控制台中配置属性映射。**您可以在 IAM Identity Center 控制台的**访问控制属性**页面上将 IAM 身份中心目录中的属性映射到会话标签。您在此处选择的属性值源自 Identity Center 目录，用于替换通过 SAML 断言来自 IdP 的任何匹配属性的值。根据您是否使用 SCIM，请考虑以下事项：
  + 如果使用 SCIM，IdP 会自动将属性值同步到 IAM Identity Center。然后，您可以在 “**访问控制的属性**” 页面上选择这些同步属性，将其用作会话标记。
  + 如果您不使用 SCIM，则必须手动添加用户并设置其属性，就像使用 IAM Identity Center 作为身份源一样。接下来，导航到**访问控制的属性**页面，然后选择要在策略中使用的属性。
+ **通过 SAML 断言传递来自 IdP 的属性。**您可以将 IdP 配置为通过 SAML 断言将属性作为会话标签发送。为此，请将您的 IdP 配置为发送 SAML 断言，并将属性名称设置为`https://aws.amazon.com/SAML/Attributes/AccessControl:{{TagKey}}`，替换为要填{{TagKey}}充的会话标签密钥。IAM Identity Center 将来自 IdP 的属性名称和值传递给策略评估。

  **对于通过外部 IdP 的 SAML 断言传入的属性，无需在 “访问控制**的属性” 页面上配置 ABAC 属性映射。但是，如果您在 “**访问控制的属性**” 页面上为同一属性配置 ABAC 映射，则身份中心目录中的映射优先，并替换您的 IdP 在 SAML 断言中发送的值。
**注意**  
SAML 断言中的属性在**访问控制属性**页面上对您不可见。您必须提前了解这些属性，并在编写策略时将它们添加到访问控制规则中。如果您决定信任外部 IdPs 的属性，那么当用户联合到 AWS 账户时，这些属性将始终被传递。有关如何在 IdP 中配置进行访问控制的用户属性以通过 SAML 断言发送的信息，请参阅 IdP [IAM Identity Center 身份源教程](tutorials.md)。

有关 IAM Identity Center 中的用户属性与外部用户属性的支持属性的完整列表 IdPs，请参阅[支持的外部身份提供商属性](attributemappingsconcept.md#supportedidpattributes)。

要开始在 IAM Identity Center 中使用 ABAC，请参阅以下主题。

**Topics**
+ [开始使用](#abac-getting-started)
+ [启用并配置访问控制属性](configure-abac.md)
+ [在 IAM Identity Center 中为 ABAC 创建权限策略](configure-abac-policies.md)