

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

# 請求臨時安全憑證
<a name="id_credentials_temp_request"></a>

若要請求臨時安全登入資料，您可以在 AWS API 中使用 AWS Security Token Service (AWS STS) 操作。這包括建立和提供信任使用者暫時安全登入資料的操作，這些登入資料可以控制對 AWS 資源的存取。如需 的詳細資訊 AWS STS，請參閱 [IAM 中的暫時安全憑證](id_credentials_temp.md)。若要了解可用來在擔任角色時請求暫時性安全憑證的不同方法，請參閱[擔任角色的方法](id_roles_manage-assume.md)。

若要呼叫 API 操作，您可以使用其中一個 [AWS 軟體開發套件](https://aws.amazon.com/tools/)。適用於多種程式設計語言和環境的軟體開發套件，包括 Java、.NET、Python、Ruby、Android 和 iOS。開發套件會負責的工作諸如以密碼演算法簽署請求，必要時重試請求，以及處理錯誤回應。您也可以使用 AWS STS 查詢 API，如 [AWS Security Token Service API 參考](https://docs.aws.amazon.com/STS/latest/APIReference/)中所述。最後，兩個命令列工具支援 AWS STS 命令： [AWS Command Line Interface](https://aws.amazon.com/documentation/cli)和 [AWS Tools for Windows PowerShell](https://aws.amazon.com/documentation/powershell)。

 AWS STS API 操作會使用包含存取金鑰對和工作階段字符的臨時安全登入資料建立新的工作階段。存取金鑰對包含存取金鑰 ID 和秘密金鑰。使用者 (或使用者執行的應用程式) 可以使用這些憑證來存取您的資源。您可以建立角色工作階段，並使用 AWS STS API 操作以程式設計方式傳遞工作階段政策和工作階段標籤。所產生工作階段許可會是角色的以身分為基礎的政策和工作階段政策的交集。如需有關工作階段政策的詳細資訊，請參閱 [工作階段政策](access_policies.md#policies_session)。如需有關工作階段標籤的詳細資訊，請參閱 [在 中傳遞工作階段標籤 AWS STS](id_session-tags.md)。

**注意**  
 AWS STS API 操作傳回的工作階段字符大小不固定。我們強烈建議您不對大小上限做出任何假設。一般權杖大小小於 4096 個位元組，但有可能會不同。

## 使用 AWS STS 搭配 AWS 區域
<a name="using_sts_regions"></a>

您可以將 AWS STS API 呼叫傳送至全域端點或其中一個區域端點。如果您選擇比較靠近您的端點，您可以減少延遲並改善您的 API 呼叫的效能。如果可以不再與原始端點通訊，您也可以選擇將您的呼叫導向至其他區域性端點。如果您使用的是其中一個各種 AWS SDKs，請在進行 API 呼叫之前使用該 SDK 方法來指定區域。如果您手動建構 HTTP API 請求，則必須您自己將請求直接導向到正確的端點。如需詳細資訊，請參閱[*區域與端點*的AWS STS 一節](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)和 [在 AWS STS 中管理 AWS 區域](id_credentials_temp_enable-regions.md)。

以下是您可以用來取得臨時登入資料的 API 操作，以便在 AWS 環境和應用程式中使用。

## 透過自訂身分經紀人請求跨帳戶委派和聯合身分的憑證
<a name="api_assumerole"></a>

[https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html) API 操作有助於讓現有的 IAM 使用者存取他們尚未存取 AWS 的資源。例如，使用者可能需要存取另一個 AWS 帳戶中的資源。它也能夠用來暫時獲得特殊許可，例如，提供多重要素驗證 (MFA)。您必須使用作用中的登入資料呼叫此 API。若要了解誰可以呼叫此操作，請參閱 [比較 AWS STS 登入資料](id_credentials_sts-comparison.md)。如需詳細資訊，請參閱[建立角色以將許可授予 IAM 使用者](id_roles_create_for-user.md)及[透過 MFA 實現安全的 API 存取](id_credentials_mfa_configure-api-require.md)。

**透過自訂身分經紀人請求跨帳戶委派和聯合身分的臨時安全憑證**

1. 使用您的 AWS 安全登入資料進行驗證。必須使用有效的 AWS 安全憑證進行此呼叫。

1. 呼叫 [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html) 操作。

以下範例顯示使用 `AssumeRole` 的範例請求及回應。此範例請求假設指定時間內的 `demo` 角色具有已包含的[工作階段政策](access_policies.md#policies_session)、[工作階段標籤](id_session-tags.md)、[外部 ID](id_roles_common-scenarios_third-party.md) 和[來源身分](id_credentials_temp_control-access_monitor.md)。產生的工作階段名為 `John-session`。

**Example 範例請求**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=AssumeRole
&RoleSessionName=John-session
&RoleArn=arn:aws::iam::123456789012:role/demo
&Policy=%7B%22Version%22%3A%222012-10-17		 	 	 %22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%20%22Stmt1%22%2C%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%22s3%3A*%22%2C%22Resource%22%3A%20%22*%22%7D%5D%7D
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&ExternalId=123ABC
&SourceIdentity=DevUser123
&AUTHPARAMS
```

在上述範例中顯示的政策值是以下政策的 URL 編碼版本：

------
#### [ JSON ]

****  

```
{"Version":"2012-10-17",		 	 	 "Statement":[{"Sid":"Stmt1","Effect":"Allow","Action":"s3:*","Resource":"*"}]}
```

------

範例中的 `AUTHPARAMS` 參數是*簽章*的預留位置。簽章是您在 AWS HTTP API 請求中必須包含的身分驗證資訊。我們建議使用 [AWS 開發套件](https://aws.amazon.com/tools/)來建立 API 請求。執行此作業的其中一個好處是開發套件會為您處理請求簽署。如果您必須手動建立和簽署 API 請求，請參閱《》中的[使用簽章版本 4 簽署 AWS 請求](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)，以*Amazon Web Services 一般參考*了解如何簽署請求。

除了暫時性安全憑證外，回應包含聯合身分使用者的 Amazon Resource Name (ARN) 和憑證過期時間。

**Example 回應範例**  

```
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleResult>
<SourceIdentity>DevUser123</SourceIdentity>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
  </SessionToken>
  <SecretAccessKey>
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-07-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
<AssumedRoleUser>
  <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn>
  <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId>
</AssumedRoleUser>
<PackedPolicySize>8</PackedPolicySize>
</AssumeRoleResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</AssumeRoleResponse>
```

**注意**  
 AWS 轉換會將傳遞的工作階段政策和工作階段標籤壓縮為具有個別限制的封裝二進位格式。即使您的純文字符合其他需求，您的請求也可能因不符限制而失敗。`PackedPolicySize` 回應元素會按百分比指出請求的政策和標籤與大小上限的距離。

## 透過 OIDC 提供者請求憑證
<a name="api_assumerolewithwebidentity"></a>

[https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) API 操作會傳回一組臨時 AWS 安全憑證，以換取 JSON Web 權杖 (JWT)。其中包括公有身分提供者 (例如 Login with Amazon、Facebook、Google)，以及發行與 OpenID Connect (OIDC) 探索相容的 JWT 的提供者 (例如 GitHub actions 或 Azure Devops)。如需詳細資訊，請參閱[OIDC 聯合身分](id_roles_providers_oidc.md)。

**注意**  
`AssumeRoleWithWebIdentity` 請求未經簽名，且不需要 AWS 憑證。

**透過 OIDC 提供者請求憑證**

1. 呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) 操作。

   當您呼叫 時`AssumeRoleWithWebIdentity`， 會使用 IdP 的 JSON Web 金鑰集 (JWKS) 提供的公有金鑰驗證數位簽章，以 AWS 驗證顯示的字符。如果字符有效，且符合 IAM 角色信任政策中規定的所有條件， 會 AWS 傳回下列資訊給您：
   + 一組暫時性安全憑證。這些包含存取金鑰 ID、私密存取金鑰和工作階段權杖。
   + 所擔任角色的角色 ID 和 ARN。
   + `SubjectFromWebIdentityToken` 值，其中包含唯一的使用者 ID。

1. 然後，您的應用程式可能會使用回應中傳回的臨時安全登入資料來進行 AWS API 呼叫。這與使用長期安全登入資料進行 AWS API 呼叫的程序相同。差別在於您必須包含工作階段字符，讓 驗證 AWS 臨時安全登入資料是否有效。

您的應用程式應快取 傳回的登入資料 AWS STS ，並視需要重新整理。如果您的應用程式是使用 AWS SDK 建置，則 SDK 具有登入資料提供者，可在登入資料過期之前處理呼叫`AssumeRoleWithWebIdentity`和重新整理 AWS 登入資料。如需詳細資訊，請參閱 *AWS SDKs and Tools Reference Guide* 中的 [AWS SDKs and Tools standardized credential providers](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)。

## 透過 SAML 2.0 身分提供者請求憑證
<a name="api_assumerolewithsaml"></a>

[https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) API 操作會傳回 SAML 聯合身分主體的一組臨時安全憑證，這些主體透過您組織現有的身分系統進行驗證。使用者還必須使用 [SAML 2.0 (安全聲明標記語言)](https://www.oasis-open.org/standards#samlv2.0) 來將身分驗證和授權資訊傳遞至 AWS。這個 API 操作適用於整合他們自己的身分系統的組織 (例如，Windows Active Directory 或 OpenLDAP)，而軟體可以產生 SAML 聲明。這種整合會提供有關使用者身分和許可 (例如 Active Directory Federation Services 或 Shibboleth) 的資訊。如需詳細資訊，請參閱[SAML 2.0 聯合身分](id_roles_providers_saml.md)。

1. 呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) 操作。

   這是未簽署的呼叫，這表示您不需要在提出請求之前驗證 AWS 安全登入資料。
**注意**  
`AssumeRoleWithSAML` 呼叫未簽署 (加密)。因此，如果請求是透過信任的媒介傳輸，您應該只包含選用的工作階段政策。在這種情況下，有人可以更改政策以移除限制。

1. 當您呼叫 時`AssumeRoleWithSAML`， 會 AWS 驗證 SAML 聲明的真實性。假設身分提供者驗證聲明， 會 AWS 傳回下列資訊給您：
   + 一組暫時性安全憑證。這些包含存取金鑰 ID、私密存取金鑰和工作階段權杖。
   + 所擔任角色的角色 ID 和 ARN。
   + `Audience` 值，其包含 SAML 聲明的 `Recipient` 元素的 `SubjectConfirmationData` 屬性值。
   + `Issuer` 值，其包含 SAML 聲明的 `Issuer` 元素的值。
   + 包含從 SAML 供應商的值、 AWS 帳戶 ID 和易記名稱建置的雜湊`Issuer`值的`NameQualifier`元素。當與 `Subject` 元素結合使用時，這些內容可以唯一識別 SAML 聯合身分主體。
   + `Subject` 元素，其包含 SAML 聲明的 `NameID` 元素的 `Subject` 元素值。
   + `SubjectType` 元素指出 `Subject` 元素的格式。此值可以是 `persistent`、`transient` 或在您的 SAML 聲明中使用的 `Format` 與 `Subject` 元素的完整 `NameID` URI。如需 `NameID` 元素的 `Format` 屬性的詳細資訊，請參閱 [為身分驗證回應設定 SAML 聲明](id_roles_providers_create_saml_assertions.md)。

1. 使用回應中傳回的臨時安全登入資料來進行 AWS API 呼叫。這與使用長期安全登入資料進行 AWS API 呼叫的程序相同。差別在於您必須包含工作階段權杖，這個權杖可讓 AWS 驗證臨時安全憑證是否有效。

您的應用程式應該快取憑證。預設情況下，憑證會在一小時後到期。如果您不是在 AWS SDK 中使用 [AmazonSTSCredentialsProvider](https://aws.amazon.com/blogs/mobile/using-the-amazoncredentialsprovider-protocol-in-the-aws-sdk-for-ios) 動作，則由您和應用程式`AssumeRoleWithSAML`再次呼叫。呼叫此操作，或取得一組新的暫時性安全憑證，之後舊的憑證才會過期。

## 透過自訂身分經紀人請求憑證
<a name="api_getfederationtoken"></a>

[https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) API 操作會傳回 AWS STS 聯合身分使用者主體的一組臨時安全登入資料。此 API 與 `AssumeRole` 不同，其中的預設過期時段是實質上比較長 (12 小時，而不是 1 小時)。此外，您可以使用 `DurationSeconds` 參數來指定暫時性安全憑證的持續時間，以保持有效。產生的憑證在指定的持續時間內有效，介於 900 秒 (15 分鐘) 至 129,600 秒 (36 小時) 之間。較長的過期期間有助於減少對 的呼叫次數， AWS 因為您不需要經常取得新的登入資料。

1. 使用特定 IAM 使用者 AWS 的安全登入資料進行驗證。此呼叫必須使用有效的 AWS 安全登入資料進行。

1. 呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 操作。

`GetFederationToken` 呼叫會傳回暫時性安全憑證，該憑證由工作階段字符、存取金鑰、私密金鑰和過期時間組成。如果您想要管理您組織內的許可 (例如，使用 Proxy 應用程式以指派許可)，您可以使用 `GetFederationToken`。

以下範例顯示使用 `GetFederationToken` 的範例請求及回應。此範例請求會將指定期間的呼叫發起使用者與[工作階段政策](access_policies.md#policies_session) ARN 和[工作階段標籤](id_session-tags.md)聯合在一起。產生的工作階段名為 `Jane-session`。

**Example 範例請求**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetFederationToken
&Name=Jane-session
&PolicyArns.member.1.arn==arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2FRole1policy
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&AUTHPARAMS
```

上述範例中顯示的政策 ARN 包含以下 URL 編碼 ARN：

`arn:aws:iam::123456789012:policy/Role1policy`

此外，請注意範例中的 `&AUTHPARAMS` 參數表示身分驗證資訊的預留位置。這是您必須在 AWS HTTP API 請求中包含的*簽章*。我們建議使用 [AWS 開發套件](https://aws.amazon.com/tools/)來建立 API 請求。執行此作業的其中一個好處是開發套件會為您處理請求簽署。如果您必須手動建立和簽署 API 請求，請前往 中的[使用簽章版本 4 簽署 AWS 請求](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)*Amazon Web Services 一般參考*，了解如何簽署請求。

除了暫時性安全憑證外，回應包含聯合身分使用者的 Amazon Resource Name (ARN) 和憑證過期時間。

**Example 回應範例**  

```
<GetFederationTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetFederationTokenResult>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCEXAMPLE==
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-04-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE;</AccessKeyId>
</Credentials>
<FederatedUser>
  <Arn>arn:aws:sts::123456789012:federated-user/Jean</Arn>
  <FederatedUserId>123456789012:Jean</FederatedUserId>
</FederatedUser>
<PackedPolicySize>4</PackedPolicySize>
</GetFederationTokenResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</GetFederationTokenResponse>
```

**注意**  
 AWS 轉換會將傳遞的工作階段政策和工作階段標籤壓縮為具有個別限制的封裝二進位格式。即使您的純文字符合其他需求，您的請求也可能因不符限制而失敗。`PackedPolicySize` 回應元素會按百分比指出請求的政策和標籤與大小上限的距離。

AWS 建議您在資源層級授予許可 （例如，您將資源型政策連接到 Amazon S3 儲存貯體），您可以省略 `Policy` 參數。不過，如果您未包含 AWS STS 聯合身分使用者主體的政策，則暫時安全登入資料將不會授予任何許可。在這種情況下，您「必須」**使用資源政策，來授予聯合身分使用者存取您 AWS 資源的許可。

例如，假設您的 AWS 帳戶 號碼是 111122223333，而且您要允許 Susan 存取 Amazon S3 儲存貯體。Susan 的暫時性安全憑證不包含儲存貯體的政策。在這種情況下，您需要確保儲存貯體具有其 ARN 與 Susan 的 ARN 相符的政策，例如 `arn:aws:sts::111122223333:federated-user/Susan`。

## 為不信任環境中的使用者請求憑證
<a name="api_getsessiontoken"></a>

[https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) API 操作會傳回現有 IAM 使用者的一組臨時安全憑證。這有助於提供增強的安全性，例如僅在 IAM 使用者啟用 MFA 時允許 AWS 請求。因為憑證為暫時性，它們可在您有透過較不安全環境存取您資源的 IAM 使用者時，提供增強的安全性。較不安全環境的範例包含行動裝置或 Web 瀏覽器。

1. 使用特定 IAM 使用者 AWS 的安全登入資料進行驗證。此呼叫必須使用有效的 AWS 安全登入資料進行。

1. 呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) 操作。

1. `GetSessionToken` 會傳回暫時性安全憑證，其由工作階段字符、存取金鑰 ID 和私密存取金鑰組成。

在預設情況下，IAM 使用者的暫時性安全憑證的有效期最長為 12 小時。但是，您可以使用 `DurationSeconds` 參數請求持續時間最短為 15 分鐘最長為 36 小時。基於安全考量， 的字符的持續時間限制 AWS 帳戶根使用者 為一小時。

以下範例顯示使用 `GetSessionToken` 的範例請求及回應。回應還包括暫時性安全憑證的過期時間。

**Example 範例請求**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=1800
&AUTHPARAMS
```

範例中的 `AUTHPARAMS` 參數是*簽章*的預留位置。簽章是您在 AWS HTTP API 請求中必須包含的身分驗證資訊。我們建議使用 [AWS 開發套件](https://aws.amazon.com/tools/)來建立 API 請求。執行此作業的其中一個好處是開發套件會為您處理請求簽署。如果您必須手動建立和簽署 API 請求，請前往 中的[使用簽章第 4 版簽署 AWS 請求](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)*Amazon Web Services 一般參考*，了解如何簽署請求。

**Example 回應範例**  

```
<GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetSessionTokenResult>
<Credentials>
  <SessionToken>
   AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L
   To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z
   rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp
   Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2011-07-11T19:55:29.611Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
</GetSessionTokenResult>
<ResponseMetadata>
<RequestId>58c5dbae-abef-11e0-8cfe-09039844ac7d</RequestId>
</ResponseMetadata>
</GetSessionTokenResponse>
```

或者，`GetSessionToken`請求可以包含 AWS 多重要素驗證 (MFA) 驗證的 `SerialNumber`和 `TokenCode`值。如果提供的值有效， AWS STS 會提供包含 MFA 身分驗證狀態的臨時安全登入資料。然後，只要 MFA 身分驗證有效，就可以使用臨時安全登入資料來存取受 MFA 保護的 API 操作或 AWS 網站。

以下範例顯示 `GetSessionToken` 請求，其中包含 MFA 驗證碼和裝置序號。

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=7200
&SerialNumber=YourMFADeviceSerialNumber
&TokenCode=123456
&AUTHPARAMS
```

**注意**  
對 的呼叫 AWS STS 可以是全域端點或您啟用 的任何區域端點 AWS 帳戶。如需詳細資訊，請參閱[*區域與端點*的AWS STS 一節](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)。  
範例中的 `AUTHPARAMS` 參數是*簽章*的預留位置。簽章是您在 AWS HTTP API 請求中必須包含的身分驗證資訊。我們建議使用 [AWS 開發套件](https://aws.amazon.com/tools/)來建立 API 請求。執行此作業的其中一個好處是開發套件會為您處理請求簽署。如果您必須手動建立和簽署 API 請求，請參閱《[》中的使用簽章版本 4 簽署 AWS 請求](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)，以*Amazon Web Services 一般參考*了解如何簽署請求。