

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 身份验证方案
身份验证方案

**注意**  
如需了解设置页面布局或解释后面的 Support b **y Amazon SDKs 和 tools** 表格的帮助，请参阅[了解本指南的设置页面](settings-reference.md#settingsPages)。

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

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

有关这两种身份验证方案的更多信息，请参阅《IAM 用户指南》中的[适用于 API 请求的Amazon 签名版本 4](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_sigv.html)**。

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

**`auth_scheme_preference`-共享 Amazon `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`-共享 Amazon `config`文件设置`AWS_SIGV4A_SIGNING_REGION_SET` - 环境变量**  
为 Sigv4a 多区域签名指定以逗号分隔 Amazon Web Services 区域 的列表。如果所选的身份验证方案为 SigV4a，则将此用作为该请求设置的默认区域。  
**默认值：**因请求而定。  
**有效值：**以逗号分隔的 Amazon Web Services 区域列表。区域之间的空格和制表符将被忽略。

## Support Amazon SDKs by 和工具


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


| SDK | 支持 | 备注或更多信息 | 
| --- | --- | --- | 
| [Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/) v2 | 是 |  | 
| [适用于 C\$1\$1 的 SDK](https://docs.amazonaws.cn/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [适用于 Go V2 (1.x) 的 SDK](https://docs.amazonaws.cn/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [适用于 Go 1.x（V1）的 SDK](https://docs.amazonaws.cn/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [适用于 Java 2.x 的 SDK](https://docs.amazonaws.cn/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [适用于 Java 1.x 的 SDK](https://docs.amazonaws.cn/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [适用于 JavaScript 3.x 的软件开发工具包](https://docs.amazonaws.cn/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [适用于 JavaScript 2.x 的 SDK](https://docs.amazonaws.cn/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [适用于 Kotlin 的 SDK](https://docs.amazonaws.cn/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [适用于.NET 4.x 的 SDK](https://docs.amazonaws.cn/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [适用于 .NET 3.x 的 SDK](https://docs.amazonaws.cn/sdk-for-net/v3/developer-guide/) | 否 |  | 
| [适用于 PHP 3.x 的 SDK](https://docs.amazonaws.cn/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [适用于 Python (Boto3) 的 SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [适用于 Ruby 3.x 的 SDK](https://docs.amazonaws.cn/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [适用于 Rust 的 SDK](https://docs.amazonaws.cn/sdk-for-rust/latest/dg/) | 是 |  | 
| [适用于 Swift 的 SDK](https://docs.amazonaws.cn/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [适用于 PowerShell V5 的工具](https://docs.amazonaws.cn/powershell/latest/userguide/) | 是 |  | 
| [适用于 PowerShell V4 的工具](https://docs.amazonaws.cn/powershell/v4/userguide/) | 否 |  | 