我已经配置了我的存储桶策略(针对S3存储桶上托管的静态网站),以便其他帐户可以对此存储桶执行操作。该政策看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket.com/*"
},
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::00000000000:user/username"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::mybucket.com"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::000000000000:user/username"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::mybucket.com/*"
}
]
}
"声明"中的第一个对象指定此存储桶应该是可读的,以便任何人都可以访问该网站(我也使用Route 53)。
第二个帐户能够将文件上传到存储桶,但是一旦他上传文件,则访问仅限于该文件,即如果他将index.html上传到存储桶的顶级目录,则导航到该网站将产生403拒绝访问错误。
我已经研究过IAM角色,我认为这些角色可能是相关的,但我会很感激您的帮助。