![](/img/trans.png)
[英]Cannot access s3 from application running on EKS EC2 instance, IAM assume role permissions issue
[英]create a Java application, which will use an ec2 role to access the restricted s3 bucket on Local
AmazonS3 s3;
s3 = AmazonS3ClientBuilder.standard().withRegion(region).build();
return s3;
我现在正在创建 s3 客户端而不提供任何凭据如果我使用任何 api 使用此 s3 客户端,它会抛出一条消息访问被拒绝。
AWSCredentials credentials = new BasicAWSCredentials(accessKey, accessSecret);
return AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(region).build();
使用此代码可以正常工作,但我不想提供 accessKey 和 accessSecret。 我创建了一个具有 s3bucket 完全访问权限和 ec2 完全访问权限的角色。 现在如何创建一个 Java 应用程序,它将使用 ec2 角色访问本地的受限 s3 存储桶而无需访问密钥和秘密密钥
不要使用 BasicAwsCredentials 提供程序,而是使用com.amazonaws.auth.DefaultAWSCredentialsProviderChain来获取凭证实例。 DefaultAWSCredentialsProvider 按以下顺序进行。
按此顺序查找凭证的 AWS 凭证提供程序链:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.