我有一些我想存储在S3存储桶中的非常高度机密的数据。我想以这样的方式制定策略(桶或IAM),以至于没有人(甚至没有管理员)可以从AWS控制台中读取该存储桶中的文件内容。但是我将在主机上运行一个程序,需要从该S3存储桶中放置并获取数据。我也将使用S3的服务器端加密,但我无法使用S3的客户端加密。
您正在寻找这样的东西;
{
"Id": "bucketPolicy",
"Statement": [
{
"Action": "s3:*",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::111111111111:user/USERNAME",
"arn:aws:iam::111111111111:role/ROLENAME"
]
},
"Resource": [
"arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"
]
}
],
"Version": "2012-10-17"
}
出于测试目的,请确保替换ARN:AWS:IAM :: 11111111111:用户ARN的用户/用户名。因此,如果您锁定每个人,您至少可以在水桶上执行操作。
arn:aws:iam :: 111111111111:角色/rolename应该由附加到您的EC2实例的角色替换(我假设这是主机的意思)。