Luk*_*ner 6 java sdk aws-sts amazon-eks
我刚刚调试了 AWS Java SDK 的一个奇怪问题:只有当 SDK 的 STS 模块位于类路径中时,才可以使用 WebIdentityTokenCredentials(服务帐户提供的)在 AWS EKS 中运行 pod。
有人可以确认吗?这太奇怪了。有人有这方面的任何文件吗?
我尝试使用 DefaultAWSCredentialsProviderChain 发送 SQS 消息。我收到“访问被拒绝”响应,尽管连接到服务账户的 AWS IAM 用户拥有所有 SQS 权限,并且我可以在容器中查看 AWS_WEB_IDENTITY_TOKEN_FILE ENV-Variable 设置是否正确。我什至可以使用 AWS CLI 发送 SQS 消息。所以线索是我的 CredentialsProviderChain 没有获取令牌文件。
当我添加 STS 模块 ( api group: 'com.amazonaws', name: 'aws-java-sdk-sts', version: '1.11.779') 时,它起作用了......
迟回复:AWS Security Token Service 用于获取可用于访问 AWS 服务的临时、有限权限凭证。
即使 EC2 实例具有适当的角色,它仍然使用 STS 来获取大约 6 小时有效的临时会话令牌。(它不会等到会话令牌过期 - 它只是每半小时或 1 小时从 STS 获取一个新的会话令牌。)
事实上,EC2 实例应该具有必要的角色,并访问 STS,以便其他 AWS 服务获得授权。
| 归档时间: |
|
| 查看次数: |
5083 次 |
| 最近记录: |