使用属性对 Amazon Cognito 身份池进行访问控制 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用属性对 Amazon Cognito 身份池进行访问控制

使用属性进行访问控制之前,请确保满足以下先决条件:

要使用属性进行访问控制,您设置为数据来源的声明将设置您选择的标签键的值。Amazon Cognito 会将标签键和值应用于您的用户会话。您的 IAM policy 可以根据 ${aws:PrincipalTag/tagkey} 条件评估用户的访问权限。IAM 会根据策略评估用户标签的值。

您必须准备要将其凭证传递给用户的 IAM 角色。这些角色的信任策略必须允许 Amazon Cognito 为您的用户代入该角色。对于用于访问控制的属性,您还必须允许 Amazon Cognito 将主体标签应用于用户的临时会话。授予使用操作 AssumeRoleWithWebIdentity 代入该角色的权限。授予使用仅限权限操作 sts:TagSession 标记用户会话的权限。有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的在 Amazon Security Token Service 中传递会话标签。有关向 Amazon Cognito 服务主体 cognito-identity.amazonaws.com 授予 sts:AssumeRoleWithWebIdentitysts:TagSession 权限的示例信任策略,请参阅示例:将属性用于访问控制策略

在控制台中配置访问控制属性
  1. 登录 Amazon Cognito 控制台并选择身份池。选择身份池。

  2. 选择用户访问选项卡。

  3. 找到身份提供者。选择要编辑的身份提供者。如果要添加新的 IdP,请选择添加身份提供者

  4. 要更改 Amazon Cognito 在向通过该提供者进行身份验证的用户颁发凭证时分配的主体标签,请在访问控制属性中选择编辑

    1. 如果不应用主体标签,请选择非活动

    2. 要基于 subaud 声明应用主体标签,请选择使用原定设置映射

    3. 要为主体标签创建自己的自定义属性模式,请选择使用自定义映射。然后,对于您要在标签中表示的每个声明,输入要从该声明中获取的标签键

  5. 选择保存更改