

# 使用 S3 Access Grants 管理访问权限
<a name="access-grants"></a>

要遵守最低权限原则，您可以根据应用程序、角色、组或组织单位来定义对 Amazon S3 数据的精细访问权限。根据访问模式的规模和复杂性，可以使用各种方法实现对 Amazon S3 中的数据的精细访问。

对于 Amazon Identity and Access Management（IAM）主体来说，通过定义 [IAM 权限策略](https://docs.amazonaws.cn/AmazonS3/latest/userguide/user-policies.html)和 [S3 存储桶策略](https://docs.amazonaws.cn/AmazonS3/latest/userguide/bucket-policies.html)，可以最轻松地管理对 Amazon S3 中的少量和中等数量数据集的访问。只要必要的策略符合 S3 存储桶策略的策略大小限制（20 KB）和 IAM 策略的策略大小限制（5 KB），并且在[每个账户允许的 IAM 主体数量](https://docs.amazonaws.cn/general/latest/gr/iam-service.html)内，此策略就将适用。

随着数据集和使用场景不断增多，您可能需要更多的策略空间。为策略语句提供更多空间的一种方法是，使用 [S3 接入点](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-points.html)作为 S3 存储桶的附加端点，因为每个接入点均可拥有自己的策略。您可以定义非常精细的访问控制模式，因为每个账户在每个 Amazon Web Services 区域内可以拥有数千个接入点，每个接入点的策略大小最多 20 KB。尽管 S3 接入点增加了可用的策略空间，但它需要通过一种机制让客户端发现正确数据集的正确接入点。

第三种方法是实施 [IAM 会话代理](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)模式，在该模式中，您可以实施访问决策逻辑并为每个访问会话动态生成短期 IAM 会话凭证。虽然 IAM 会话代理方法支持任意动态权限模式并能有效扩展，但您必须构建访问模式逻辑。

您可以使用 S3 Access Grants 来管理对 Amazon S3 数据的访问权限，而不是使用上述方法。S3 Access Grants 提供了一个简化模型，用于按前缀、存储桶或对象定义对 Amazon S3 中数据的访问权限。此外，可以使用 S3 Access Grants 向 IAM 主体授予访问权限，并直接向公司目录中的用户或组授予访问权限。

通常，可以通过将用户和组映射到数据集来定义对 Amazon S3 中数据的权限。可以使用 S3 Access Grants 定义 S3 前缀与 Amazon S3 存储桶和对象中的用户与角色的直接访问映射。借助 S3 Access Grants 中的简化访问方案，可以按 S3 前缀向 IAM 主体授予只读、只写或读写访问权限，并直接向公司目录中的用户或组授予只读、只写或读写访问权限。借助这些 S3 Access Grants 功能，应用程序可以代表其当前经过身份验证的用户向 Amazon S3 请求数据。

将 S3 Access Grants 与 Amazon IAM Identity Center 的[可信身份传播](https://docs.amazonaws.cn/singlesignon/latest/userguide/trustedidentitypropagation.html)功能集成后，应用程序可以直接代表经过身份验证的公司目录用户向 Amazon Web Services 服务（包括 S3 Access Grants）发出请求。应用程序不再需要先将用户映射到 IAM 主体。此外，由于最终用户身份将一直传播到 Amazon S3，因此简化了审核哪个用户访问了哪个 S3 对象的过程。您不再需要重构不同的用户和 IAM 会话之间的关系。在将 S3 Access Grants 与 IAM Identity Center 可信身份传播结合使用时，Amazon S3 的每个 [Amazon CloudTrail](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 数据事件均包含对代表其访问数据的最终用户的直接引用。

[Trusted identity propagation](https://docs.amazonaws.cn//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) 是一项 Amazon IAM Identity Center 功能，已连接的 Amazon Web Services 服务的管理员可以使用它来授予和审计对服务数据的访问权限。对这些数据的访问权限基于用户属性，例如组关联。设置可信身份传播要求已连接的 Amazon Web Services 服务的管理员和 IAM Identity Center 管理员之间进行协作。有关更多信息，请参阅 [Prerequisites and considerations](https://docs.amazonaws.cn//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html)。

有关 S3 Access Grants 的更多信息，请参阅以下主题。

**Topics**
+ [S3 Access Grants 的概念](access-grants-concepts.md)
+ [S3 Access Grants 和公司目录身份](access-grants-directory-ids.md)
+ [开始使用 S3 Access Grants](access-grants-get-started.md)
+ [使用 S3 访问权限管控实例](access-grants-instance.md)
+ [使用 S3 访问权限管控位置](access-grants-location.md)
+ [在 S3 访问权限管控中处理授权](access-grants-grant.md)
+ [使用访问授权获取 S3 数据](access-grants-data.md)
+ [S3 Access Grants 跨账户访问](access-grants-cross-accounts.md)
+ [管理 S3 访问权限管控的标签](access-grants-tagging.md)
+ [S3 Access Grants 限制](access-grants-limitations.md)
+ [S3 Access Grants 集成](access-grants-integrations.md)