2016-09-05 5 views
0

Java 응용 프로그램을 개발하고 EC2에 배포하려고합니다. 알고있는만큼 액세스 키와 비밀 키 대신 역할을 사용해야합니다.역할을 사용하여 API 요청을하는 방법

이제 S3 전체 액세스 역할이 첨부 된 인스턴스를 시작한 다음 API 호출을 어떻게해야합니까? 나는 그것이 어떻게 작동하는지

AWSCredentials credentials = new BasicAWSCredentials("YourAccessKeyID", "YourSecretAccessKey"); 

AmazonS3 s3client = new AmazonS3Client(credentials); 

을 이해하고 있지 않다 다음과 같이

하기 때문에 SDK를 위해 액세스 키와 비밀 키를 필요가 있겠습니까?

답변

2

SDK 클라이언트 개체를 인스턴스화 할 수있는 가능한 방법 중 하나만 찾고 있습니다. 공급 자격 증명없이 단순히이 같은 AmazonS3Client 개체를 인스턴스화 할을 프로파일 EC2 인스턴스를 사용하려면

AmazonS3Clent s3client = new AmazonS3Client(); 

자격 증명이 지정되지 않은 경우, AWS SDK 환경 변수, Java 시스템 등록 정보에서 자격 증명을 볼 것이다, 기본 자격 증명 파일, EC2 인스턴스 프로필을 차례로 선택합니다. 이 문서는 here에 설명되어 있습니다.

+0

응답 해 주셔서 감사합니다. 선생님, 나는 의심이 하나 더 있습니다. 대답에서 언급 한대로 자격 증명을 사용하지 않고 IAM getRole()을 사용하여 인스턴스에 연결된 모든 역할을 검색 할 수 있습니까? 기본적으로 제공하지 않고 인스턴스에 첨부 된 역할을 가져 오려고합니다. 액세스 키 및 비밀 키. 인스턴스에 첨부 된 IAM 권한에 대한 역할을 갖는 것이 필요합니다. 또는 인스턴스 메타 데이터에서 역할을 얻을 수있는 방법이 있습니다. –

+0

@ShivkumarMallesappa 그건 완전히 별개의 질문입니다. 1 : 그냥 시도하고 보지 그래? 2 : 시도한 후에 도움이 필요하면 여기 StackOverflow에 별도의 질문으로 게시하십시오. –

+0

고맙습니다. 모든 시행 착오를 끝내고 나면이 대답을 정확하게 표시 할 것입니다. 괜찮습니다. –