共用方式為


設定認證管理員 - Microsoft Graph API

適用於:所有 API 管理 層

本文將引導您完成在 Azure API 管理 內建立 Microsoft Graph API 的 受控連線 所需的步驟。 使用 Microsoft Entra 身份提供者來呼叫 Microsoft Graph API。 此範例使用授權碼授予類型。

您將學習如何:

  • 建立 Microsoft Entra 應用程式
  • 在 API 管理 中建立和設定認證提供者
  • 設定連線
  • 在 API 管理 中建立 Microsoft Graph API 並設定原則
  • 在 API 管理 中測試您的 Microsoft Graph API

先決條件

步驟 1:建立 Microsoft Entra 應用程式

建立 API 的 Microsoft Entra 應用程式,並為其提供您要呼叫之要求的適當許可權。

  1. 使用具有足夠許可權的帳戶登入租戶中的 Azure 入口網站

  2. 搜尋並選取 Microsoft Entra ID

  3. 在側邊欄選單的 管理 選項中,選擇 應用程式註冊,然後選擇 + 新註冊

  4. 「註冊申請」中,輸入你的申請註冊設定:

    1. 在 [ 名稱] 中,輸入應用程式有意義的名稱,例如 MicrosoftGraphAuth

    2. [支援的帳戶類型] 中,選取適合您案例的選項,例如,僅限此組織目錄中的帳戶 (單一租用戶)。

    3. 將 [ 重新導向 URI ] 設定為 Web,然後輸入 https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>,以取代您要設定認證提供者的 API 管理 服務名稱。

    4. 選取 註冊

      在入口網站中建立 Microsoft Entra 應用程式註冊的螢幕擷取畫面。

  5. 在側邊欄選單中,選擇 管理>API 權限。 確保已經加入了類型為 DelegatedUser.Read 權限。

  6. 選取 + 新增權限 在入口網站中新增 API 權限的螢幕擷取畫面。

    1. 選擇 Microsoft Graph,然後選擇 委派權限
    2. 輸入 Team,展開 Team 選項,然後選擇 Team.ReadBasic.All。 選取新增權限
    3. 接下來,選取 [授與預設目錄的系統管理員同意]。 權限的狀態會變更為 [已授予預設目錄]。
  7. 在側邊欄功能表中,選取概觀。 在 概覽中,找到 應用程式(客戶端)的 ID 值並記錄,供步驟 2 使用。

  8. 在側邊欄選單中,選擇 管理>憑證與秘密,然後選擇 + 新客戶端秘密 在入口網站中建立應用程式機密的螢幕擷取畫面。

    1. 輸入 描述
    2. 選取 Expires 的選項。
    3. 選取 ,然後新增
    4. 在離開頁面之前,複製用戶端密碼的 。 您在步驟 2 中需要它。

步驟 2:在 API 管理 中設定認證提供者

  1. 移至您的 API 管理實例。

  2. 在側邊欄選單的 API ,選擇 憑證管理器,然後選擇 + 建立 在入口網站中建立 API 認證的螢幕擷取畫面。

  3. 建立憑證提供者時,輸入以下設定,然後選擇 建立

    設定 價值觀
    認證提供者名稱 您選擇的名稱,例如 MicrosoftEntraID-01
    身分識別提供者 選取 [Azure Active Directory v1]
    撥款類型 選取 [授權碼]
    授權 URL Microsoft Entra 識別提供者的選用項目。 預設值為 https://login.microsoftonline.com
    用戶端識別碼 貼上您先前從應用程式註冊複製的值
    客戶端密碼 貼上您先前從應用程式註冊複製的值
    資源網址 https://graph.microsoft.com
    租用戶標識碼 Microsoft Entra 識別提供者的選用項目。 預設值為 Common
    範圍 Microsoft Entra 識別提供者的選用項目。 自動從 Microsoft Entra 應用程式的 API 許可權配置。
  4. 選取 ,創建

  5. 出現提示時,請檢閱顯示的 OAuth 重新導向 URL,然後選取 [ ] 以確認它符合您在應用程式註冊中輸入的 URL。

步驟 3:設定連線

[連線] 索引標籤上,完成連線至提供者的步驟。

備註

當您設定連線時,API 管理 預設會設定 存取原則 ,以啟用執行個體系統指派的受控識別的存取。 此存取權對於此範例來說已經足夠了。 您可以視需要新增更多存取原則。

  1. 輸入 連線名稱,然後選取 儲存
  2. [步驟 2:登入連線 (針對授權碼授與類型)] 下,選取 [登入] 按鈕。 完成與身份驗證提供者授權存取的操作,並返回 API 管理介面。
  3. 在 [ 步驟 3:判斷誰將有權存取此連線 (存取原則)] 底下,會列出受控識別成員。 新增其他成員是選擇性的,視您的案例而定。
  4. 選取 [完成]。

新連線會出現在連線清單中,並顯示「 已連線」狀態。 如果您想要為認證提供者建立另一個連線,請完成上述步驟。

小提示

使用入口網站隨時新增、更新或刪除與認證提供者的連線。 如需詳細資訊,請參閱 設定多個連線

備註

如果您在此步驟之後更新 Microsoft Graph 權限,則需要重複步驟 2 和 3。

步驟 4:在 API 管理 中建立 Microsoft 圖形 API 並設定原則

  1. 在側邊欄功能表的 [API] 底下,選取 [API]。

  2. 選取 [HTTP ] 並輸入下列設定。 然後選擇 [建立]

    Setting 價值觀
    顯示名稱 MSGRAPH
    Web 服務 URL https://graph.microsoft.com/v1.0
    API URL 尾碼 MSGRAPH
  3. 流覽至新建立的 API,然後選取 [+ 新增作業]。 輸入下列設定,然後選取 [儲存]。

    Setting 價值觀
    顯示名稱 取得個人資料
    GET 的 URL /我
  4. 請依照上述步驟,使用下列設定新增另一個作業。

    Setting 價值觀
    顯示名稱 getJoinedTeams
    GET 的 URL /我/加入的團隊
  5. 選取 所有作業。 在 [傳入處理 ] 區段中,選取 </> (程式碼編輯器) 圖示。

  6. 複製並貼上下列程式碼片段。 get-authorization-context使用您在上述步驟中設定的「認證提供者」和「連線」名稱來更新原則,然後選取 [儲存]。

    • 請將您的認證提供者名稱替換為 provider-id
    • 將您的連線名稱替換為 authorization-id 的值
    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
           <set-header name="Authorization" exists-action="override">
               <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
           </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

上述原則定義包含兩部分:

  • get-authorization-context 程式會參照您先前建立的認證提供者和連線,以取得授權憑證。
  • set-header 原則會使用擷取的存取權杖建立 HTTP 標頭。

步驟 5:測試 API

  1. [測試 ] 索引標籤上,選取您設定的一個作業。

  2. 選擇 傳送

    在入口網站中測試圖形 API 的螢幕擷取畫面。

    成功的回應會從 Microsoft Graph 傳回使用者資料。