我正在努力让S3Client在其中运行ECS实例的凭据。
ECS实例具有以下策略和信任-我认为还可以
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:PutObject*",
"Resource": [
"arn:aws:s3:::myBucket",
"arn:aws:s3:::/*"
]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
我不知道如何获得客户端-在.net世界中,我会使用
s3Client = Amazon.AWSClientFactor.CreateAmazonS3Client()
但是我需要用Java来做到这一点-我尝试了多种方法,但是总是被拒绝'
s3Client = AmazonS3ClientBuilder.standard().build();
有人可以指出正确的方法和文档吗?
答案 0 :(得分:1)
您使用的IAM策略不正确,尤其是resource
。要指示myBucket中的所有对象,请使用以下命令:
"Resource": "arn:aws:s3:::myBucket/*"