共用方式為


授權存取 API 中心內的 API

您可以設定設定,以授權存取 API 中心的 API。 這些設定:

  • 使用 API 金鑰或 OAuth 2.0 授權啟用 API 驗證
  • 將特定的驗證方法與庫存中的特定 API 版本關聯起來。
  • 透過存取原則,由指定的使用者或群組管理 API 版本的驗證
  • 啟用授權的使用者直接在 API 中心入口網站中測試 API

備註

此功能目前為預覽狀態。

先決條件

選項 1:設定 API 金鑰驗證的設定

針對支援 API 金鑰驗證的 API,請遵循下列步驟在 API 中心設定設定。

1.將 API 金鑰儲存在 Azure Key Vault 中

若要安全地管理 API 金鑰,請將它儲存在 Azure Key Vault 中,並使用 API 中心的受控識別來存取密鑰保存庫。

若要將 API 金鑰儲存為金鑰保存庫中的秘密,請參閱 在 Key Vault 中設定和擷取秘密

在 API 中心啟用受控識別

在此案例中,您的 API 中心會使用 受控識別 來存取金鑰保存庫。 根據您的需求,啟用系統指派或一或多個使用者指派的受控識別。

下列範例示範如何使用 Azure 入口網站來啟用系統指派的受控識別。 概括而言,設定步驟與使用者指派的受控識別類似。

  1. 入口網站中,瀏覽至您的 API 中心。
  2. 在 [安全性] 下的左側功能表中,選取 [受控識別]
  3. 選取 [系統指派],然後將狀態設定為 [開啟]
  4. 選取 [儲存]。

將 Key Vault 祕密使用者角色指派給受控識別

將 API 中心的受控識別指派給金鑰保存庫中的 Key Vault 祕密使用者角色。 下列步驟會使用 Azure 入口網站。

  1. 入口網站中,瀏覽至您的金鑰保存庫。
  2. 在左側功能表中,選取 [存取控制 (IAM)]
  3. 選取 [+ 新增角色指派]
  4. 在 [新增角色指派] 窗格上設定值,如下所示:
    1. 在 [角色] 索引標籤,選取 [金鑰保存庫祕密使用者]
    2. 在 [ 成員] 索引標籤的 [ 指派存取權] 中,選取 [ 受控識別>+ 選取成員]。
    3. 在 [選取受控識別] 頁面上,選取您在上一節新增的 API 中心的系統指派受控識別。 按一下 ‹選取›。
    4. 選取兩次 [檢閱 + 指派]

2.在您的 API 中心新增 API 金鑰設定

  1. 入口網站中,瀏覽至您的 API 中心。

  2. 在左側功能表中的 [治理] 底下,選取 [授權][預覽]>+ [新增設定]。

  3. 在 [ 新增組態 ] 頁面中,設定值,如下所示:在 入口網站中設定 API 金鑰的螢幕快照。

    設定 說明
    職稱 輸入授權的名稱。
    說明 選擇性輸入授權的描述。
    安全性配置 選取 [API 金鑰]。
    API 金鑰位置 選取 API 要求中金鑰呈現的方式。 可用的值為 標頭 (要求標頭)和 查詢(查詢 參數)。
    API 金鑰參數名稱 輸入包含 API 金鑰的 HTTP 標頭或查詢參數名稱。 範例:x-api-key
    API Key Vault 祕密參考 按兩下 [選取 ],然後選取您儲存的訂用帳戶、金鑰保存庫和秘密。 範例:https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
  4. 選取 ,創建

選項 2:設定 OAuth 2.0 授權的設定

針對支援 OAuth 2.0 授權的 API,請遵循下列步驟在 API 中心設定驗證設定。 您可以設定下列其中一個或兩個 OAuth 2.0 授權流程的設定:

  • 使用 PKCE 的授權碼流程 (程式代碼交換的證明金鑰) - 此流程建議在瀏覽器中驗證使用者,例如在 API 中心入口網站中。
  • 客戶端認證流程 - 對於不需要特定使用者存取數據許可權的應用程式,建議使用此流程。

1.建立 OAuth 2.0 應用程式

(針對 OAuth 2.0 授權) 在識別提供者 (例如,與您 Azure 訂用帳戶相關聯的 Microsoft Entra 租用戶) 中建立應用程式註冊。 確切的建立步驟取決於您所使用的識別提供者。

下列範例示範如何在 Microsoft Entra ID 中建立應用程式註冊。

  1. 使用具有足夠許可權的帳戶登入租戶的 Azure 入口網站
  2. 瀏覽至 Microsoft Entra ID>+ 新註冊
  3. 在 [ 註冊應用程式] 頁面中,輸入您的應用程式註冊設定:
    1. [名稱] 中,輸入應用程式有意義的名稱。
    2. [支持的帳戶類型] 中,選取適合您案例的選項,例如, 僅此組織目錄中的帳戶 (單一租使用者)
    3. (授權碼流程)在 [重新導向 URI] 中,選取 [單頁應用程式][SPA], 然後設定 URI。 輸入 API 中心入口網站部署的 URI,格式如下: https://<service-name>.portal.<location>.azure-api-center.ms. 以您的 API 中心名稱和部署位置取代 <service name><location> ,例如: https://myapicenter.portal.eastus.azure-api-center.ms
    4. 選取 註冊
  4. 在左側功能表中的 [ 管理] 底下,選取 [ 憑證和秘密],然後選取 [+ 新增客戶端密碼]。
    1. 輸入 描述
    2. 選取 [到期] 的選項。
    3. 選取 ,然後新增
    4. 在離開頁面之前,請先複製用戶端密鑰的。 在下一節中,您將需要用到它。
  5. 您可以選擇性地在應用程式註冊中新增 API 範圍。 如需詳細資訊,請參閱 設定應用程式以公開 Web API

當您在 API 中心設定 OAuth 2.0 授權時,您需要應用程式註冊中的下列值:

  • 應用程式註冊的 [概觀] 頁面的應用程式(用戶端)標識碼,以及您先前複製的客戶端密碼
  • 應用程式註冊的 [概觀]>[端點] 頁面上的下列端點 URL:
    • OAuth2.0 授權端點 (v2) - Microsoft Entra 識別授權端點
    • OAuth 2.0 權杖端點 (v2) - Microsoft Entra ID 的權杖端點和權杖重新整理端點
  • 應用程式註冊中設定的任何 API 範圍。

2.將客戶端密碼儲存在 Azure Key Vault 中

若要安全地管理秘密,請將它儲存在 Azure Key Vault 中,並使用 API 中心的受控識別來存取密鑰保存庫。

若要將 API 金鑰儲存為金鑰保存庫中的秘密,請參閱 在 Key Vault 中設定和擷取秘密

在 API 中心啟用受控識別

在此案例中,您的 API 中心會使用 受控識別 來存取金鑰保存庫。 根據您的需求,啟用系統指派或一或多個使用者指派的受控識別。

下列範例示範如何使用 Azure 入口網站來啟用系統指派的受控識別。 概括而言,設定步驟與使用者指派的受控識別類似。

  1. 入口網站中,瀏覽至您的 API 中心。
  2. 在 [安全性] 下的左側功能表中,選取 [受控識別]
  3. 選取 [系統指派],然後將狀態設定為 [開啟]
  4. 選取 [儲存]。

將 Key Vault 祕密使用者角色指派給受控識別

將 API 中心的受控識別指派給金鑰保存庫中的 Key Vault 祕密使用者角色。 下列步驟會使用 Azure 入口網站。

  1. 入口網站中,瀏覽至您的金鑰保存庫。
  2. 在左側功能表中,選取 [存取控制 (IAM)]
  3. 選取 [+ 新增角色指派]
  4. 在 [新增角色指派] 窗格上設定值,如下所示:
    1. 在 [角色] 索引標籤,選取 [金鑰保存庫祕密使用者]
    2. 在 [ 成員] 索引標籤的 [ 指派存取權] 中,選取 [ 受控識別>+ 選取成員]。
    3. 在 [選取受控識別] 頁面上,選取您在上一節新增的 API 中心的系統指派受控識別。 按一下 ‹選取›。
    4. 選取兩次 [檢閱 + 指派]

3.在您的 API 中心新增 OAuth 2.0 授權

  1. 入口網站中,瀏覽至您的 API 中心。

  2. 在左側功能表中的 [治理] 底下,選取 [授權][預覽]>+ [新增設定]。

  3. 在 [ 新增組態 ] 頁面中,設定值,如下所示:

    在入口網站中設定 OAuth 2.0 的螢幕快照。

    備註

    根據您先前在識別提供者中建立的應用程式註冊來設定設定。 如果您使用 Microsoft Entra ID,請在應用程式註冊的 [概觀] 頁面上尋找 [用戶端識別碼],然後在 [概觀]>[端點] 頁面上尋找 URL 端點。

    設定 說明
    職稱 輸入授權的名稱。
    說明 選擇性輸入授權的描述。
    安全性配置 選取 OAuth2
    用戶端識別碼 輸入您在識別提供者中建立之應用程式的用戶端識別碼 (GUID)。
    客戶端密碼 按兩下 [選取 ],然後選取您儲存的訂用帳戶、金鑰保存庫和客戶端密碼。

    範例:https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
    授權 URL 輸入識別提供者的 OAuth 2.0 授權端點。

    Microsoft Entra 標識符的範例: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize
    權杖 URL 輸入識別提供者的 OAuth 2.0 令牌端點。

    Microsoft Entra 標識符的範例: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token
    重新整理URL 輸入識別提供者的 OAuth 2.0 權杖重新整理端點。 對於大多數提供者,與權杖 URL 相同

    Microsoft Entra 標識符的範例: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token
    OAuth2 流程 選取您想要使用的一或兩個 OAuth 2.0 流程。 可用的值為 授權碼 (PKCE)客戶端認證
    範圍 輸入為 API 設定的一或多個 API 範圍,並以空格分隔。 如果未設定任何範圍,請輸入 .default
  4. 選取 [建立] 以儲存設定。

將驗證組態新增至 API 版本

設定 API 金鑰或 OAuth 2.0 流程的設定之後,請將 API 金鑰或 OAuth 2.0 組態新增至 API 中心的 API 版本。

  1. 入口網站中,瀏覽至您的 API 中心。
  2. 在左側功能表中的 [資產] 底下,選取 [API]
  3. 選取您想要與授權組態建立關聯的 API。
  4. 在左側功能表中的 [ 詳細數據] 底下,選取 [ 版本]。
  5. 選取您要新增驗證組態的 API 版本。
  6. 在左側功能表中的 [ 詳細數據] 底下,選取 [管理存取權(預覽)>] + [新增驗證]。
  7. 在 [ 新增驗證] 頁面中,選取您想要關聯的可用 驗證組態
  8. 選取 ,創建

備註

您可以將多個驗證組態新增至 API 版本。 例如,如果 API 支援,您可以將 API 金鑰和 OAuth 2.0 組態新增至相同的 API 版本。 同樣地,您可以將相同的組態新增至多個 API 版本。

管理特定使用者或群組的存取權

您可以管理組織中特定使用者或群組對 API 版本的驗證設定的存取。 您可以設定存取原則來指派使用者或群組 API 中心認證存取讀取者 角色,範圍設定為 API 版本中的特定驗證組態。 例如,如果您想要只允許特定使用者使用 API 金鑰或 OAuth 2.0 流程在 API 中心入口網站中測試 API,這非常有用。

  1. 入口網站中,瀏覽至您的 API 中心。

  2. 流覽至您已新增驗證組態的 API 版本(請參閱上一節)。

  3. 在左側功能表中的 [詳細數據] 底下,選取 [管理存取權] [預覽]。

  4. 針對您要管理其存取權的驗證組態,選取數據列結尾的 [編輯存取原則 ] 下拉式清單。 在入口網站中新增存取原則的螢幕快照。

  5. 在 [ 管理存取權 ] 頁面中,選取 [+ 新增 > 使用者 ] 或 [+ 新增 > 群組]。

  6. 搜尋並選取您要新增的使用者(或群組)。 您可以選取多個項目。

  7. 按一下 ‹選取›。

小提示

您也可以從存取原則中移除使用者或群組。 在 [ 管理存取權 ] 頁面中,選取使用者或群組內容 (...) 功能表中的 [ 刪除 ]。

在 API 中心入口網站中測試 API

您可以使用 API 中心入口網站來測試您為驗證和使用者存取設定的 API。

小提示

除了讓特定用戶能夠在 API 中心入口網站中測試特定 API 之外,您還可以設定 API 的可見度設定 。 入口網站中的可見度設定會控制針對所有已登入使用者顯示的 API。

  1. 入口網站中,瀏覽至您的 API 中心。

  2. 在左側功能表中的 [API 中心入口網站] 底下,選取 [ 入口網站設定]。

  3. 選取 [檢視 API 中心入口網站]。

  4. 在 API 中心入口網站中,選取您要測試的 API。

  5. 選取已設定驗證方法的 API 版本。

  6. [選項] 底下,選取 檢視說明文件 API 中心入口網站中 API 詳細數據的螢幕快照。

  7. 在 API 中選取作業,然後選取 [試用此 API]。

  8. 在開啟的視窗中,檢閱驗證設定。 如果您有 API 的存取權,請選取 [ 傳送 ] 以嘗試 API。 在 API 中心入口網站的測試控制台中測試 API 的螢幕快照。

  9. 如果作業成功,您會看到 200 OK 回應碼和回應本文。 如果作業失敗,您會看到錯誤訊息。