如何使用与EC2实例关联的IAM角色从Amazon检索临时AWS凭证(在Java中)?

ilc*_*lce 1 java amazon-s3 amazon-ec2 amazon-web-services

我在AMAZON上创建了与EC2实例相关联的IAM角色,据我从亚马逊文档了解,我可以检索临时AWS凭证并对此进行一些操作。用于来自实例内部而不是来自外部世界的呼叫。这是什么意思 在本地tomcat服务器上开发应用程序时,如何与AWS安全通信?

fil*_*tto 5

您应该使用默认提供程序链和EC2实例配置文件。对于您的情况,由于您已经将角色添加到实例中,并且考虑到您正在使用Java SDK,因此需要调用:

InstanceProfileCredentialsProvider mInstanceProfileCredentialsProvider = new InstanceProfileCredentialsProvider();
AWSCredentials credentials = mInstanceProfileCredentialsProvider.getCredentials();
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用的是特定服务,例如AWS S3,则可以直接调用:

AmazonS3 s3Client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain());
Run Code Online (Sandbox Code Playgroud)

有关更多信息:http : //docs.aws.amazon.com/java-sdk/latest/developer-guide/java-dg-roles.html

提醒您:永远不要在代码中留下访问密钥和密钥秘密。