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

时间:2017-07-26 20:27:30

标签: amazon-web-services amazon-s3

我正在尝试将帐户中S3存储桶的访问权限授予其他帐户。

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

但是,我收到Invalid ID错误。

3 个答案:

答案 0 :(得分:6)

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

我们说你有:

  • 您拥有 Bucket A 的帐户A
  • 帐户B,用户B ,您希望授予其访问权限

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

arn:aws:iam::123456789012:user/fred

然后,向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/*"
            ]
        }
    ]
}

这将允许Fred访问S3存储桶。这适用于相同帐户中的用户以及不同帐户中的用户。

答案 1 :(得分:3)

您需要"规范用户ID"。你可以找到这个here

  

以root用户(控制台)的身份查看规范用户ID

     

使用您的AWS账户电子邮件地址和密码以root用户身份登录。

     

...剪辑...

     

在控制台的右上角,选择您的帐户名称或号码。然后选择My Security Credentials。

     

如有必要,请在对话框中选择“继续安全凭据”。您可以选择“不再显示此消息”旁边的框以阻止对话框在将来出现。

     

展开“帐户标识符”部分以查看您的规范用户ID。

     

请注意   如果您没有看到“帐户标识符”部分,则表示您未以root用户身份登录。返回上面的第1步。如果您无权访问root用户凭据,请与您的AWS账户管理员联系,要求他们检索规范用户ID。

答案 2 :(得分:2)

要获取规范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