

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

# 启用并配置访问控制属性
<a name="configure-abac"></a>

[要使用基于属性的访问权限控制（ABAC），您必须首先在 IAM Identity Center 控制台的**设置**页面或 IAM Identity Center API 中启用它。](https://docs.aws.amazon.com//singlesignon/latest/APIReference/API_CreateInstanceAccessControlAttributeConfiguration.html)无论使用何种身份源，您都可以从身份存储中配置用户属性，用于基于属性的访问控制（ABAC）。在控制台中，您可通过导航至**设置**页面的**访问控制属性**选项卡完成此配置。如果您使用外部身份提供者（IdP）作为身份源，还可以选择通过 SAML 断言接收来自外部 IdP 的属性。在此情况下，您需要配置外部 IdP 以发送所需属性。如果 SAML 断言中的某个属性在 IAM Identity Center 中也被定义为 ABAC 属性，则 IAM Identity Center 会在用户登录 AWS 账户时，将其身份存储中的该属性值作为[会话标签](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_session-tags.html)发送。

**注意**  
您无法从 IAM Identity Center 控制台的**访问控制属性**页面查看外部 IdP 配置和发送的属性。如果您在来自外部 IdP 的 SAML 断言中传递访问控制属性，则当用户进行联合身份验证时，这些属性将直接发送到 AWS 账户 。这些属性在 IAM Identity Center 中不可用于映射。

**Topics**
+ [

# 启用访问控制属性
](enable-abac.md)
+ [

# 选择访问控制属性
](configure-abac-attributes.md)
+ [

# 禁用访问控制属性
](disable-abac.md)

# 启用访问控制属性
<a name="enable-abac"></a>

使用以下过程可使用 IAM Identity Center 控制台启用访问属性 (ABAC) 控制功能。

**注意**  
如果您有现有权限集且计划在 IAM Identity Center 实例中启用 ABAC，则额外的安全限制要求您首先拥有 `iam:UpdateAssumeRolePolicy` 策略。如果您没有在帐户中创建任何权限集，则不需要这些额外的安全限制。  
如果您的 IAM Identity Center 实例是在 2020 年 12 月之前创建的，并且您计划在其中启用 ABAC，则无论您的账户中是否创建了权限集，都必须将`iam:UpdateAssumeRolePolicy`策略与 IAM Identity Center 管理角色相关联。

**启用访问控制的属性**

1. 打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 选择 **设置**

1. 在**设置**页面上，找到**访问控制属性** 框，然后选择**启用**。继续执行下一个步骤以对其进行配置。

# 选择访问控制属性
<a name="configure-abac-attributes"></a>

按照以下过程为 ABAC 配置设置 ABAC 配置属性。

**使用 IAM Identity Center 控制台选择您的属性**

1. 打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 选择 **设置**

1. 在**设置**页面上，选择**访问控制的属性**选项卡，然后选择**管理属性**。

1. 在**访问控制的属性**页面上，选择**添加属性**并输入**键**和**值**的详细信息。在这里，您可以将来自您的身份源的属性映射到 IAM Identity Center 作为会话标签传递的属性。  
![\[IAM Identity Center 控制台中的键值详细信息。\]](http://docs.aws.amazon.com/zh_cn/singlesignon/latest/userguide/images/abac_key_value.png)

   **密钥**表示您为该属性提供的名称，以便在策略中使用。这可以是任意名称，但您需要在为访问控制编写的策略中指定该确切名称。例如，假设您使用Okta（外部 IdP）作为身份源，并且需要将组织的成本中心数据作为会话标签传递。在 **Key** 中，您可以输入与密钥名称类似**CostCenter**的匹配名称。需要注意的是，无论您在此处选择哪个名称，它都必须与您的 `aws:PrincipalTag 条件键`（即 `"ec2:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}"`）中的名称完全相同。
**注意**  
对您的密钥使用单值属性，例如 **Manager**。IAM Identity Center 不支持 ABAC 的多值属性，例如 **Manager, IT Systems**。

   **值**表示来自您配置的身份源的属性内容。您可以在此处输入在 [IAM Identity Center 与外部身份提供者目录之间的属性映射](attributemappingsconcept.md) 中列出的相应身份源表中的任何值。例如，使用上述示例中提供的上下文，您可以查看受支持的 IdP 属性列表，并确定受支持属性的最接近匹配项是 **`${path:enterprise.costCenter}`**，然后输入在**值**字段中。请参阅上面提供的屏幕截图以供参考。请注意，除非您使用通过 SAML 断言传递属性的选项，否则不能使用 ABAC 列表之外的外部 IdP 属性值。

1. 选择**保存更改**。

现在您已经配置了访问控制属性的映射，接下来需要完成 ABAC 配置过程。为此，请创建您的 ABAC 规则并将其添加到您的权限集 and/or 基于资源的策略中。这是必需的，这样您才能向用户身份授予对 AWS 资源的访问权限。有关更多信息，请参阅 [在 IAM Identity Center 中为 ABAC 创建权限策略](configure-abac-policies.md)。

# 禁用访问控制属性
<a name="disable-abac"></a>

使用以下过程禁用 ABAC 功能并删除所有已配置的属性映射。

**禁用访问控制的属性**

1. 打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 选择**设置**。

1. 在**设置**页面上，选择**访问控制的属性**选项卡，然后选择**管理属性**。

1. 在**管理访问控制属性**页面，选择**禁用**。

1. 在**禁用访问控制属性**对话框中，查看相关信息，准备就绪后输入 **DISABLE**，然后选择**确认**。
**重要**  
此步骤将删除所有属性，并停止在联合登录 AWS 账户 时使用属性进行访问控制，无论外部身份源提供者的 SAML 断言中是否包含任何属性。