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

在策略中指定委托人

Principal 元素用于指定被允许或拒绝访问资源的用户、账户、服务或其他实体。 下面是指定 Principal 的示例。有关更多信息,请参阅 IAM 用户指南 中的委托人

  • 要授予 AWS 账户权限,则使用以下格式标识此账户。

    "AWS":"account-ARN"

    例如:

    "Principal":{"AWS":"arn:aws-cn:iam::AccountNumber-WithoutHyphens:root"}

    Amazon S3 还支持规范用户 ID,这是 AWS 账户 ID 的模糊形式。可使用以下格式指定此 ID。

    "CanonicalUser":"64-digit-alphanumeric-value"

    例如:

    "Principal":{"CanonicalUser":"64-digit-alphanumeric-value"}

    有关如何查找您的账户的规范用户 ID 的信息,请参阅查找账户的规范用户 ID

    重要

    在策略中使用规范用户 ID 时,Amazon S3 可能会将规范 ID 更改为相应的 AWS 账户 ID。这不会影响策略,因为这两个 ID 标识相同的账户。

  • 要向您的账户中的 IAM 用户授予权限,您必须提供 "AWS":"user-ARN" 名称值对。

    "Principal":{"AWS":"arn:aws-cn:iam::account-number-without-hyphens:user/username"}
  • 要授予每个人权限,也称为匿名访问,请将 Principal 值设置为通配符 "*"。例如,如果您将存储桶配置为网站,您将需要使该存储桶中的所有对象都可公开访问。以下项目具有相同的效果:

    "Principal":"*"
    "Principal":{"AWS":"*"}

    警告

    在授予对您的 S3 存储桶的匿名访问权限时应谨慎使用。如果您授予匿名访问权限,那么世界上的任何人都可以访问您的存储桶。我们强烈建议您绝对不要授予对 S3 存储桶的任何类型的匿名写入权限。

  • 您可要求您的用户使用 Amazon CloudFront URL (非 Amazon S3 URL) 访问您的 Amazon S3 内容。为此,创建一个 CloudFront 来源访问标识 (OAI),然后更改对您的存储桶或存储桶中的对象的权限。在 Principal 语句中指定 OAI 的格式如下所示:

    "Principal":{"CanonicalUser":"Amazon S3 Canonical User ID assigned to origin access identity"}

    有关更多信息,请参阅使用源访问身份限制在Amazon CloudFront 开发人员指南中对您的 Amazon S3 内容的访问。

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