Профиль экземпляра в Spring Boot для доступа к S3 из EC2 - PullRequest
0 голосов
/ 16 декабря 2018

Я добавил следующую зависимость в мое приложение Spring Boot

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-aws-autoconfigure</artifactId>
    <version>2.0.1.RELEASE</version>
</dependency>

и установил cloud.aws.credentials.instanceProfile=true в файле application.properties.

Таким образом, я надеялся, что когда яЗапустите мое приложение на экземпляре AWS EC2, оно автоматически получит учетные данные и позволит создать S3Client следующим образом.

AmazonS3 s3client = AmazonS3ClientBuilder
    .standard()
    .withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
    .withRegion(Regions.CA_CENTRAL_1)
    .build();

Однако, похоже, что он пытается создать стек в CloudFormation, потому что я получаю эту ошибку.

nested exception is
 com.amazonaws.services.cloudformation.model.AmazonCloudFormationException: User: arn:aws:sts::X:assumed-role/MYROLE/Y is not authorized to perform: 
cloudformation:DescribeStackResources (Service: AmazonCloudFormation; Status Code: 403; 
Error Code: AccessDenied; Request ID: d24df1e2-00fd-11e9-9d60-cf9c7ee8f1dd)

Роль, связанная с моим экземпляром EC2, позволяет получить доступ только к S3.Я также могу добавить доступ к CloudFormation.Но почему он пытается использовать CloudFormation и как его можно избежать?

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