【发布时间】:2019-04-13 21:52:32
【问题描述】:
我有什么
- IAM 用户
- 具有 s3,sqs 权限的 IAM 角色
- 弹簧靴支架
- 使用 aws 资源的 Web 服务服务验证 aws 基于角色(未提供密钥)
我想要什么
- 在本地运行应用程序
- 某种方式让本地机器承担所需的 IAM 角色
Aws 资源初始化
AmazonS3 amazonS3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new EC2ContainerCredentialsProviderWrapper())
.withRegion(Regions.DEFAULT_REGION)
.withForceGlobalBucketAccessEnabled(true)
.build();
AmazonSQS amazonSQSClient = amazonSQSClient = AmazonSQSClientBuilder.standard()
.withCredentials(new EC2ContainerCredentialsProviderWrapper())
.withRegion(Region.getRegion(regions).getName())
.build();
现在当我运行应用程序并拨打电话时 显然 AWS 访问被拒绝了
我想找到任何教程,在那里我可以在本地机器上进行某些配置并在本地机器上担任所需的角色。
【问题讨论】:
-
我是 Python 人,不是 Java,但同样的通用方法应该可以工作。我将 IAM 用户凭证放在本地凭证文件中(最简单的是通过 AWS CLI
aws configure命令)。然后,在没有凭据的情况下调用AssumeRole()(因为它们将从凭据文件中获取)。然后,这将返回一组临时凭据,可用于创建Session以用于创建客户端。查看以下代码示例:Delegating API Access to AWS Services Using IAM Roles -
@JohnRotenstein :看起来像是一个完整的答案,而不仅仅是评论,谢谢,让我试试
标签: java amazon-web-services amazon-iam