我需要从我的Java程序中创建一个私有的S3桶和一个只允许访问该桶的IAM用户。
所以我需要一些管理帐户凭证来创建一个S3Client
AmazonS3 s3client = AmazonS3ClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.US_EAST_2)
.build();然后使用一些空检查,等等,创建我的桶
s3client.createBucket(bucketName);现在我需要阻止对这个桶的所有公共访问(可以吗?)
并创建一个具有AWS凭据类型等于“访问密钥-程序访问”的IAM用户,并将其策略设置为类似的内容,这样它只能访问我刚刚创建的那个桶(只是官方文件上的一个片段)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListObjectsInBucket",
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::bucket-name"]
},
{
"Sid": "AllObjectActions",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": ["arn:aws:s3:::bucket-name/*"]
}
]
}这有可能吗?
发布于 2022-05-06 07:30:57
最后我找到了一个很好的解决方案。采样器
发布于 2022-02-03 13:13:43
事实上,这是在桶级或IAM级具有安全性的一个主要问题。
在approch “这个用户可以在AWS中做什么?”中,您可以使用inline (托管策略、内联策略.)探索
在中,谁能访问这个S3桶?,然后您可以探索使用S3桶策略将安全集中到帐户中.
默认情况下,任何新存储桶都处于不可公开访问的模式中,任何拥有S3 权限的用户都可以访问它。
https://stackoverflow.com/questions/70971771
复制相似问题