Amazon S3 中的策略和权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon S3 中的策略和权限

本页概述 Amazon S3 中的存储桶和用户策略,并介绍策略的基本元素。每个列出的元素都链接到有关该元素以及如何使用它的示例的更多详细信息。

要查看 Amazon S3 操作、资源和条件的完整列表,请参阅 Amazon S3 的操作、资源和条件键

就其最基本的意义而言,策略包含以下元素:

  • 资源 – 策略适用的 Amazon S3 存储桶、对象、接入点或任务。使用存储桶、对象、接入点或任务的 Amazon 资源名称(ARN)来识别资源。

    存储桶级操作示例:

    - "Resource": "arn:aws:s3:::bucket_name".

    对象级操作示例:

    - "Resource": "arn:aws:s3:::bucket_name/*" 对应于存储桶中的所有对象。

    - "Resource": "arn:aws:s3:::bucket_name/prefix/*" 对应于存储桶中特定前缀下的对象。

    有关更多信息,请参阅Amazon S3 资源

  • Action – 对于每个资源,Amazon S3 支持一组操作。您可使用操作关键字标识允许(或拒绝)的资源操作。

    例如,使用 s3:ListBucket 权限,用户可以使用 Amazon S3 GET Bucket (List Objects) 操作。有关使用 Simple Storage Service (Amazon S3) 操作的更多信息,请参阅 Amazon S3 操作。有关 Amazon S3 操作的完整列表,请参阅操作

  • Effect – 当用户请求特定操作(可以是 allowdeny)时的效果。

    如果没有显式授予 (允许) 对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问。您可以执行此操作以确保用户无法访问资源,即使其他策略授予访问权限也是如此。有关更多信息,请参阅 IAM JSON 策略元素:Effect

  • 主体 – 允许访问语句中的操作和资源的账户或用户。在存储桶策略中,主体是作为此权限的接收者的用户、账户、服务或其他实体。有关更多信息,请参阅主体

  • Condition – 策略生效时的条件。您可以使用 Amazon 范围内的键和特定于 Amazon S3 的键来指定 Amazon S3 访问策略中的条件。有关更多信息,请参阅Amazon S3 条件键示例

以下示例存储桶策略显示了效果、主体、操作和资源元素。此策略允许账户 Account-ID 中的用户 Dave 对 s3:GetObject 存储桶具有 s3:GetBucketLocations3:ListBucket、和 awsexamplebucket1 Amazon S3 权限。

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:::awsexamplebucket1" ] } ] }

有关更多信息,请参阅以下主题。有关完整的策略语言信息,请参阅 IAM 用户指南中的策略和权限IAM JSON 策略参考