Попробуйте:
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);
}
}
Maven pom.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