

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

# AWS STS IAM 身份中心的条件上下文密钥
<a name="condition-context-keys-sts-idc"></a>

当[委托](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal)人向其[提出请求](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-request)时 AWS，会将请求信息 AWS 收集到*请求上下文*中，该上下文用于评估和批准请求。您可以使用 JSON 策略的 `Condition` 元素将请求上下文中的键与您在策略中指定的键值进行比较。请求信息由不同的来源提供，包括发出请求的主体、请求所针对的资源以及有关请求本身的元数据。*服务特定的条件密钥*是为与单个 AWS 服务一起使用而定义的。

IAM Identity Center 包含一个 AWS STS 上下文提供商，允许 AWS 托管应用程序和第三方应用程序为 IAM Identity Center 定义的条件键添加值。这些键包含在 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)中。密钥值是在应用程序向传递令牌时设置的 AWS STS。应用程序通过以下任一方式获取传递给 AWS STS 它的令牌：
+ 使用 IAM Identity Center 进行身份验证的过程中。
+ 在与[可信令牌发布者](using-apps-with-trusted-token-issuer.md#trusted-token-issuer-overview)交换令牌进行可信身份传播之后。在这种情况下，应用程序会从可信令牌发布者中获取令牌，然后将该令牌交换为 IAM Identity Center 中的令牌。

 这些键通常由与可信身份传播集成的应用程序使用。在某些情况下，如果存在键值，则可以使用您创建的 IAM 策略中的这些键来允许或拒绝权限。

例如，您可能想要根据 `UserId` 的值提供对资源的条件访问。此值表示哪个 IAM Identity Center 用户正在使用角色。示例类似于使用 `SourceId`。但是，与 `SourceId` 不同的是，`UserId ` 的值表示身份存储中经过验证的特定用户。此值存在于应用程序获取并传递给 AWS STS的令牌中。并非可以包含任意值的通用字符串。

**Topics**
+ [身份存储：UserId](#condition-keys-identity-store-user-id)
+ [身份存储：IdentityStoreArn](#condition-keys-identity-store-arn)
+ [身份中心：ApplicationArn](#condition-keys-identity-center-application-arn)
+ [身份中心：CredentialId](#condition-keys-identity-center-credential-id)
+ [身份中心：InstanceArn](#condition-keys-identity-center-instance-arn)

## 身份存储：UserId
<a name="condition-keys-identity-store-user-id"></a>

此上下文键是 IAM Identity Center 用户的 `UserId`，该用户是 IAM Identity Center 发布的上下文断言的主体。上下文断言传递给。 AWS STS您可以使用此键将发出请求所代表的 IAM Identity Center 用户的 `UserId` 与您在策略中指定的用户标识符进行比较。
+ **可用性** — 在设置由 IAM Identity Center 发出的上下文断言之后，当使用 AWS CLI 或 AWS STS `AssumeRole` API 操作中的任何 AWS STS `assume-role`命令代入角色时，此密钥将包含在请求上下文中。
+ **数据类型**-[字符串](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ **值类型** - 单值

## 身份存储：IdentityStoreArn
<a name="condition-keys-identity-store-arn"></a>

此上下文键是附加到发布上下文断言的 IAM Identity Center 实例的身份存储的 ARN，也是可供您在其中查找 `identitystore:UserID` 的属性的身份存储。您可以在策略中使用此键确定 `identitystore:UserID` 是否来自预期的身份存储 ARN。
+ **可用性** — 在设置由 IAM Identity Center 发出的上下文断言之后，当使用 AWS CLI 或 AWS STS `AssumeRole` API 操作中的任何 AWS STS `assume-role`命令代入角色时，此密钥将包含在请求上下文中。
+ **数据类型** – [Arn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN)、[字符串](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ **值类型** - 单值

## 身份中心：ApplicationArn
<a name="condition-keys-identity-center-application-arn"></a>

此上下文键是 IAM Identity Center 向其发布上下文断言的应用程序的 ARN。您可以在策略中使用此键确定 `identitycenter:ApplicationArn` 是否来自预期的应用程序。使用此键有助于防止意外应用程序访问 IAM 角色。
+ **可用性**-此密钥包含在 AWS STS `AssumeRole` API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。
+ **数据类型** – [Arn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN)、[字符串](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ **值类型** - 单值

## 身份中心：CredentialId
<a name="condition-keys-identity-center-credential-id"></a>

此上下文键是身份增强型角色凭证的随机 ID，仅用于记录。由于此键值不可预测，建议不要将其用于策略中的上下文断言。
+ **可用性**-此密钥包含在 AWS STS `AssumeRole` API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。
+ **数据类型** – [字符串](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ **值类型** - 单值

## 身份中心：InstanceArn
<a name="condition-keys-identity-center-instance-arn"></a>

此上下文键是为 `identitystore:UserID` 发布上下文断言的 IAM Identity Center 实例的 ARN。您可以使用此键确定 `identitystore:UserID` 和上下文断言是否来自预期的 IAM Identity Center 实例的 ARN。
+ **可用性**-此密钥包含在 AWS STS `AssumeRole` API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。
+ **数据类型** – [Arn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN)、[字符串](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ **值类型** - 单值