Доступ запрещен при попытке поместить объект в корзину S3 - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь изменить код для загрузки больших изображений.Первоначально изображения были сохранены в S3 в лямбда-функции, и она работала просто отлично в PROD.Сейчас я извлек эту часть из функции и пытался сделать это через Java SDK для AWS.

Это работало нормально в среде DEV, потому что корзина там общедоступна.Когда я проверял это с настройками PROD.Я получаю сообщение об ошибке «Отказано в доступе».

Ящик закрыт в PROD, и у пользователя есть доступ ко всем действиям S3.Я мог получить доступ к корзине с помощью интерфейса командной строки AWS, но при попытке использовать AWS Java SDK выдается ошибка «Отказано в доступе».Это код на Java.Я явно установил регион только для того, чтобы убедиться, что он получился правильным, хотя я знаю, что регион является регионом по умолчанию.

    BasicAWSCredentials awsCreds = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);

    AmazonS3 s3client = AmazonS3ClientBuilder.standard()
        .withRegion(Regions.US_EAST_1)
        .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
        .build();


    String imageS3Url = null;
    ObjectMetadata d = new ObjectMetadata();
    try {
      s3client.putObject(new PutObjectRequest(S3_BUCKET_NAME, s3Key, stream, d));
      imageS3Url = "https://s3-"+ S3_REGION_NAME +".amazonaws.com/" + S3_BUCKET_NAME +"/"+ s3Key;

    }catch(Exception ex) {
      log.debug(ex.getMessage());
    }

Мне не хватает какой-либо конфигурации для предоставления доступа к AWS java SDK для доступаведро S3?Версия AWS Java SDK - 1.11.411.

Вот анонимные версии политики пользователя и корзины IAM:

{
    "Version": "2012-10-17",
    "Id": "PolicyABC”,
    "Statement": [
        {
           "Sid": "Stmt123”,
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::123456789:user/user-name”
           },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::bucket-name”
       }
    ]
}

Политика пользователя IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket-name”,
                "arn:aws:s3:::bucket-name/*”
            ]
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...