【发布时间】:2018-12-14 08:27:26
【问题描述】:
我正在尝试将帐户中 S3 存储桶的访问权限授予另一个帐户。
对于在权限选项卡中创建的存储桶,有其他 AWS 账户的访问选项。在此之下,我看到了一个添加帐户按钮。我点击了它并提供了我想要访问此存储桶的另一个帐户。
但是,我收到了 Invalid ID 错误。
【问题讨论】:
标签: amazon-web-services amazon-s3
我正在尝试将帐户中 S3 存储桶的访问权限授予另一个帐户。
对于在权限选项卡中创建的存储桶,有其他 AWS 账户的访问选项。在此之下,我看到了一个添加帐户按钮。我点击了它并提供了我想要访问此存储桶的另一个帐户。
但是,我收到了 Invalid ID 错误。
【问题讨论】:
标签: amazon-web-services amazon-s3
如果您希望授予不同帐户中特定用户的访问权限,这非常简单。 (我认为这种方法不适用于授予对不同帐户的访问权限。)
假设你有:
向用户 B 询问与其 IAM 用户关联的 ARN。这可以在 IAM 管理控制台中看到,它看起来像:
arn:aws:iam::123456789012:user/fred
然后,将 Bucket Policy 添加到 Bucket A:
{
"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 存储桶。这适用于相同帐户中的用户和不同帐户中的用户。
【讨论】:
要获取规范 ID,最简单的方法之一是使用 CLI 并运行
aws s3api list-buckets 命令。
您将在输出中获得 ID。
还有其他获取规范 ID 的方法,并且在 aws 文档中有明确描述:https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html
list-buckets aws 文档:https://docs.aws.amazon.com/cli/latest/reference/s3api/list-buckets.html
【讨论】:
您需要“规范用户 ID”。你可以了解这个here。
以 root 用户身份查看您的规范用户 ID(控制台)
使用您的 AWS 账户电子邮件地址和密码以 root 用户身份登录。
...剪断...
在控制台的右上角,选择您的帐户名称或号码。然后选择我的安全凭证。
如有必要,请在对话框中选择继续使用安全凭据。您可以选择不再向我显示此消息旁边的框,以阻止该对话框在以后出现。
展开帐户标识符部分以查看您的规范用户 ID。
注意 如果您没有看到 Account Identifiers 部分,那么您没有以 root 用户身份登录。返回到上面的步骤 1。如果您无权访问根用户凭证,请联系您的 AWS 账户管理员并要求他们检索规范用户 ID。
【讨论】: