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

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

Amazon STS 区域终端节点

注意

如需了解设置页面布局或解释后面的 Support b y Amazon SDKs 和 tools 表格的帮助,请参阅了解本指南的设置页面

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 STS 在《Amazon Identity and Access Management 用户指南》 Amazon Web Services 区域中学习管理

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

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

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

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

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