AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

在 AWS 区域中激活和停用 AWS STS

默认情况下,AWS Security Token Service (AWS STS) 作为全球服务提供,所有 AWS STS 请求都会转到 https://sts.amazonaws.com.cn 上的同一个终端节点。您可以选择将 AWS STS 请求发送到随后的表中显示的任意 AWS 区域中的终端节点。默认情况下,所有区域都处于启用状态,您可以禁用您认为不需要的任何区域。

您可以出于以下原因选择将 AWS STS 请求发送到区域终端节点:

  • 减少延迟 – 通过向在地理位置上比较接近您的服务和应用程序的终端节点发出 AWS STS 调用,可以缩短访问 AWS STS 服务时的响应时间并减少延迟。

  • 构建冗余能力 – 通过向应用程序添加将 AWS STS API 调用切换到另一个区域的代码,可确保在第一个区域停止响应时,应用程序将继续运行。此冗余不是自动的;您必须在您的代码中构建此功能。

在您为某个账户激活一个区域之后,当有人向该区域中的终端节点发出请求时,该区域中的 STS 终端节点能够为该账户中的用户和角色颁发临时凭证。这些凭证仍然是可全局识别和使用的。必须激活该区域的不是调用方的账户,而是从其中发出临时凭证请求的账户。

例如,假设账户 A 中的某个用户希望向 STS 区域终端节点 sts:AssumeRole 发送 https://sts.us-west-2.amazonaws.com.cn API 请求。该请求针对的是账户 B 中名为 Developer 的角色的临时凭证。由于该请求旨在为账户 B 中的某个实体创建凭证,因此账户 B 必须激活 us-west-2 区域。账户 A (或任何其他账户) 中的用户可调用 us-west-2 终端节点来为账户 B 请求凭证,而无论该区域是否在其账户中激活。

在区域中激活或停用 AWS STS

注意

默认情况下,所有区域都处于激活状态。仅在之前已停用某个区域后才需要激活该区域。

  1. 对于您要在新区域中为其激活 AWS STS 的账户,作为有权执行 IAM 管理任务的 IAM 用户 ("iam:*") 登录。

  2. 打开 IAM 控制台,然后在导航窗格中选择 Account Settings

  3. 展开 Security Token Service Regions 列表,找到要使用的区域,然后选择 ActivateDeactivate

写入用于使用 AWS STS 区域的代码

为 AWS 账户激活区域之后,可以将 AWS STS API 调用定向到该区域。以下 Java 代码段演示如何通过 setEndpoint 方法配置 AWSSecurityTokenServiceClient 对象,以从 欧洲(爱尔兰) (eu-west-1) 区域进行请求。

AWSSecurityTokenServiceClient stsClient = new AWSSecurityTokenServiceClient(); stsClient.setEndpoint("sts.eu-west-1.amazonaws.com.cn");

重要

请勿使用 setRegion 方法为 AWS STS 设置区域终端节点,因为为了实现向后兼容,该方法会继续解析为 sts.amazonaws.com.cn 原有的单个全局终端节点。

在该示例中,第一行实例化一个 AWSSecurityTokenServiceClient 对象 (名为 stsClient)。第二行通过调用 stsClient 方法并将终端节点的 URL 作为唯一参数传递来配置 setEndpoint 对象。使用此 stsClient 对象的所有 API 调用现在都定向到指定终端节点。

有关所有其他的语言和编程环境组合,请参阅相关开发工具包的文档

在区域中使用 AWS STS 的其他方面都无变化。与往常一样,从区域中的 AWS STS 终端节点收到的凭证并不仅限该区域使用;您可以在全球范围使用。

下表列出了区域及其终端节点。其中指示哪些是默认激活的,哪些是可激活或停用的。

区域名称 Endpoint 可以激活/停用
--服务全球-- sts.amazonaws.com.cn
美国东部(俄亥俄州) sts.us-east-2.amazonaws.com
美国东部(弗吉尼亚北部) sts.us-east-1.amazonaws.com
美国西部(加利福尼亚北部) sts.us-west-1.amazonaws.com
美国西部(俄勒冈) sts.us-west-2.amazonaws.com
加拿大 (中部) sts.ca-central-1.amazonaws.com
亚太区域(东京) sts.ap-northeast-1.amazonaws.com
亚太区域(首尔) sts.ap-northeast-2.amazonaws.com
亚太地区(孟买) sts.ap-south-1.amazonaws.com
亚太区域(新加坡) sts.ap-southeast-1.amazonaws.com
亚太区域(悉尼) sts.ap-southeast-2.amazonaws.com
欧洲(法兰克福) sts.eu-central-1.amazonaws.com
欧洲(爱尔兰) sts.eu-west-1.amazonaws.com
欧洲 (伦敦) sts.eu-west-2.amazonaws.com
欧洲 (巴黎) sts.eu-west-3.amazonaws.com
南美洲(圣保罗) sts.sa-east-1.amazonaws.com

注意

对区域终端节点(如 us-west-2.amazonaws.com.cn)的调用会像对区域服务的任何调用一样记录在 AWS CloudTrail 中。对全局终端节点 (如 sts.amazonaws.com.cn) 的调用会记录为对全局服务的调用。有关更多信息,请参阅 使用 AWS CloudTrail 记录 IAM 和 AWS STS API 调用