Как получить учетные данные AWS IAM для экземпляра ECS, в котором он работает - с использованием Java? - PullRequest
0 голосов
/ 14 октября 2018

Я изо всех сил пытаюсь получить 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();

Может ли кто-нибудь указать мне на метод исправлений и документацию?

1 Ответ

0 голосов
/ 15 октября 2018

Политика IAM, которую вы используете, неверна, в частности, resource.Чтобы указать все объекты в myBucket, используйте следующее:

"Resource": "arn:aws:s3:::myBucket/*"
...