Amazon STS 区域 端点 - Amazon SDKs和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon STS 区域 端点

Amazon Security Token Service (Amazon STS) 既提供全球服务,也可作为区域服务提供。其中一些 Amazon SDKs并默认CLIs使用全球服务终端节点 (https://sts.amazonaws.com),而有些则使用区域服务终端节点 (https://sts.{region_identifier}.{partition_domain})。全球请求映射到美国东部(弗吉尼亚北部)区域。有关 Amazon STS 终端节点,请参阅中的终端节点 Amazon Security Token Service API参考

它是一个 Amazon 最佳实践是尽可能使用区域终端节点并配置您的Amazon Web Services 区域。非商业区的客户必须使用区域终端节点。并非所有SDKs工具都支持此设置,但所有工具都围绕全球和区域端点定义了行为。有关更多信息,请参阅下文的小节。

对于支持此设置的SDKs和工具,客户可以使用以下方式配置功能:

sts_regional_endpoints-共享 Amazon config文件设置
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 不适用 区域端点 请求失败

如果未配置任何区域,则AssumeRoleAssumeRoleWithWebIdentity将使用全局STS终端节点

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 全球终端节点 全球终端节点