View a markdown version of this page

S3 Files 如何与 IAM 结合使用 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

S3 Files 如何与 IAM 结合使用

本页介绍 Amazon Identity and Access Management(IAM)如何与 S3 Files 结合使用,以及如何使用 IAM 策略来控制对文件系统的访问。

S3 Files 使用 IAM 进行两种不同类型的访问控制:

  • API 访问:控制谁可以创建、管理和删除 S3 Files 资源,例如文件系统、挂载目标和接入点。还可以使用附加到 IAM 用户、组或角色的基于身份的策略控制此访问。

  • 客户端访问:控制客户端(您挂载的计算资源)在连接后可以对文件系统执行的操作,例如以根用户身份读取、写入或访问文件。您可以组合使用基于资源的策略、基于身份的策略、接入点和 POSIX 权限来控制此访问。

通过使用 IAM,您可以允许客户端对文件系统执行特定操作,包括只读、写入和根访问。对 IAM 身份策略或文件系统资源策略中的操作的“允许”权限允许访问该操作。无需在身份策略和资源策略中同时授予此权限。

您在关联的 S3 存储桶上的 S3 存储桶策略还控制从您的计算资源和文件系统对 S3 存储桶进行的访问。还必须确保源存储桶的存储桶策略不会拒绝来自您的计算资源或文件系统的访问。有关更多详细信息,请参阅 Amazon S3 的存储桶策略

基于身份的策略

基于身份的策略是您附加到 IAM 用户、组或角色的 JSON 策略。您可以通过编写自定义策略或附加 Amazon 托管式策略来提供这些权限。有关 API 访问和客户端访问的可用托管式策略的更多信息,请参阅 Amazon S3 Files 的 Amazon 托管式策略

S3 Files 还通过支持客户端直接从源 S3 存储桶读取文件数据,从而优化读取性能。在计算资源上挂载 S3 文件系统时,必须向计算资源的 IAM 角色添加内联策略,以授予从指定的 S3 存储桶读取对象的权限。挂载助手使用这些权限来读取 S3 数据。有关此策略的更多详细信息,请参阅用于将文件系统附加到 Amazon 计算资源的 IAM 角色

基于资源的策略

文件系统策略是一种基于 IAM 资源的策略,您可以直接附加到文件系统以控制客户端访问。您可以使用文件系统策略来授予或拒绝客户端执行诸如挂载、写入和根访问等操作的权限。

文件系统要么具有一个空(默认)的文件系统策略,要么只有一个显式策略。S3 文件系统策略有 20000 个字符的限制。有关创建和管理文件系统策略的信息,请参阅创建文件系统策略

客户端的 S3 Files 操作

您可以在文件系统策略中指定以下操作来控制客户端访问:

Action 说明
s3files:ClientMount 提供对文件系统的只读访问权限。
s3files:ClientWrite 提供对文件系统的写入权限。
s3files:ClientRootAccess 提供在访问文件系统时使用根用户的权限。

客户端的 S3 Files 条件键

您可以在文件系统策略的 Condition 元素中使用以下条件键来进一步完善访问控制:

条件键 说明 运算符
s3files:AccessPointArn 客户端正在连接的 S3 Files 接入点的 ARN。 字符串

文件系统策略示例

示例:授予只读访问权限

以下文件系统策略仅向 ReadOnly IAM 角色授予 ClientMount(只读)权限。将 111122223333 替换为您的 Amazon 账户 ID。

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ReadOnly" }, "Action": [ "s3files:ClientMount" ] } ] }

示例:向 S3 接入点授予访问权限

以下文件系统策略使用条件元素来向特定接入点授予在通过指定的接入点进行挂载时对文件系统的完全访问权限。将接入点 ARN 和账户 ID 替换为您的值。有关更多信息,请参阅 为 S3 文件系统创建接入点

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::555555555555:role/S3FilesAccessPointFullAccess" }, "Action": [ "s3files:Client*" ], "Condition": { "StringEquals": { "s3files:AccessPointArn": "arn:partition:s3files:region:account-id:file-system/fs-1234567890/access-point/fsap-0987654321" } } } ] }

POSIX 权限

IAM 授权成功后,S3 Files 将在文件和目录级别强制执行标准 POSIX(Unix 样式)权限。POSIX 权限基于与每个文件和目录关联的用户 ID(UID)、组 ID(GID)和权限位(读取、写入、执行)来控制访问。接入点可以为所有请求强制使用特定的 POSIX 用户身份,从而简化共享数据集的访问管理。有关更多信息,请参阅 为 S3 文件系统创建接入点

安全组

安全组充当网络级防火墙,用于控制计算资源和文件系统的挂载目标之间的流量。有关配置安全组以开始使用 S3 Files 的详细信息,请参阅安全组