其他AWS账户的Amazon S3访问权限

san*_*eep 12 amazon-s3 amazon-web-services

我试图将帐户中S3存储桶的访问权限授予另一个帐户.

对于权限选项卡中创建的存储桶,可以选择其他AWS账户的Access.在那之下,我看到一个添加帐户按钮.我点击它并给了我想要访问此存储桶的其他帐户.

但是,我收到了一个Invalid ID错误.

Joh*_*ein 7

如果您希望授予其他帐户中特定用户的访问权限,则非常简单.(我不认为这种方法可以用于访问其他帐户.)

假设你有:

  • 帐户A与您拥有的桶A
  • 帐户B与您希望授予访问权限的用户B.

向用户B询问与其IAM用户关联的ARN.这可以在IAM管理控制台中看到,它看起来像:

arn:aws:iam::123456789012:user/fred
Run Code Online (Sandbox Code Playgroud)

然后,向Bucket A 添加Bucket Policy:

{
    "Version": "2012-10-17",
    "Id": "S3AccessPolicy",
    "Statement": [
        {
            "Sid": "GiveFredAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/fred"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-a",
                "arn:aws:s3:::bucket-a/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这将允许Fred访问S3存储桶.这适用于同一帐户中的用户和不同帐户中的用户.


Rat*_*han 5

要获取规范 ID,最简单的方法之一是使用 CLI 并运行 aws s3api list-buckets命令。您将在输出中获得 ID。

还有其他方法可以获取规范 ID,并且在 aws 文档中有清楚的描述: https: //docs.aws.amazon.com/general/latest/gr/acct-identifiers.html

列表桶AWS文档:https://docs.aws.amazon.com/cli/latest/reference/s3api/list-buckets.html