Загрузка загрузочного файла Amazon AWS S3 Spring Boot - доступ запрещен
У меня есть автоматически сконфигурированное приложение AWS, Spring Boot, и я пытаюсь настроить конечную точку, которая будет просто загружать определенный файл из данного сегмента в Amazon S3. Я загрузил файл JPEG в корзину с моего компьютера с помощью консоли AWS - теперь я пытаюсь загрузить этот файл, используя мой Spring Boot API.
Я получаю следующую ошибку:com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;
Я создал пользователя и группу (пользователь в группе) на консоли AWS; пользователь / группа имеет полные права доступа на S3, а также доступ администратора. Я загрузил пару ключ доступа / секретный ключ и, для целей тестирования, буквально вставил ключи в файл application.properties, как показано ниже (ключи здесь не показаны, очевидно :)).
Я не понимаю, почему мне все еще отказывают в доступе. Я искал и работал над этим некоторое время; Я не могу найти решение этой проблемы, которая специфична для Spring Boot. Любая помощь будет принята с благодарностью.
application.properties:
cloud.aws.credentials.accessKey=myaccesskey
cloud.aws.credentials.secretKey=mysecretkey
cloud.aws.credentials.instanceProfile=false
cloud.aws.stack.auto=false
cloud.aws.region.auto=true
cloud.aws.region.static=myregion
SimpleResourceLoadingBean.java:
@RestController
public class SimpleResourceLoadingBean {
private static Logger log = LoggerFactory.getLogger(HealthMonitorApplication.class);
@Autowired
private ResourceLoader resourceLoader;
@RequestMapping("/getresource")
public String resourceLoadingMethod() throws IOException {
log.info("IN RESOURCE LOADER");
Resource resource = this.resourceLoader.getResource("s3://s3.amazonaws.com/mybucket/myfile.ext");
InputStream inputStream = resource.getInputStream();
return inputStream.toString();
}
}
pom.xml (только зависимости, которые имеют отношение к вопросу)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-autoconfigure</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>