我尝试使用 S3 文档中提供的说明测试 s3 跨账户权限。 在文档示例中,账户 A 创建对账户 B 根具有读取访问权限的存储桶策略。账户 B 创建了一个用户 Dave,并向他提供了账户 A 存储桶的读取访问权限。
我已经尝试了上面的例子,它对我来说效果很好。但是当我尝试使用相同的示例进行写入访问时,它对我不起作用。例如,在账户 A 中,我在存储桶策略下方创建了
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AccountB-ID:root"
},
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::examplebucket"
]
}
]
}
在帐户 B 中,我创建了具有以下权限的用户 Dave
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example",
"Effect": "Allow",
"Action": [
"s3: PutObject"
],
"Resource": [
"arn:aws:s3:::examplebucket"
]
}
]
}
但是当我尝试使用帐户 B 的用户 Dave 凭据放置对象时,我的访问被拒绝。
这是预期的行为还是我错过了一些东西。
在用户策略中,s3: PutObject
不应该有空格。