

# 使用自訂提供者新增 OAuth 用戶端
<a name="identity-add-oauth-client-custom"></a>

自訂提供者可讓您連線到內建提供者選項以外的任何 OAuth2-compatible資源伺服器。您可以透過讓系統自動擷取組態詳細資訊，或手動提供伺服器資訊來設定自訂提供者。

 **使用自訂提供者新增 OAuth 用戶端** 

1. 開啟 [AgentCore Identity](https://console.aws.amazon.com/bedrock-agentcore/identity) 主控台。

1. 在**傳出身分驗證**區段中，選擇**新增 OAuth 用戶端/API 金鑰**，然後選取**新增 OAuth 用戶端**。

1. 對於**名稱**，您可以使用自動產生的名稱或輸入自己的描述性名稱，協助您在帳戶中識別此 OAuth 用戶端。僅使用英數字元、連字號和底線，長度上限為 50 個字元。

1. 針對**提供者**，選擇**自訂提供者**。

1. 在**提供者組態**區段中，根據您的提供者需求，選擇下列其中一個選項：

   1.  **探索 URL** （建議） – 選擇此選項可讓 AgentCore Identity 自動從您的提供者擷取組態詳細資訊。您提供提供者發佈其 OpenID Connect 組態的探索 URL，而 AgentCore Identity 會處理端點探索程序。這是建議的可用方法，因為它可減少手動組態。

      1. 針對**用戶端身分驗證方法**，選擇使用身分提供者字符端點進行身分驗證的用戶端身分驗證方法。如需詳細資訊，請參閱[用戶端身分驗證方法](client-auth-methods.md)。

      1. 針對**探索 URL**，輸入提供者發佈其 OpenID Connect 組態的 URL。探索 URLs必須以 `.well-known/openid-configuration` 結尾。例如，https：// {{example.com}} /.well-known/openid-configuration。

      1. 針對**用戶端 ID**，輸入向身分提供者註冊應用程式時收到的唯一識別符。

      1. 針對**用戶端秘密選取方法**，選擇下列其中一個選項：

         1.  **提供用戶端秘密** – 直接輸入用戶端秘密值。

            1. 針對**用戶端秘密**，輸入與 AgentCore Identity 安全存放以進行身分驗證之用戶端 ID 相關聯的機密金鑰。

         1.  **透過 Secrets Manager 提供用戶端秘密** – 參考存放在 AWS Secrets Manager 中的秘密，而不是直接輸入值。

            1. 針對 **Secrets Manager**，輸入或選取包含用戶端秘密之 Secrets Manager 秘密的 ARN。

            1. 對於 **JSON 金鑰**，請在 Secrets Manager 秘密中輸入 JSON 金鑰，其中包含 OAuth 用戶端的用戶端秘密值。

   1.  **手動組態** – 選擇此選項可在您的提供者不支援自動探索時直接指定伺服器資訊。您將個別定義每個端點 URL，讓您完全控制組態詳細資訊。

      1. 針對**用戶端身分驗證方法**，選擇使用身分提供者字符端點進行身分驗證的用戶端身分驗證方法。如需詳細資訊，請參閱[用戶端身分驗證方法](client-auth-methods.md)。

      1. 針對**發行者**，輸入可識別您授權伺服器的基本 URL。此值會出現在已發行權杖的`iss`宣告中，並有助於驗證權杖真實性。

      1. 針對**授權端點**，輸入將引導使用者授予應用程式許可的 URL。這是 OAuth 授權流程的進入點。

      1. 針對**權杖端點**，輸入代理程式交換存取權杖授權碼的 URL。此端點會處理登入資料交換程序。

      1. （選用） 在**回應類型**區段中，選擇**新增回應類型**並選擇提供者應傳回的字符格式，以設定 OAuth 用戶端接收身分驗證回應的方式。常見類型包括`code`用於授權碼流程或`token`用於隱含流程。

      1. 針對**用戶端 ID**，輸入向身分提供者註冊應用程式時收到的唯一識別符。

      1. 針對**用戶端秘密選取方法**，選擇下列其中一個選項：

         1.  **提供用戶端秘密** – 直接輸入用戶端秘密值。

            1. 針對**用戶端秘密**，輸入與 AgentCore Identity 安全存放以進行身分驗證之用戶端 ID 相關聯的機密金鑰。

         1.  **透過 Secrets Manager 提供用戶端秘密** – 參考存放在 AWS Secrets Manager 中的秘密，而不是直接輸入值。

            1. 針對 **Secrets Manager**，輸入或選取包含用戶端秘密之 Secrets Manager 秘密的 ARN。

            1. 對於 **JSON 金鑰**，請在 Secrets Manager 秘密中輸入 JSON 金鑰，其中包含 OAuth 用戶端的用戶端秘密值。

1. （選用） 展開**其他組態**以設定on-behalf-of權杖交換。選擇下列其中一種授予類型模式：

   1.  **無**：不支援On-behalf-of權杖交換

   1.  **JWT 授權：**使用 RFC 7523 語法on-behalf-of權杖交換。傳入身分用作取得存取權杖的授權授予

   1.  **權杖交換**：使用 RFC 8693 語法執行on-behalf-of。這是擷取委派關係的最新標準。您可以使用下列模式自訂演員字符：

      1.  **無**：請求中不會提供演員字符

      1.  ** AWS IAM ID 權杖 JWT**：使用 IAM AWS 發行的已簽署 JWT 進行驗證，該 JWT 代表呼叫 AWS 身分做為演員權杖

      1.  **機器對機器 (M2M)**：使用[machine-to-machine(M2M)](common-use-cases.md#machine-to-machine-auth) 存取字符作為演員字符進行驗證

         1. （選用） 提供 **Actor 權杖範圍**，以在驗證時用作範圍參數

1. （選用） 展開**其他組態**以設定私有端點，以連線至 VPC 內託管的身分提供者。選擇下列其中一種模式：

   1.  **受管 VPC**：AgentCore 會代表您建立和管理 VPC 資源。這是帳戶內 VPC 連線的更簡單選項。

      1. 針對 **VPC**，選取您的 VPC 識別符。

      1. 針對**子網路**，選取一個或多個具有 IdP 網路存取權的子網路。

      1. 針對 **IP 地址類型**，選擇 `IPV4`或 `IPV6`。

      1. （選用） 對於**安全群組**，選取允許流量傳送到 IdP 的安全群組。

   1.  **自我管理 Lattice**：您可以自行建立和管理 VPC Lattice 資源閘道和資源組態。此選項支援透過 RAM AWS 進行跨帳戶連線，並提供完整的控管可見性。

      1. 針對**資源組態 ARN**，選取 VPC Lattice 資源組態的 ARN。

      1. （選用） 對於**網域覆寫**，輸入應透過私有端點路由的其他網域。當您的身分提供者端點 （例如字符或授權端點） 託管在與資源組態中設定的主要 IdP 網域不同的網域時，請使用此選項。

1. 選擇**新增 OAuth 用戶端**。

如需受管與自我管理 Lattice 模式的詳細比較，請參閱[支援的 VPC 輸出模式](vpc-egress-private-endpoints.md#lattice-vpc-egress-compare-modes)。

完成任一組態後，AgentCore Identity 會安全地存放您的 OAuth 設定，並提供 ARN 供您在代理程式程式碼中參考，啟用字符請求，而無需在您的應用程式中嵌入敏感憑證。您可以在 OAuth 用戶端的屬性頁面中找到此 ARN （在**傳出身分**驗證區段中選擇用戶端名稱）。