身份验证方案 - AWS SDK 和工具

身份验证方案

注意

如需获得相关帮助,以了解设置页面的布局或解释后面的 AWS SDK 和工具支持表,请参阅了解本指南的设置页面

AWS 服务支持多种身份验证方案,例如 AWS 签名版本 4(SigV4)和 AWS 签名版本 4a(SigV4a)。默认情况下,SDK 会根据服务模型定义选择身份验证方案,并优先考虑具有最佳兼容性的方案。但您可以配置根据具体要求进行优化的首选身份身验证方案。

与 SigV4 不同,使用 SigV4a 签名的请求在多个 AWS 区域中都有效。SigV4a 通过跨区域请求签名来提高可用性,方便在发生区域中断时自动失效转移到备用区域。这对于类似于 AWS Identity and Access Management 或 Amazon CloudFront 的全球服务特别有利。

有关这两种身份验证方案的更多信息,请参阅《IAM 用户指南》中的适用于 API 请求的 AWS 签名版本 4

使用以下方法配置此功能:

auth_scheme_preference - 共享 AWS config 文件设置
AWS_AUTH_SCHEME_PREFERENCE - 环境变量
aws.authSchemePreference:JVM 系统属性,仅适用于 Java/Kotlin

按优先顺序指定首选身份验证方案列表(以逗号分隔)。当一项服务支持多种身份验证方案时,SDK 会尝试按指定顺序使用该列表中的方案,如果所有首选方案都不可,用则会回退到默认行为。

默认值:无。

有效值:以下一项或多项的逗号分隔列表:

  • sigv4:签名版本 4(性能最快,单区域)

  • sigv4a:签名版本 4a(可用性更强,跨区域支持,签名性能比 SigV4 慢)

  • httpBearerAuth:HTTP 不记名令牌身份验证

方案名称之间的空格和制表符将被忽略。

config 文件中将该值设置为首选 SigV4a 的示例:

[default] auth_scheme_preference=sigv4a,sigv4
sigv4a_signing_region_set - 共享 AWS config 文件设置
AWS_SIGV4A_SIGNING_REGION_SET - 环境变量

为 SigV4a 多区域签名指定以逗号分隔的 AWS 区域列表。如果所选的身份验证方案为 SigV4a,则将此用作为该请求设置的默认区域。

默认值:因请求而定。

有效值:以逗号分隔的 AWS 区域列表。区域之间的空格和制表符将被忽略。

AWS SDK 和工具支持

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。任何 JVM 系统属性设置都仅支持 适用于 Java 的 AWS SDK 和 适用于 Kotlin 的 AWS SDK。