如何使用Java SDK或Amazon API从EC2获取IAM角色列表?

问题描述:

关于如何使用给定的IAM角色运行实例并创建一个实例,有几点注意事项。但是,如何使用Amazon客户端(Java SDK)或通过Amazon API的http请求从EC2服务中检索这些数据?我能否以某种方式获得这样的IAM角色列表(他们是由devOps团队在EC2控制台中初步创建的,因此我必须以某种方式将它们公开在其他Web应用程序中)?提前致谢。如何使用Java SDK或Amazon API从EC2获取IAM角色列表?

好的。看起来像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; 
    }