

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS STS 中管理 AWS 區域
<a name="id_credentials_temp_enable-regions"></a>

區域端點是 Web 服務特定區域內進入點的 AWS URL。 AWS 建議使用 Regional AWS Security Token Service (AWS STS) 端點而非全域端點，以減少延遲、建置備援並提高工作階段字符有效性。雖然全域 （舊版） AWS STS 端點`https://sts.amazonaws.com`高度可用，但它託管在單一 AWS 區域、美國東部 （維吉尼亞北部） 和其他端點，但它不提供自動容錯移轉到其他區域中的端點。
+ **降低延遲** – 透過 AWS STS 呼叫地理位置上更接近服務和應用程式的端點，您可以存取具有更低延遲和更好回應時間 AWS STS 的服務。
+ **內建備援** – 您可以將工作負載內失敗的影響限制為有限數量的元件，且具有可預測的影響限制範圍。使用區域 AWS STS 端點可讓您將元件的範圍與工作階段字符的範圍保持一致。如需有關此可靠性支柱的詳細資訊，請參閱 *AWS  Well-Architected Framework *中的[使用故障隔離來保護工作負載](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/use-fault-isolation-to-protect-your-workload.html)。
+ **提高工作階段字符有效性** – 區域 AWS STS 端點的工作階段字符在所有 中都有效 AWS 區域。來自全域 STS 端點的工作階段權杖僅在預設啟用 AWS 區域 的 中有效。如果您想要為帳戶啟用新的區域，您可以從區域 AWS STS 端點使用工作階段字符。如果您選擇使用全域端點，則必須變更全域端點之 AWS STS 工作階段字符的區域相容性。這樣做可確保字符在所有 中都有效 AWS 區域。

如需 AWS STS 區域及其端點的清單，請參閱 [AWS STS 區域和端點](id_credentials_temp_region-endpoints.md)。

**注意**  
AWS 已對[依預設啟用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的區域中的 AWS Security Token Service (AWS STS) 全域端點 (`https://sts.amazonaws.com`) 進行變更，以增強其彈性和效能。對全域端點的 AWS STS 請求會在與您的工作負載 AWS 區域 相同的 中自動提供。這些變更不會部署至選擇加入區域。我們建議您使用適當的 AWS STS 區域端點。如需詳細資訊，請參閱[AWS STS 全域端點變更](id_credentials_temp_region-endpoints.md#reference_sts_global_endpoint_changes)。

**Topics**
+ [在 AWS STS 中啟用和停用 AWS 區域](#sts-regions-activate-deactivate)
+ [編寫程式碼以使用 AWS STS 區域](#id_credentials_temp_enable-regions_writing_code)
+ [管理全域端點的工作階段權杖](#sts-regions-manage-tokens)

## 在 AWS STS 中啟用和停用 AWS 區域
<a name="sts-regions-activate-deactivate"></a>

當您啟用區域的 AWS STS 端點時， AWS STS 可以向帳戶中提出 AWS STS 請求的使用者和角色發出臨時登入資料。然後，您就可以在預設啟用或手動啟用的任何區域中使用這些憑證。對於預設啟用的區域，您必須在產生臨時憑證的帳戶中啟用區域 AWS STS 端點。提出請求時使用者登入的是相同帳戶或不同帳戶並不重要。 AWS 帳戶 使用手動啟用的區域請求另一個 中角色的臨時登入資料時，目標帳戶 （包含該角色的帳戶） 必須啟用該區域以進行 AWS STS 操作。這樣可以確保正確地產生臨時安全憑證。

例如，假設帳戶 A 中的使用者想要向 [AWS STS 區域端點](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_region-endpoints.html) `https://sts.ap-southeast-3.amazonaws.com` 傳送 `sts:AssumeRole` API 請求。該請求的目的是為帳戶 B 中名為 `Developer` 的角色取得臨時憑證。由於請求的目的是為帳戶 B 中的實體建立憑證，因此帳戶 B 必須啟用 `ap-southeast-3` 區域。來自帳戶A (或任何其他帳戶) 的使用者可以呼叫 `ap-southeast-3` AWS STS 端點以請求帳戶 B 的憑證，無論該帳戶中是否已啟用該區域。若要進一步了解，請參閱[AWS 區域 在您的帳戶中啟用或停用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) 。

**注意**  
在該帳戶中使用臨時性憑證的每個人都可使用作用中的區域。若要控制哪些 IAM 使用者或角色可以存取區域，請在許可政策中使用 `aws:RequestedRegion` 條件金鑰。

**在預設啟用 AWS STS 的區域中啟用或停用 （主控台）**

1. 以具有 IAM 管理任務執行許可的根使用者或使用者身分來登入。

1. 開啟 [IAM 主控台](https://console.aws.amazon.com/iam/home?#home)，然後在導覽窗格中選擇 [https://console.aws.amazon.com/iam/home?#account_settings](https://console.aws.amazon.com/iam/home?#account_settings) (帳戶設定)。

1. 在 **Security Token Service (STS)** 的**端點**區段中，找到要設定的區域，然後在 **STS 狀態**資料欄中選擇**作用中**或**非作用中**。

1. 在開啟的對話方塊中，選擇 **Activate** (啟用) 或 **Deactivate** (停用)。

對於必須啟用的區域，我們會在您啟用區域時 AWS STS 自動啟用 。啟用區域之後， AWS STS 一律會為該區域啟用，且您無法停用該區域。若要了解如何啟用預設停用的區域，請參閱《 *AWS 帳戶管理 參考指南*》中的[指定 AWS 區域 您的帳戶可以使用哪些](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)區域。

## 編寫程式碼以使用 AWS STS 區域
<a name="id_credentials_temp_enable-regions_writing_code"></a>

啟用區域之後，您可以將 AWS STS API 呼叫導向該區域。以下 Java 程式碼片段示範如何設定 `AWSSecurityTokenService` 物件，以對歐洲 (米蘭) (eu-south-1) 區域提出請求。

```
EndpointConfiguration regionEndpointConfig = new EndpointConfiguration("https://sts.eu-south-1.amazonaws.com", "eu-south-1");
AWSSecurityTokenService stsRegionalClient = AWSSecurityTokenServiceClientBuilder.standard()
.withCredentials(credentials)
.withEndpointConfiguration(regionEndpointConfig)
.build();
```

AWS STS 建議您呼叫區域端點。若要了解如何手動啟用區域，請參閱 *AWS 帳戶管理 Reference Guide* 中的[Specify which AWS 區域 your account can use](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)。

在這個範例中，第一行會執行個體化稱為 `regionEndpointConfig` 的 `EndpointConfiguration` 物件，並將端點和 AWS 區域 的 URL 做為參數傳遞。

若要了解如何使用 SDKs AWS 的環境變數設定 AWS STS 區域端點，請參閱 *AWS SDKs和工具參考指南*中的[AWS STS 區域化端點](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html)。

對於所有其他語言和程式設計環境組合，請參閱[相關軟體開發套件的文件](https://aws.amazon.com/tools/)。

## 管理全域端點的工作階段權杖
<a name="sts-regions-manage-tokens"></a>

根據 AWS 服務 預設 AWS 區域 ，大多數都已啟用所有 中的操作。這些區域會自動啟用以搭配 使用 AWS STS。亞太區域 (香港) 之類的某些區域必須手動啟用。若要了解如何啟用和停用 AWS 區域，請參閱 *AWS 帳戶管理 Reference Guide* 中的 [Specify which AWS 區域 your account can use](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)。當您啟用這些 AWS 區域時，它們會自動啟用以供 使用 AWS STS。您無法為已停用的區域啟用 AWS STS 端點。在所有 中有效的工作階段字符 AWS 區域 包含的字元多於在預設啟用的區域中有效的字符。變更此設定可能會影響暫時存放權杖的現有系統。

您可以使用 AWS 管理主控台 AWS CLI或 AWS API 變更此設定。

**變更全域端點工作階段權杖的區域相容性 (主控台)**

1. 以具有 IAM 管理任務執行許可的根使用者或使用者身分來登入。若要變更工作階段權杖的相容性，您必須擁有允許 `iam:SetSecurityTokenServicePreferences` 動作的政策。

1. 開啟 [ IAM 主控台](https://console.aws.amazon.com/iam/home?#home)。在導覽窗格中，選擇 **Account settings (帳戶設定)**。

1. 在 **Security Token Service (STS)** (安全權杖服務 (STS)) 區段的 **Session Tokens from the STS endpoints** (來自 STS 端點的工作階段權杖) 下方。**Global endpoint** (全域端點) 表示 `Valid only in AWS 區域 enabled by default`。選擇 **Change (變更)**。

1. 在**變更區域相容性**對話方塊中，選取**全部 AWS 區域**。接著選擇 **Save changes (儲存變更)**。
**注意**  
在所有 中有效的工作階段字符 AWS 區域 包含的字元多於在預設啟用的區域中有效的字符。變更此設定可能會影響暫時存放權杖的現有系統。

**變更全域端點工作階段權杖的區域相容性 (AWS CLI)**  
設定工作階段字符版本。第 1 版字符僅在預設 AWS 區域 可用的 中有效。這些權杖不適用於手動啟用的區域，例如亞太區域 (香港)。版本 2 權杖在所有區域都有效。不過，版本 2 權杖包含較多字元且可能會影響暫時存放權杖的系統。
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/set-security-token-service-preferences.html](https://docs.aws.amazon.com/cli/latest/reference/iam/set-security-token-service-preferences.html)

**變更全域端點 (AWS API) 工作階段字符的區域相容性**  
設定工作階段字符版本。第 1 版字符僅在預設 AWS 區域 可用的 中有效。這些權杖不適用於手動啟用的區域，例如亞太區域 (香港)。版本 2 權杖在所有區域都有效。不過，版本 2 權杖包含較多字元且可能會影響暫時存放權杖的系統。
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html) 