有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何找到AWS EC2客户端的角色?

从Java代码开始

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

使用哪个IAM用户登录以及该用户具有哪些IAM角色


共 (1) 个答案

  1. # 1 楼答案

    试试看:

    import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
    import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder;
    import com.amazonaws.services.securitytoken.model.GetCallerIdentityRequest;
    import com.amazonaws.services.securitytoken.model.GetCallerIdentityResult;
    
    
    public class Test {
        public static void main(String args[]) {
            AWSSecurityTokenService sts = AWSSecurityTokenServiceClientBuilder.defaultClient();
            GetCallerIdentityRequest request = new GetCallerIdentityRequest();
            GetCallerIdentityResult response = sts.getCallerIdentity(request);
            String roleArn = response.getArn();
    
            System.out.println(roleArn);
        }
    }
    

    Mavenpom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>test</groupId>
        <artifactId>test</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.amazonaws</groupId>
                    <artifactId>aws-java-sdk-bom</artifactId>
                    <version>1.11.327</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <dependencies>
            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-sts</artifactId>
            </dependency>
        </dependencies>
    
    </project>
    

    roleArn中,您应该会看到如下内容:

    arn:aws:sts::xxxxxxx:assumed-role/ROLE_NAME_HERE/i-INSTANCE_ID_HERE
    

    或者:

    arn:aws:iam::xxxxxxx:user/USER_NAME_HERE