2

我的 AWS 配置文件~/.aws/credentials包含由 STS 创建的会话凭证。

[default]
aws_session_token=XXX
aws_access_key_id=XXX
aws_secret_access_key=XXX

我正在尝试使用 AWS SDK Java v2 访问这些凭证

使用DefaultCredentialsProviderorProfileCredentialsProvider找到它们,但返回的对象是类型AwsCredentials而不是AwsSessionCredentials不包括会话令牌,只有访问密钥 ID 和秘密访问密钥。

有没有办法检索完整的会话凭据?

4

2 回答 2

1

AwsCredentials 是一个接口。

public interface AwsCredentials {
    String accessKeyId();
    String secretAccessKey();
}

它由 AwsBasicCredentials 和 AwsSessionCredentials 实现。

根据是否设置了会话令牌,当调用 resolveCredentials() API 时,将向您返回适当的类。

于 2021-04-03T01:09:17.753 回答
0

而不是使用 AwsCredentials/AwsSessionCredentials 为什么您不喜欢使用Aws4PresignerParams它将为您提供所有三个参数(aws_session_token、aws_access_key_id 和 aws_secret_access_key)。

于 2021-04-18T07:54:29.697 回答