

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

# 比較 AWS STS 登入資料
<a name="id_credentials_sts-comparison"></a>

下表比較傳回暫時安全登入資料之 中 API AWS STS 操作的功能。若要了解可用來在擔任角色時請求暫時性安全憑證的不同方法，請參閱[擔任角色的方法](id_roles_manage-assume.md)。若要了解可讓您傳遞工作階段標籤的不同 AWS STS API 操作，請參閱 [在 中傳遞工作階段標籤 AWS STS](id_session-tags.md)。

**注意**  
您可以將 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)。


|  **AWS STS API**  |  **誰可以呼叫**  |  **憑證存留期 (最小 \$1 最大 \$1 預設)**  |  **MFA 支援**¹  |  **工作階段政策支援**²  |  **產生的暫時憑證限制**  | 
| --- | --- | --- | --- | --- | --- | 
|  [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)  | 具現有暫時性安全憑證的 IAM 使用者或 IAM 角色  | 15 分鐘 \$1 最大工作階段持續時間設定³ \$1 1 小時  | 是  | 是 |  無法呼叫 `GetFederationToken` 或 `GetSessionToken`。  | 
|  [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)  | 任何使用者；呼叫者必須傳遞 SAML 身分驗證回應，指出通過已知身分提供者的身分驗證 | 15 分鐘 \$1 最大工作階段持續時間設定³ \$1 1 小時  | 否 | 是 |  無法呼叫 `GetFederationToken` 或 `GetSessionToken`。  | 
|  [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)  | 任何使用者；發起人必須傳遞符合 OIDC 規範的 JWT 權杖，指出通過已知身分提供者的驗證 | 15 分鐘 \$1 最大工作階段持續時間設定³ \$1 1 小時  | 否 | 是 |  無法呼叫 `GetFederationToken` 或 `GetSessionToken`。  | 
| [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) | IAM 使用者或 AWS 帳戶根使用者 |  IAM 使用者：15 分鐘 \$1 36 小時 \$1 12 小時 根使用者：15 分鐘 \$1 1 小時 \$1 1 小時  | 否  | 是  |  無法使用 AWS CLI 或 AWS API 呼叫 IAM 操作。此限制不適用主控台工作階段。 無法呼叫 `GetCallerIdentity`.4 以外的 AWS STS 操作 允許 SSO 到主控台。⁵  | 
| [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) | IAM 使用者或 AWS 帳戶根使用者 |  IAM 使用者：15 分鐘 \$1 36 小時 \$1 12 小時 根使用者：15 分鐘 \$1 1 小時 \$1 1 小時  | 是  | 否  |  除非請求包含 MFA 資訊，否則無法呼叫 IAM API 操作。 無法呼叫 `AssumeRole`或 以外的 AWS STS API 操作`GetCallerIdentity`。 不允許 SSO 到主控台。⁶  | 

 ¹ **MFA 支援**。您可以在您呼叫 AssumeRole 和 GetSessionToken API 操作時，包含有關 多重要素驗證 (MFA) 裝置的資訊。這可確保 API 呼叫所產生的暫時性安全憑證，僅可由使用 MFA 裝置進行身分驗證的使用者使用。如需詳細資訊，請參閱 [透過 MFA 實現安全的 API 存取](id_credentials_mfa_configure-api-require.md)。

 ² **工作階段政策支援**。當您以程式設計方式為角色或 AWS STS 聯合身分使用者工作階段建立暫時工作階段時，工作階段政策是做為參數傳遞的政策。這個政策會限制工作階段獲派自角色或使用者之以身分為基礎政策的許可。所產生工作階段的許可會是實體的身分類型政策和工作階段政策的交集。工作階段政策不能用來授予超出即將擔任角色之以身分為基礎政策所允許的許可。如需有關角色工作階段許可的詳細資訊，請參閱 [工作階段政策](access_policies.md#policies_session)。

³ **最大工作階段持續時間設定**。使用 `DurationSeconds` 參數來指定 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定之間的角色工作階段持續時間。若要了解如何檢視角色的最大值，請參閱 [更新角色的最大工作階段持續時間](id_roles_update-role-settings.md#id_roles_update-session-duration)。

⁴ **GetCallerIdentity**。執行此操作不需要任何許可。如果管理員將明確拒絕存取 `sts:GetCallerIdentity` 動作的政策新增到 IAM 使用者或角色，您仍然可以執行此操作。不需要許可，因為當 IAM 使用者或角色被拒絕存取時，會傳回相同的資訊。若要檢視範例回應，請參閱 [我未獲得授權，不得執行：iam:DeleteVirtualMFADevice](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa)。

⁵ **Single sign-on (SSO) 至主控台**。若要支援 SSO，請 AWS 呼叫聯合端點 (`https://signin.aws.amazon.com/federation`) 並傳遞臨時安全登入資料。端點會傳回權杖，您可用來建構 URL，直接將使用者登入主控台，而不需要密碼。如需詳細資訊，請參閱 AWS 安全部落格中的 [啟用 SAML 2.0 聯合主體來存取 AWS 管理主控台](id_roles_providers_enable-console-saml.md) 和[如何啟用 AWS 管理主控台的跨帳戶存取](https://aws.amazon.com/blogs/security/how-to-enable-cross-account-access-to-the-aws-management-console)。

⁶ 在您擷取暫時憑證後，您無法透過將憑證傳遞到聯合單一登入端點，來存取 AWS 管理主控台 。如需詳細資訊，請參閱[啟用 AWS 主控台的自訂身分代理程式存取](id_roles_providers_enable-console-custom-url.md)。