如何使用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;
}