2014-11-15 3 views
1

주어진 IAM 역할로 인스턴스를 실행하고 만드는 방법에 대한 몇 가지 참고 사항이 있습니다. 그러나 Amazon Client (Java SDK)를 사용하는 EC2 서비스 또는 Amazon API를 통한 http 요청에서 이러한 데이터를 검색하는 방법은 무엇입니까? 어떻게 든 IAM 역할 목록을 얻을 수 있습니까? (예 : devOps 팀에서 EC2 콘솔로 작성했기 때문에 다른 웹 응용 프로그램에 공개해야합니다)? 미리 감사드립니다.Java SDK 또는 Amazon API를 사용하여 EC2에서 IAM 역할 목록을 가져 오는 방법은 무엇입니까?

답변

2

오케이. AmazonIdentityManagementClient listInstanceProfiles() 호출이 트릭을 수행하는 것처럼 보입니다.

어떤 종류의 해결책이 효과적입니다. 귀찮게해서 미안해.

public Collection<String> getIAMRolesRange() { 
     AmazonIdentityManagementClient identityManagementClient = new AmazonIdentityManagementClient(new BasicAWSCredentials(awsAccount.getAccessKeyId(), awsAccount.getAccessSecret())); 
     ListInstanceProfilesResult listInstanceProfilesResult = identityManagementClient.listInstanceProfiles(); 
     List<String> iamRoles = new LinkedList<String>(); 
     for(InstanceProfile instanceProfile: listInstanceProfilesResult.getInstanceProfiles()) { 
      iamRoles.addAll(Collections2.transform(instanceProfile.getRoles(), iamRoleToStringFunction)); 
     } 

     return iamRoles; 
    }