委托人 - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

欢迎使用新的 Amazon S3 用户指南! Amazon S3 用户指南结合了以下三个已停用的指南中的信息和说明:Amazon S3 开发人员指南Amazon S3 控制台用户指南Amazon S3 入门指南

委托人

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

向 AWS 账户授予权限

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

"AWS":"account-ARN"

示例如下。

"Principal":{"AWS":"arn:aws:iam::AccountNumber-WithoutHyphens:root"}
"Principal":{"AWS":["arn:aws:iam::AccountNumber1-WithoutHyphens:root","arn:aws:iam::AccountNumber2-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 用户授予权限

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

"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}

有关提供分步说明的详细示例,请参阅 示例 1:存储桶拥有者向其用户授予存储桶权限 示例 3:存储桶拥有者授予不属于自己的对象的权限

授予匿名权限

要授予每个人权限,也称为匿名访问,请将 Principal 值设置为通配符 ("*")。例如,如果您将存储桶配置为网站,您将需要使该存储桶中的所有对象都可公开访问。以下项目具有相同的效果。

"Principal":"*"
"Principal":{"AWS":"*"}
警告

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

要求通过 CloudFront URL 进行访问

您可以要求用户使用 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 内容的访问