本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon STS 区域 端点
Amazon Security Token Service (Amazon STS) 既提供全球服务,也可作为区域服务提供。其中一些 Amazon SDKs并默认CLIs使用全球服务终端节点 (https://sts.amazonaws.com
),而有些则使用区域服务终端节点 (https://sts.
)。全球请求映射到美国东部(弗吉尼亚北部)区域。有关 Amazon STS 终端节点,请参阅中的终端节点 Amazon Security Token Service API参考。{region_identifier}
.{partition_domain}
它是一个 Amazon 最佳实践是尽可能使用区域终端节点并配置您的Amazon Web Services 区域。非商业分区的客户必须使用区域终端节点。并非所有SDKs工具都支持此设置,但所有工具都围绕全球和区域端点定义了行为。有关更多信息,请参阅下文的小节。
对于支持此设置的SDKs和工具,客户可以使用以下方式配置功能:
sts_regional_endpoints
-共享 Amazonconfig
文件设置AWS_STS_REGIONAL_ENDPOINTS
- 环境变量-
此设置指定SDK或工具如何确定 Amazon Web Services 服务 它用来与之交谈的端点 Amazon Security Token Service (Amazon STS).
默认值:
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
-
与之兼容 Amazon SDKs
注意
它是一个 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 |
全球终端节点 | 全球终端节点 | |
SDK对于 C++ | 否 | 不适用 | 区域端点 | us-east-1 (区域) |
|
SDK适用于 Go V2 (1.x) |
否 | 不适用 | 区域端点 | 请求失败 | |
SDK适用于 Go 1.x (V1) | 是 | legacy |
全球终端节点 | 全球终端节点 | 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话。 |
SDK适用于 Java 2.x | 否 | 不适用 | 区域端点 | 请求失败 |
如果未配置任何区域,则 |
SDK适用于 Java 1.x | 是 | legacy |
全球终端节点 | 全球终端节点 | |
SDK适用于 JavaScript 3.x | 否 | 不适用 | 区域端点 | 请求失败 | |
SDK适用于 JavaScript 2.x | 是 | legacy |
全球终端节点 | 全球终端节点 | |
SDK对于 Kotlin 来说 | 否 | 不适用 | 区域端点 | 全球终端节点 | |
SDK对于。 NET3.x | 是 | legacy |
全球终端节点 | 全球终端节点 | |
SDK适用于 PHP 3.x | 是 | legacy |
全球终端节点 | 请求失败 | |
SDK适用于 Python (Boto3) |
是 | legacy |
全球终端节点 | 全球终端节点 | |
SDK适用于 Ruby 3.x | 是 | regional |
区域端点 | 请求失败 | |
SDK对于 Rust | 否 | 不适用 | 区域端点 | 请求失败 | |
SDK为斯威夫特 | 否 | 不适用 | 区域端点 | 请求失败 | |
用于 PowerShell | 是 | legacy |
全球终端节点 | 全球终端节点 |