

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

# 使用 OAuth 2.0 登入
<a name="oauth-sign-in-overview"></a>

## OAuth 概觀
<a name="oauth-sign-in-overview-intro"></a>

透過 AWS Sign-In 產業標準 OAuth 2.0 支援，客服人員和應用程式可以使用 OAuth 授權存取支援 AWS 的服務。

OAuth AWS 會與您現有的身分和授權模型整合。應用程式會透過 AWS Sign-In 取得短期 OAuth 字符。OAuth 權杖可與現有的 IAM 身分、政策、服務控制政策 (SCPs)、資源控制政策 RCPs) 和其他 AWS 授權控制搭配使用。OAuth 引進以標準為基礎的授權模式，而不會變更資源的 AWS 存取管理方式。

透過 AWS 登入，您可以透過瀏覽器 （互動式） 授權應用程式，或使用現有 AWS 登入資料的應用程式可以透過程式設計方式 （非互動式） 取得 OAuth 存取字符。

## 支援的功能
<a name="oauth-sign-in-capabilities"></a>

AWS 登入提供下列 OAuth 功能。


| 功能 | 說明 | 
| --- | --- | 
| [互動式授權](#oauth-sign-in-interactive) | 使用者的瀏覽器型 OAuth 授權。 | 
| [非互動式授權](#oauth-sign-in-non-interactive) | 使用現有 AWS 登入資料的客服人員和應用程式的 OAuth 授權，而不需要瀏覽器。 | 
| [字符管理](aws-mcp-server.md#aws-mcp-server-token-management) | 發出並介紹存取和重新整理權杖，以及撤銷重新整理權杖。 | 
| [動態用戶端註冊](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_CreateOAuth2PublicClient.html) | 向 AWS Sign-In 註冊核准的 OAuth 相容應用程式。 | 
| [IAM 整合](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html) | 使用 IAM 許可、資源和條件金鑰管理 OAuth 授權。 | 
| [CloudTrail 整合](aws-mcp-server.md#aws-mcp-server-monitoring) | 使用 稽核 OAuth 授權和字符生命週期事件 AWS CloudTrail。 | 

## OAuth 的運作方式
<a name="oauth-sign-in-how-it-works"></a>

 AWS Sign-In 中的 OAuth 授權遵循 OAuth 2.0 標準。

1. 代理程式或應用程式請求授權以存取支援 AWS 的服務。

1. AWS 登入會驗證使用者。

1. AWS 登入會發出 OAuth 權杖，授權應用程式代表使用者存取請求 AWS 的服務。

1.  AWS 服務會使用現有的 AWS 授權模型來評估每個請求，包括 IAM 政策、服務控制政策 (SCPs)、資源控制政策 (RCPs)、許可界限和其他適用的控制項。

OAuth 權杖授權應用程式存取支援 AWS 的服務。他們不會授予其他 AWS 許可。應用程式只能執行已驗證 IAM 身分已允許的動作。

## 授權模型
<a name="oauth-sign-in-authorization-models"></a>

AWS 登入支援兩種 OAuth 授權模型。

### 互動式授權
<a name="oauth-sign-in-interactive"></a>

互動式授權適用於使用瀏覽器型身分驗證的開發人員。

AWS 登入會強制執行 OAuth 2.1 授權碼授予與程式碼交換的驗證金鑰 (PKCE)。當應用程式需要授權時，它會將使用者重新導向至 AWS 登入，使用者會在其中驗證、檢閱授權請求，並授予同意。

授權成功後， AWS 登入問題：
+ **存取字符** – 短期 OAuth 字符 （最多一小時），授權應用程式存取支援 AWS 的服務。
+ **重新整理權杖** – 用於取得新的存取權杖，而無需使用者再次驗證。 AWS 登入會自動管理授權應用程式的字符重新整理。

互動式授權支援：
+ IAM 使用者
+ AWS 帳戶 根使用者
+ IAM Identity Center 使用者
+ SAML 和自訂身分代理程式使用者

如需使用互動式授權連接代理程式的逐步解說，請參閱 [AWS MCP 伺服器](aws-mcp-server.md)。

### 非互動式授權
<a name="oauth-sign-in-non-interactive"></a>

非互動式授權適用於已擁有 AWS 登入資料且無法執行瀏覽器型身分驗證的客服人員和應用程式。

AWS 登入會使用 AWS Signature 第 4 版 (SigV4) 登入資料來實作 OAuth 2.0 用戶端登入資料授予，而非靜態 OAuth 用戶端秘密。應用程式會使用現有的 AWS 登入資料對 AWS 登入字符端點進行身分驗證，並接收可用於存取支援 AWS 服務的短期 OAuth 存取字符。

用戶端登入資料只會授予存取權杖 （沒有重新整理權杖）。當目前的權杖過期時，請求新的存取權杖。

如需使用非互動式授權連接應用程式的逐步解說，請參閱 [AWS MCP 伺服器](aws-mcp-server.md)。

## 安全模型
<a name="oauth-sign-in-security-model"></a>

OAuth 授權會與現有的 AWS 安全模型整合。 AWS Sign-In 使用 OAuth 特定功能擴展此授權模型，包括：
+ OAuth 授權和字符管理的 IAM 動作。請參閱 [AWS Sign-In 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)。
+ OAuth 授權授予資源。請參閱 [AWS Sign-In 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)。
+ OAuth 特定的 IAM 條件金鑰。請參閱 [OAuth 條件金鑰](reference-signin-condition-keys.md#reference-signin-condition-keys-oauth)。
+ 字符[自我檢查](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_IntrospectOAuth2TokenWithIAM.html)和[撤銷](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_RevokeOAuth2TokenWithIAM.html) APIs。
+ AWS CloudTrail 稽核 OAuth 授權和字符生命週期事件。請參閱 [監控 OAuth 活動](aws-mcp-server.md#aws-mcp-server-monitoring)。
+ 使用 OAuth 2.1 進行互動式授權流程所需的 PKCE （程式碼交換的驗證金鑰）。
+ 一次性授權碼和輪換一次性重新整理權杖，以防止重播攻擊。
+ 對 OAuth APIs VPCE 支援。請參閱 [AWS PrivateLink](oauth-privatelink.md)。
+ 在 DCR 中支援受信任URIs。

這些功能可讓管理員使用他們已使用的相同 IAM 授權模型來管理 OAuth 授權 AWS。

## OAuth 端點
<a name="oauth-sign-in-endpoints"></a>

AWS 登入提供下列 OAuth 端點。


| Endpoint | 路徑 | 說明 | 
| --- | --- | --- | 
| Authorization | /v1/authorize | 啟動互動式授權流程。 | 
| 權杖 | /v1/token | 交換 OAuth 權杖的授權碼、重新整理權杖或用戶端憑證。 | 
| 自我檢查 | /v1/introspect | 傳回有關 OAuth 權杖的中繼資料。 | 
| 撤銷 | /v1/revoke | 撤銷重新整理權杖。 | 
| 動態用戶端註冊 | /v1/register | 向 AWS Sign-In 註冊核准的 OAuth 用戶端。只接受允許列出的重新導向 URIs。 | 

將此區域端點用於位於 的 OAuth 流程`https://{region}.oauth.signin.aws`。如需可能區域值的清單，請參閱[AWS 登入端點](https://docs.aws.amazon.com/general/latest/gr/signin-service.html)中的區域欄。

## 相關主題
<a name="oauth-sign-in-related"></a>
+ [AWS MCP 伺服器](aws-mcp-server.md)
+ [OAuth 條件金鑰](reference-signin-condition-keys.md#reference-signin-condition-keys-oauth)
+ [AWS 登入 API 參考](https://docs.aws.amazon.com/signin/latest/APIReference/API_Operations.html)
+ [AWS Sign-In 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)