允许对 存储桶的读取和写入访问权限 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

允许对 存储桶的读取和写入访问权限

此部分说明了如何创建 IAM 策略,以允许对特定 Amazon S3 存储桶进行读写访问。通过将具有此 策略的 角色分配给 SFTP 用户,将允许该用户对指定的 S3 存储桶进行读/写访问。

以下策略允许通过编程方式对 存储桶进行读写访问。只有当您需要启用跨账户存取时,才需要GetObjectACLPutObjectACL语句。也就是说,您的 Transfer Family 服务器需要访问其他账户中的存储桶。

{ "Version": "2012-10-17", "Statement": [ { "Sid":"ReadWriteS3", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET"] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectTagging", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectVersionTagging", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"] } ] }

ListBucket 操作需要对存储桶本身的权限。PUTGETDELETE 操作需要对象权限。由于这些是不同的实体,因此使用不同的 Amazon 资源名称 (ARN) 指定它们。

要进一步缩小用户的访问权限以使其仅能访问指定的 S3 存储桶的 home 目录,请参阅为 Amazon S3 存储桶创建会话策略