IAM Identity Center 的 AWS STS 条件上下文键 - AWS IAM Identity Center

IAM Identity Center 的 AWS STS 条件上下文键

主体向 AWS 发出请求时,AWS 会将请求信息收集到请求上下文中,用于评估并授权请求。您可以使用 JSON 策略的 Condition 元素将请求上下文中的键与您在策略中指定的键值进行比较。请求信息由不同的来源提供,包括发出请求的主体、请求所针对的资源以及有关请求本身的元数据。服务特定条件键是为与单独的 AWS 服务一起使用而定义的。

IAM Identity Center 包含一个 AWS STS 上下文提供者,可支持 AWS 托管应用程序和第三方应用程序为 IAM Identity Center 定义的条件键添加值。这些键包含在 IAM 角色中。键值是在应用程序向 AWS STS 传递令牌时设置的。应用程序通过以下任一方式获取向 AWS STS 传递的令牌:

  • 使用 IAM Identity Center 进行身份验证的过程中。

  • 在与可信令牌发布者交换令牌进行可信身份传播之后。在这种情况下,应用程序会从可信令牌发布者中获取令牌,然后将该令牌交换为 IAM Identity Center 中的令牌。

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

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

identitystore:UserId

此上下文键是 IAM Identity Center 用户的 UserId,该用户是 IAM Identity Center 发布的上下文断言的主体。上下文断言会传递给 AWS STS。您可以使用此键将发出请求所代表的 IAM Identity Center 用户的 UserId 与您在策略中指定的用户标识符进行比较。

  • 可用性 – 如果在 AWS CLI 或 AWS STS AssumeRole API 操作中使用任何 AWS STS assume-role 命令代入角色,此键会在设置好由 IAM Identity Center 发布的上下文断言后包含在请求中。

  • 数据类型字符串

  • 值类型 — 单值

identitystore:IdentityStoreArn

此上下文键是附加到发布上下文断言的 IAM Identity Center 实例的身份存储的 ARN,也是可供您在其中查找 identitystore:UserID 的属性的身份存储。您可以在策略中使用此键确定 identitystore:UserID 是否来自预期的身份存储 ARN。

  • 可用性 – 如果在 AWS CLI 或 AWS STS AssumeRole API 操作中使用任何 AWS STS assume-role 命令代入角色,此键会在设置好由 IAM Identity Center 发布的上下文断言后包含在请求中。

  • 数据类型Arn字符串

  • 值类型 — 单值

identitycenter:ApplicationArn

此上下文键是 IAM Identity Center 向其发布上下文断言的应用程序的 ARN。您可以在策略中使用此键确定 identitycenter:ApplicationArn 是否来自预期的应用程序。使用此键有助于防止意外应用程序访问 IAM 角色。

  • 可用性 – 此键包含在 AWS STS AssumeRole API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。

  • 数据类型Arn字符串

  • 值类型 — 单值

identitycenter:CredentialId

此上下文键是身份增强型角色凭证的随机 ID,仅用于记录。由于此键值不可预测,建议不要将其用于策略中的上下文断言。

  • 可用性 – 此键包含在 AWS STS AssumeRole API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。

  • 数据类型字符串

  • 值类型 — 单值

identitycenter:InstanceArn

此上下文键是为 identitystore:UserID 发布上下文断言的 IAM Identity Center 实例的 ARN。您可以使用此键确定 identitystore:UserID 和上下文断言是否来自预期的 IAM Identity Center 实例的 ARN。

  • 可用性 – 此键包含在 AWS STS AssumeRole API 操作的请求上下文中。该请求上下文包含 IAM Identity Center 发布的上下文断言。

  • 数据类型Arn字符串

  • 值类型 — 单值