在認證管理員中設定一般認證提供者

適用於:所有 APIM 層

在本文中,你將了解如何在你的 Azure API Management 實例中設定身份識別提供者以進行管理的 連線。 適用於下列常見提供者的設定:

  • Microsoft Entra
  • 一般 OAuth 2

您可以在 API 管理 實例的認證管理員中設定認證提供者。 關於如何設定Microsoft Entra提供者與連線的逐步範例,請參見 Configure credential manager - Microsoft Graph API。

先決條件

若要在 APIM 中設定任何支援的提供者,必須先在識別提供者中,設定用來授權 API 存取權的 OAuth 2.0 應用程式。 如需設定詳細資料,請參閱提供者的開發人員文件。

  • 如果您要建立使用授權碼授與類型的認證提供者,請在應用程式中設定重新導向 URL (有時稱為授權回呼 URL 或類似名稱)。 值請輸入 https://authorization-manager.consent.azure-apim.net/redirect/apim/<API-management-instance-name>。

  • 視您的案例而定,設定應用程式設定,例如範圍 (API 許可權)。

  • 至少,取得以下應用程式憑證,這些憑證會在 API 管理中設定:應用程式的 客戶端 ID 與 客戶端秘密 (客戶端秘密並非聯邦身份憑證所必需)。

  • 視提供者和您的案例而定,您可能需要擷取其他設定,例如授權端點 URL 或範圍。

  • 提供者的授權端點必須能夠從您的 API 管理執行個體透過網際網路存取。 如果您的 API 管理執行個體在虛擬網路中受到保護,請設定網路或防火牆規則以允許存取提供者的端點。

    此外,憑證的請求必須從客戶的網路發出,發送到憑證管理端點,該端點仍位於 Microsoft 網路中。 要到達憑證管理器端點,允許虛擬網路對 443 埠的 AzureConnections 服務標籤進行外發存取。

Microsoft Entra 提供者

API 管理憑證管理器支援 Microsoft Entra 身份提供者,該服務是 Azure 中的身份服務,提供身份管理與存取控制功能。 它使用戶能夠透過業界標準協定安全地登入。

支援的授權類型:授權碼、用戶端憑證、帶有聯邦身份憑證的授權碼

附註

目前,Microsoft Entra 憑證提供者僅支援 Azure Active Directory v1.0 端點。

微軟 Entra 提供者設定

屬性 描述 必要 預設
認證提供者名稱 API 管理中認證提供者資源的名稱。 是 N/A
身分識別提供者 選擇 Azure Active Directory v1。 是 N/A
撥款類型 要使用的 OAuth 2.0 授權授與類型。

根據你的情境,選擇授權 碼、 客戶憑證,或 是帶有聯邦身份憑證的授權碼。
是 授權碼
授權 URL 授權 URL。 否 https://login.microsoftonline.com
用戶端識別碼 用來識別 Microsoft Entra 應用程式的應用程式(用戶端)ID。 是 N/A
客戶端密碼 用於 Microsoft Entra 應用程式的用戶端密碼。 對於授權碼和客戶端憑證授予類型是可以的,但對於聯邦身份憑證則不可以。 N/A
資源網址 需要授權之資源的 URL。

範例: https://graph.microsoft.com
是 N/A
租用戶標識碼 你 Microsoft Entra 應用程式的租戶 ID。 否 共通
範圍 一個或多個 API 權限用於你的 Microsoft Entra 應用程式,並以空格分隔。

範例: ChannelMessage.Read.All User.Read
否 Microsoft Entra 應用程式中設定的 API 權限

關於使用聯邦身分識別憑證授權類型的授權碼額外設定:

屬性 描述 必要 預設
簽發者 聯邦身份提供者的發行者網址。 是 https://login.microsoftonline.com/<tenant-id>/v2.0
主體標識碼 由 API Management 為憑證管理器產生的主體識別符。 是 N/A
觀眾 受眾會向聯邦身份提供者索取代幣。 是 api://AzureADTokenExchange

泛型 OAuth 提供者

您可以使用三個一般提供者來配置連線:

  • 泛型 OAuth 2.0
  • 使用 PKCE 的一般 OAuth 2.0
  • 通用 OAuth 2.1 搭配 PKCE 與動態用戶端註冊(DCR)

泛型提供者可讓您根據您的特定需求使用自己的 OAuth 身分識別提供者。

附註

如果您的身分提供者支援,建議您使用 PKCE 提供者來提高安全性。 欲了解更多資訊,請參閱代碼交換的證明密鑰。

支援的授與類型:授權碼和用戶端認證 (視提供者而定)

一般認證提供者設定

屬性 描述 必要 預設
認證提供者名稱 API 管理中認證提供者資源的名稱。 是 N/A
身分識別提供者 選取 [OAuth 2.0]、[ OAuth 2.0 with PKCE] 或 [OAuth 2.1 with PKCE with DCR]。 是 N/A
撥款類型 要使用的 OAuth 2.0 授權授與類型。

根據案例與識別提供者,選取 [授權碼] 或 [用戶端認證]。
是 授權碼
授權 URL 授權端點 URL。 是的,對於 PKCE 未用於 OAuth 2.0
用戶端識別碼 用於向識別提供者的授權伺服器識別應用程式的識別碼。 是 N/A
客戶端密碼 應用程式用來向身分識別提供者的授權伺服器進行驗證的密碼。 是 N/A
重新整理 URL 您的應用程式用來發出要求的 URL,以便將重新整理權杖交換為更新的存取權杖。 是的,對於 PKCE 未用於 OAuth 2.0
伺服器網址 基底伺服器 URL。 是,對於具有 PKCE 和 DCR 的 OAuth 2.1 N/A
權杖 URL 識別提供者授權伺服器上用於以程式設計方式要求權杖的 URL。 是 N/A
範圍 允許應用程式執行的一或多個特定動作,或可代表使用者向 API 要求的資訊,以空格分隔。

範例: user web api openid
否 N/A

其他身分識別提供者

API 管理支援多個熱門 SaaS 服務提供者,包括 GitHub、LinkedIn 等。 當你建立憑證提供者時,可以在 Azure 入口網站的清單中選擇這些提供者。

入口網站中所列識別提供者的螢幕擷取畫面。

支援的授權類型:授權碼

這些提供者的必要設定會因提供者而異,但與 一般 OAuth 提供者的設定類似。 請參閱各個提供者的開發人員文件。

附註

目前,該 Salesforce 供應商的代幣中並未包含到期聲明。 因此,憑證管理器無法偵測這些憑證何時到期,也不會暴露強制刷新機制。 使用 Salesforce 供應商時,你需要自訂刷新邏輯,手動重新授權連線,當現有權杖到期時取得新的權杖。