本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon STS 区域性端点
注意
如需获得相关帮助,以了解设置页面的布局或解释后面的 Amazon SDK 和工具支持表,请参阅了解本指南的设置页面。
Amazon Security Token Service(Amazon STS)既可作为全局服务提供,也可作为区域性服务提供。某些 Amazon SDK 和 CLI 默认使用全局服务端点(https://sts.amazonaws.com),而其他则使用区域性服务端点(https://sts.)。在默认启用的区域中,发往 Amazon STS 全局端点的请求会自动在请求发起的同一区域中处理。在选择加入区域中,发往 Amazon STS 全局端点的请求由单个 Amazon Web Services 区域美国东部(弗吉尼亚州北部)处理。有关 Amazon STS 端点的更多信息,请参阅《Amazon Security Token Service API 参考》中的 Endpoints 或《Amazon Identity and Access Management 用户指南》中的管理 Amazon Web Services 区域中的 Amazon STS。{region_identifier}.{partition_domain}
根据 Amazon 最佳实践要求,建议尽可能使用区域性端点并配置您的 Amazon Web Services 区域。非商业分区中的客户必须使用区域性端点。并非所有 SDK 和工具都支持此设置,但对于全局端点和区域性端点,所有 SDK 和工具都有既定的行为。有关更多信息,请参阅以下部分。
注意
Amazon 已对默认启用的区域中的 Amazon Security Token Service (Amazon STS) 全局端点 (https://sts.amazonaws.com) 进行了更改,以增强其恢复能力和性能。发往全局端点的 Amazon STS 请求将自动在与您的工作负载相同的 Amazon Web Services 区域中处理。这些更改不会部署到选择加入的区域。我们建议您使用适当的 Amazon STS 区域端点。有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的 Amazon STS 全局端点更改。
对于支持此设置的 SDK 和工具,客户可以使用以下方式来配置该功能:
sts_regional_endpoints- 共享 Amazonconfig文件设置AWS_STS_REGIONAL_ENDPOINTS- 环境变量-
此设置指定 SDK 或工具如何确定用于与 Amazon Security Token Service (Amazon STS) 通信的 Amazon Web Services 服务 端点。
默认值:
regional,相关例外详见下表。注意
2022 年 7 月之后发布的所有新 SDK 主要版本都将默认为
regional。新的 SDK 主要版本可能会删除此设置并使用regional行为。为了减少此变更对未来的影响,我们建议您尽可能在应用程序中开始使用regional。有效值:(建议的值:
regional)-
legacy:使用全局 Amazon STS 端点sts.amazonaws.com。 -
regional– SDK 或工具始终对当前配置的区域使用 Amazon STS 端点。例如,如果客户端配置为使用us-west-2,则对 Amazon STS 进行的所有调用都针对区域端点sts.us-west-2.amazonaws.com而非全局sts.amazonaws.com端点。要在启用此设置时向全局端点发送请求,您可以将区域设置为aws-global。
在
config文件中设置这些值的示例:[default] sts_regional_endpoints = regionalLinux/macOS 通过命令行设置环境变量的示例:
export AWS_STS_REGIONAL_ENDPOINTS=regionalWindows 通过命令行设置环境变量的示例:
setx AWS_STS_REGIONAL_ENDPOINTS regional -
Amazon SDK 和工具支持
注意
根据 Amazon 最佳实践要求,建议尽可能使用区域性端点并配置您的 Amazon Web Services 区域。
下表汇总了 SDK 或工具的下列配置:
-
支持设置:是否支持 STS 区域性端点的共享
config文件变量和环境变量。 -
默认设置值:该设置(如果支持)的默认值。
-
默认服务客户端目标 STS 端点:即使更改默认端点的设置不可用,客户端也会使用的默认端点。
-
服务客户端回退行为:当 SDK 本应使用区域性端点但尚未配置区域时的行为。无论使用区域性端点是属于默认行为,还是因为该设置选择了
regional,都会出现这种行为。
该表还使用了下列值:
-
全局端点:
https://sts.amazonaws.com -
区域性端点:基于应用程序使用的 Amazon Web Services 区域配置。
-
us-east-1(区域性):使用us-east-1区域性端点,但会话令牌要比典型的全局请求长。
| SDK |
支持设置 |
默认设置值 |
默认服务客户端目标 STS 端点 |
服务客户端回退行为 |
备注或更多信息 |
|---|---|---|---|---|---|
| Amazon CLI v2 | 否 | 不适用 | 区域端点 | 全局端点 | |
| Amazon CLI v1 | 是 | legacy |
全局端点 | 全局端点 | |
| 适用于 C++ 的 SDK | 否 | 不适用 | 区域端点 | us-east-1(区域性) |
|
| 适用于 Go V2 (1.x) 的 SDK |
否 | 不适用 | 区域端点 | 请求失败 | |
| 适用于 Go 1.x(V1)的 SDK | 是 | legacy |
全局端点 | 全局端点 | 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话。 |
| 适用于 Java 2.x 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 |
如果未配置区域,则 |
| 适用于 Java 1.x 的 SDK | 是 | legacy |
全局端点 | 全局端点 | |
| 适用于 JavaScript 3.x 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 | |
| 适用于 JavaScript 2.x 的 SDK | 是 | legacy |
全局端点 | 全局端点 | |
| 适用于 Kotlin 的 SDK | 否 | 不适用 | 区域端点 | 全局端点 | |
| 适用于 .NET 4.x 的 SDK | 否 | 不适用 | 区域端点 | us-east-1(区域性) |
|
| 适用于 .NET 3.x 的 SDK | 是 | regional |
全局端点 | 全局端点 | |
| 适用于 PHP 3.x 的 SDK | 是 | regional |
全局端点 | 请求失败 | |
| 适用于 Python (Boto3) 的 SDK |
是 | regional |
全局端点 | 全局端点 | |
| 适用于 Ruby 3.x 的 SDK | 是 | regional |
区域端点 | 请求失败 | |
| 适用于 Rust 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 | |
| 适用于 Swift 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 | |
| Tools for PowerShell V5 | 是 | regional |
全局端点 | 全局端点 | |
| Tools for PowerShell V4 | 是 | regional |
全局端点 | 全局端点 |