Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

在策略中指定资源

以下是用于标识 AWS 中任何资源的 Amazon 资源名称 (ARN) 常用格式。

arn:partition:service:region:namespace:relative-id

对于您的 Amazon S3 资源:

  • aws 是通用分区名称。如果您的资源位于中国(北京) 区域,则分区名为 aws-cn

  • s3 是服务。

  • 不指定区域和命名空间。

  • 对于 Amazon S3,它可以是 bucket-namebucket-name/object-key。可以使用通配符。

然后 Amazon S3 资源的 ARN 格式缩减成:

arn:aws-cn:s3:::bucket_name arn:aws-cn:s3:::bucket_name/key_name

以下是 Amazon S3 资源 ARN 的示例。

  • 该 ARN 标识 examplebucket 存储桶中的 /developers/design_info.doc 对象。

    arn:aws-cn:s3:::examplebucket/developers/design_info.doc
  • 您可将通配符作为资源 ARN 的一部分。您可在任何 ARN 分段 (用冒号分隔的部分) 中使用通配符 (*?)。星号 (*) 表示 0 个或多个字符的任意组合,问号 (?) 表示任何单个字符。您可在每个分段中使用多个 *? 字符,但通配符不能跨分段。

    • 此 ARN 在其相对 ID 段使用通配符 * 来标识 examplebucket 存储桶中的所有对象。

      arn:aws-cn:s3:::examplebucket/*

      此 ARN 使用 * 来表示所有 Amazon S3 资源 (您账户中的所有 S3 存储桶和对象)。

      arn:aws-cn:s3:::*
    • 此 ARN 在相对 ID 段同时使用通配符 *?。它标识存储桶 (例如 example1bucketexample2bucketexample3bucket 等) 中的所有对象。

      arn:aws-cn:s3:::example?bucket/*
  • 您也可以在 Amazon S3 ARN 中使用策略变量。在策略评估时,这些预定义变量被它们的相应值替换。假设您将存储桶组织为一个文件夹的集合,每个用户拥有一个文件夹。文件夹名称与用户名称相同。要为他们的文件夹授予用户权限,您可以在资源 ARN 中指定策略变量:

    arn:aws-cn:s3:::bucket_name/developers/${aws:username}/

    在运行时,当评估此策略时,资源 ARN 中的变量 ${aws:username} 替换为发出此请求的用户名称。

要找到 S3 存储桶的 ARN,您可以查看 Amazon S3 控制台的存储桶策略CORS 配置权限页面。有关更多信息,请参阅如何添加 S3 存储桶策略?如何通过 CORS 允许跨域资源共享? (在 Amazon Simple Storage Service 控制台用户指南 中)。

有关 ARN 的更多信息,请参阅以下内容:

有关其他访问策略语言元素的更多信息,请参阅访问策略语言概述