

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

# 在 IAM Identity Center 中为 ABAC 创建权限策略
<a name="configure-abac-policies"></a>

您可以创建权限策略，根据配置的属性值确定谁可以访问您的 Amazon 资源。当您启用 ABAC 并指定属性时，IAM Identity Center 会将经过身份验证的用户的属性值传递到 IAM，以便在策略评估中使用。

## aws:PrincipalTag 条件键
<a name="abac-principaltag"></a>

您可以使用权限集中的访问控制属性，并使用 `aws:PrincipalTag` 条件密钥创建访问控制规则。例如，在以下策略中，您可以使用各自的成本中心标记组织中的所有资源。您还可以使用单个权限集来授予开发人员访问其成本中心资源的权限。现在，每当开发人员使用单点登录及其成本中心属性对账号进行联合身份验证时，他们只能访问各自成本中心中的资源。随着团队向其项目添加更多开发人员和资源，您只需使用正确的成本中心标记资源即可。然后，当开发人员联合进入 Amazon Web Services 账户时，您可以在会 Amazon 话中传递成本中心信息。因此，当组织向成本中心添加新资源和开发人员时，开发人员可以管理与其成本中心一致的资源，而无需任何权限更新。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}"
                }
            }
        }
    ]
}
```

------

当用户 Amazon Web Services 账户 通过 IAM 身份中心联合身份中心时，配置的访问控制属性将作为会话标签传递。您可以使用`aws:PrincipalTag/{{tag-key}}`条件键在策略中引用这些会话标签。所有相关的 Amazon IAM 策略类型都支持此条件密钥，您可以在其中使用条件，包括基于身份的策略、基于资源的策略、权限边界、服务控制策略 (SCPs) 和 VPC 终端节点策略。这使您能够根据整个 Amazon 环境中的用户属性做出精细的访问控制决策。

有关更多信息，请参阅 *IAM 用户指南*中的[https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag)和 [EC2：根据匹配的主体和资源标签启动或停止实例](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_examples_ec2-start-stop-match-tags.html)。

如果策略的条件中包含无效属性，则策略条件将失败并且访问将被拒绝。有关更多信息，请参阅 [当用户尝试使用外部身份提供者登录时显示错误信息“出现意外错误”](troubleshooting.md#issue8)。