Java AWS SDK InstanceProfileCredentialsProvider предоставляет недействительные aws учетные данные - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужны учетные данные aws для подписи запросов загрузки S3. У меня есть роль, которая имеет полный доступ к S3, связанному с моим экземпляром ec2. Я вызываю InstanceProfileCredentialsProvider.getCredentials () и получаю некоторые accessKeyId и secretKey. Когда приложение запускается на моем экземпляре ec2, и кредиты применяются к запросу S3, и выдается следующая ошибка: * Идентификатор ключа доступа AWS, который вы указали, не существует в наших записях. Когда я пытаюсь свернуть кредиты из профиля экземпляра на том же экземпляре ec2, я получаю совершенно другой набор кредитов.

Вот фрагмент кода: ... InstanceProfileCredentialsProvider icp = new InstanceProfileCredentialsProvider (false); return icp.getCredentials (). getAWSAccessKeyId ();

Вот как я скручиваю кредиты: TOKEN = curl -X PUT "http://169.254.169.254/latest/api/token" -H "X- aws - ec2-токен метаданных-ttl-секунд: 21600 "&& curl -H" X- aws -ec2-токен метаданных: $ TOKEN "-v http://169.254.169.254/latest/meta-data/iam/security-credentials/my_role_name

выдана ошибка: com.amazon aws .services.s3.model.AmazonS3Exception: AWS Идентификатор ключа доступа, который вы указали, не существует в наших записях. (Service: Amazon S3, код состояния: 403; Код ошибки: InvalidAccessKeyId; Request ID: F421F2243DF27432)., S3 Расширенная Request ID: 2MX7fwX5E60xR807qQP4cvqj5e1mOyQ3mV5jrrGrKuCnjxJs0xTfMEl6Fye9W5EfjMJ6rUW5AVM = на com.amazon aws .http.AmazonHttpClient $ RequestExecutor.handleErrorResponse (AmazonHttpClient java : 1588)

Среда: AWS Java Используемая версия SDK: 1.11.xxx; Используемая версия JDK: 1.8.0; Операционная система и версия: Linux amzn1.x86_64 # 1 SMP Sun 9 февраля 00:23:26 UT C 2020 x86_64 x86_64 x86_64 GNU / Linux

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...