授予对 Amazon S3 存储桶的访问权限 - Amazon Storage Gatewa
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

授予对 Amazon S3 存储桶的访问权限

创建文件共享时,您的文件网关需要访问权限才能将文件上传到您的 Amazon S3 存储桶,以及对用于连接存储桶的任何接入点或虚拟私有云 (VPC) 终端节点执行操作。要授予此访问权限,您的文件网关将扮演一个 Amazon Identity and Access Management (IAM) 角色,该角色与授予此访问权限的 IAM 策略相关联。

该角色需要此 IAM 策略以及与之有关的安全令牌服务 (STS) 信任关系。此策略确定了该角色可以执行的操作。此外,您的 S3 存储桶和任何关联的接入点或 VPC 终端节点都必须具有允许 IAM 角色访问它们的访问策略。

您可以自己创建角色和访问策略,也可以由您的文件网关为您创建角色和访问策略。如果您的 File Gateway 为您创建了策略,则该策略将包含 S3 操作列表。有关角色和权限的信息,请参阅 IAM 用户指南 Amazon Web Services 服务中的创建向委派权限的角色

以下示例是一个信任策略,允许您的文件网关担任 IAM 角色。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "storagegateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
重要

Storage Gateway 可以代入使用iam:PassRole策略操作传递的现有服务角色,但它不支持使用iam:PassedToService上下文密钥将操作限制到特定服务的 IAM 策略。

有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的以下主题:

如果您不想让 File Gateway 代表您创建策略,则可以创建自己的策略并将其附加到文件共享。有关此操作的详细信息,请参阅 创建文件共享

以下示例策略允许您的文件网关执行策略中列出的所有 Amazon S3 操作。语句的第一部分允许对名为 amzn-s3-demo-bucket 的 S3 存储桶执行列出的所有操作。第二部分允许对 amzn-s3-demo-bucket 中的所有对象执行列出的操作。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetAccelerateConfiguration", "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucket", "s3:ListBucketVersions", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Effect": "Allow" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Effect": "Allow" } ] }

以下示例策略与前面的策略类似,但允许您的 File Gateway 执行通过接入点访问存储桶所需的操作。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/TestAccessPointName/*", "Effect": "Allow" } ] }
注意

如果您需要通过 VPC 终端节点将文件共享连接到 S3 存储桶,请参阅Amazon PrivateLink 用户指南中的 Amazon S3 终端节点策略

注意

对于加密存储桶,文件共享必须使用目标 S3 存储桶账户中的密钥。