使用访问控制的属性作为基于属性的访问控制的一种形式 - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用访问控制的属性作为基于属性的访问控制的一种形式

您可以使用 IAM 策略控制对Amazon基于用户属性的 Amazon Cognito 身份池中的资源。这些属性可以来自社会和企业身份提供者。您可以将提供商的访问权限和 ID 令牌或 SAML 断言中的属性映射到可在 IAM 权限策略中引用的标签。

您可以选择默认映射或在 Amazon Cognito 身份池中创建自己的自定义映射。默认映射允许您根据一组固定的用户属性编写 IAM 策略。自定义映射允许您选择 IAM 权限策略中引用的自定义用户属性集。这些区域有:属性名称在 Amazon Cognito 控制台中映射委托人的标签密钥,这些标签是 IAM 权限策略中引用的标签。

例如,假设您拥有一个免费的付费会员资格的媒体流服务。您可以将媒体文件存储在 Amazon S3 中,并使用免费或高级标签对其进行标记。您可以使用属性进行访问控制,以允许访问基于用户成员资料级别的免费和付费内容,这是用户配置文件的一部分。您可以将成员资格属性映射到要传递给 IAM 权限策略的委托人的标签密钥。通过这种方式,您可以创建单个权限策略,并根据内容文件上的成员资格级别和标记的值有条件地允许访问高级内容。

使用属性控制访问有几个优势:

  • 使用属性进行访问控制时,权限管理会更加简单。您可以创建使用用户属性的基本权限策略,而不是为不同的作业职能创建多个策略。

  • 无论何时为应用程序添加或删除资源或用户,都无需更新策略。权限策略只会向具有匹配用户属性的用户授予访问权限。例如,您可能需要根据用户的作业标题控制对某些 S3 存储桶的访问权限。在这种情况下,您可以创建权限策略,以便仅允许定义作业标题中的用户访问这些文件。有关更多信息,请参阅 。IAM 教程:将 SAML 会话标签用于 ABAC

  • 属性可以作为主要标记传递给策略,该策略基于这些属性的值允许或拒绝权限。