我正在努力获得一个拥有运行在其中的ECS实例的凭据的S3Client。
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();
有谁能给我指出正确的方法和文档吗?
发布于 2018-10-15 06:34:37
您使用的IAM策略不正确,尤其是resource
。要指示myBucket中的所有对象,请使用以下命令:
"Resource": "arn:aws:s3:::myBucket/*"
https://stackoverflow.com/questions/52806557
复制相似问题