跨帐户S3存储桶权限

时间:2020-07-09 18:22:47

标签: amazon-web-services amazon-s3

我正在尝试使用S3 UI将S3存储桶的访问权限授予其他帐户:

Permissions -> Access Control List -> Access for other AWS accounts

我知道我要授予权限的帐户的规范ID。它是161个字符的代码。当我尝试添加时,出现下一个错误:

canonical id error

我敢肯定我使用的ID正确,因为它说Canonical user ID (for Amazon S3) 怎么了?

2 个答案:

答案 0 :(得分:0)

您可能使用了错误的ID。请查看此文档,以了解如何在此处检索所需的文档:AWS account identifiers - AWS General Reference

话虽如此,在大多数情况下,最好不要使用访问控制列表,而是通过跨帐户角色访问S3。要了解更多信息,请查看:Provide Cross-Account Access to Objects In S3 Buckets

答案 1 :(得分:0)

如果您想授予存储桶访问另一个AWS账户的权限,我建议使用存储桶策略。这样一来,其他帐户中的用户就可以使用其普通凭据访问存储桶。

以下是示例存储桶策略,该策略授予对另一个AWS账户中特定用户的访问权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
        ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::ACCOUNT-ID:user/foo"
        ]
      }
    }
  ]
}