本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon STS 区域终端节点
注意
如需了解设置页面布局或解释后面的 Support b y Amazon SDKs 和 tools 表格的帮助,请参阅了解本指南的设置页面。
Amazon Security Token Service (Amazon STS) 既可作为全球服务,也可作为区域服务提供。其中一些 Amazon
SDKs 和默认 CLIs 使用全球服务终端节点 (https://sts.amazonaws.com
),而有些则使用区域服务终端节点 (https://sts.
)。全球请求映射到美国东部(弗吉尼亚北部)区域。有关 Amazon STS 终端节点的更多信息,请参阅 Amazon Security Token Service API 参考中的终端节点。或者,Amazon STS 在《Amazon Identity and Access Management 用户指南》 Amazon Web Services 区域中学习管理。{region_identifier}
.{partition_domain}
Amazon 最佳做法是尽可能使用区域终端节点并配置您的终端节点Amazon Web Services 区域。非商业分区的客户必须使用区域终端节点。并非所有 SDKs 工具都支持此设置,但所有工具都围绕全球和区域端点定义了行为。有关更多信息,请参阅下文的 部分。
对于支持此设置的 SDKs 和工具,客户可以使用以下方式配置功能:
sts_regional_endpoints
-共享 Amazonconfig
文件设置AWS_STS_REGIONAL_ENDPOINTS
- 环境变量-
此设置指定 SDK 或工具如何确定用于与 Amazon Security Token Service (Amazon STS) 通信的 Amazon Web Services 服务 端点。
默认值:
legacy
注意
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 = regional
Linux/macOS 通过命令行设置环境变量的示例:
export AWS_STS_REGIONAL_ENDPOINTS=regional
Windows 通过命令行设置环境变量的示例:
setx AWS_STS_REGIONAL_ENDPOINTS regional
-
Support Amazon SDKs by 和工具
注意
Amazon 最佳做法是尽可能使用区域终端节点并配置您的终端节点Amazon Web Services 区域。
下表汇总了您的 SDK 或工具:
-
支持设置:是否支持 STS 区域端点的共享
config
文件变量和环境变量。 -
默认设置值:该设置的默认值(如果支持)。
-
默认服务客户端目标 STS Endp oint:即使更改默认端点的设置不可用,客户端也会使用哪个默认端点。
-
服务客户端回退行为:当 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 的软件开发工具包 | 否 | 不适用 | 区域端点 | 请求失败 | |
适用于 JavaScript 2.x 的 SDK | 是 | legacy |
全球终端节点 | 全球终端节点 | |
适用于 Kotlin 的 SDK | 否 | 不适用 | 区域端点 | 全球终端节点 | |
适用于 .NET 3.x 的 SDK | 是 | legacy |
全球终端节点 | 全球终端节点 | |
适用于 PHP 3.x 的 SDK | 是 | legacy |
全球终端节点 | 请求失败 | |
适用于 Python (Boto3) 的 SDK |
是 | legacy |
全球终端节点 | 全球终端节点 | |
适用于 Ruby 3.x 的 SDK | 是 | regional |
区域端点 | 请求失败 | |
适用于 Rust 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 | |
适用于 Swift 的 SDK | 否 | 不适用 | 区域端点 | 请求失败 | |
用于 PowerShell | 是 | legacy |
全球终端节点 | 全球终端节点 |