AWS STS 区域化终端节点 - AWS 软件开发工具包和工具

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

AWS STS 区域化终端节点

默认情况下, AWS Security Token Service (AWS STS) 可作为全局服务使用,并且所有 AWS STS 请求都发送到的单个终端节点https://sts.amazonaws.com。全球请求映射到美国东部(弗吉尼亚北部)区域。 AWS 建议使用区域 AWS STS 终端节点而不是全球终端节点。有关 AWS STS 终端节点的更多信息,请参阅AWS Security Token Service API 参考中的终端节点

使用以下方法配置此功能:

sts_regional_endpoints-共享 AWS config文件设置
AWS_STS_REGIONAL_ENDPOINTS - 环境变量

此设置指定 SDK 或工具如何确定用于与 AWS Security Token Service (AWS STS) 通信的 AWS 服务 端点。

默认值legacy

注意

2022 年 7 月之后发布的所有新 SDK 主要版本都将默认为regional。新的 SDK 主要版本可能会删除此设置并使用regional行为。为了减少此变更对未来的影响,我们建议您尽可能在应用程序中开始使用regional

有效值:(建议的值:regional

  • legacy— 对以下 AWS 区域使用全局 AWS STS 终端节点:ap-northeast-1、、ap-south-1、、ap-southeast-1ap-southeast-2aws-globalca-central-1eu-central-1eu-north-1eu-west-1eu-west-2eu-west-3sa-east-1、、us-east-1us-east-2us-west-1、和us-west-2sts.amazonaws.com所有其他区域自动使用其各自的区域端点。

  • regional— SDK 或工具始终使用当前配置区域的 AWS STS 终端节点。例如,如果将客户端配置为使用us-west-2,则对的所有调用都将 AWS 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

与 AWS SDK 的兼容性

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 AWS SDK for Java 和 AWS SDK for Kotlin 唯一支持任何 JVM 系统属性设置。

SDK 支持 备注或更多信息
AWS CLI v2 部分 默认值为 regional
适用于 C++ 的 SDK 部分 不支持环境变量和config文件设置。SDK 通过regional设置执行。
适用于 Go V2 (1.x) 的 SDK 支持
适用于 Go 1.x(V1)的 SDK 支持 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话
适用于 Java 2.x 的 SDK 支持
适用于 Java 1.x 的 SDK 支持
适用于 JavaScript 3.x 的软件开发工具包 支持
适用于 JavaScript 2.x 的 SDK 支持
适用于 Kotlin 的 SDK 不支持
适用于 .NET 3.x 的 SDK 支持
适用于 PHP 3.x 的 SDK 支持
适用于 Python (Boto3) 的 SDK 支持
适用于 Ruby 3.x 的 SDK 支持
适用于 Rust 的 SDK 支持
用于 PowerShell 支持