在 Azure API 管理中使用 Microsoft Entra ID 來授權開發人員帳戶

在本文中,您將學會如何:

  • 讓使用者能夠從 Microsoft Entra ID 存取開發人員入口網站。
  • 新增包含 Microsoft Entra 使用者的外部群組來管理使用者的群組。

如需保護對開發人員入口網站之存取的選項概觀,請參閱保護對 API 管理開發人員入口網站的存取 \(部分機器翻譯\)。

重要

  • 本文已更新使用 Microsoft 驗證程式庫 (MSAL) 設定 Microsoft Entra 應用程式的步驟。
  • 如果您先前已使用 Azure AD 驗證程式庫 (ADAL) 針對使用者登入設定了 Microsoft Entra 應用程式,建議您移轉至 MSAL

必要條件

適用於:開發人員 |標準 |進階版

移至您的 API 管理執行個體

  1. 在 Azure 入口網站中,搜尋並選取 [API 管理服務]

    選取 API 管理 服務

  2. 在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。

    選取您的 API 管理 實例

使用 Microsoft Entra ID 啟用使用者登入 - 入口網站

為了簡化設定,APIM 可以為開發人員入口網站的使用者自動啟用 Microsoft Entra 應用程式和識別提供者。 或者,您可以手動啟用 Microsoft Entra 應用程式和識別提供者。

自動啟用 Microsoft Entra 應用程式和識別提供者

  1. 在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [入口網站概觀]

  2. 在 [入口網站概觀] 頁面上,向下捲動至 [使用 Microsoft Entra ID 啟用使用者登入]

  3. 選取 [啟用 Microsoft Entra ID]

  4. 在 [啟用 Microsoft Entra ID] 頁面上,選取 [啟用 Microsoft Entra ID]

  5. 選取關閉

    在開發人員入口網站概觀頁面中啟用 Microsoft Entra 識別碼的螢幕快照。

啟用 Microsoft Entra 提供者之後:

  • 指定 Microsoft Entra 執行個體中的使用者可以使用 Microsoft Entra 帳戶登入開發人員入口網站
  • 您可以在入口網站的 [開發人員入口網站]>[身分識別] 頁面上管理 Microsoft Entra 設定。
  • 選取 [身分識別]> [設定],選擇性地設定其他登入設定。 例如,您可能想要將匿名使用者重新導向至登入頁面。
  • 在任何組態變更之後,重新發佈開發人員入口網站。

手動啟用 Microsoft Entra 應用程式和識別提供者

  1. 在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [身分識別]

  2. 選取頂端的 [+ 新增],開啟右側的 [新增識別提供者] 窗格。

  3. 在 [類型] 底下,從下拉式功能表中選取 [Microsoft Entra ID]。 選取後,您便能夠輸入其他必要資訊。

    • 在 [用戶端程式庫] 下拉式清單中,選取 [MSAL]
    • 若要新增用戶端識別碼用戶端密碼,請參閱本文稍後的步驟。
  4. 儲存 [重新導向 URL] 以供稍後使用。

    在 Azure 入口網站 中新增識別提供者的螢幕快照。

    注意

    有兩個重新導向 URL:

    • [重新導向 URL] 會指向至 APIM 的最新開發人員入口網站。
    • [重新導向 URL (已遭取代的入口網站)] 會指向 APIM 的已遭取代開發人員入口網站。

    建議您使用最新開發人員入口網站重新導向 URL。

  5. 在瀏覽器中,以新分頁開啟 Azure 入口網站。

  6. 瀏覽至應用程式註冊,在 Active Directory 中註冊應用程式。

  7. 選取新增註冊。 在 [登錄應用程式]頁面上設定數值,如下所示:

    • 將 [名稱] 設定為有意義的名稱,例如 developer-portal
    • 將 [支援的帳戶類型] 設定為 [任何組織目錄中的帳戶]
    • 在 [重新導向 URI] 中,選取 [單頁應用程式 (SPA)],並貼上您在先前的步驟中儲存的重新導向 URL。
    • 選取註冊
  8. 註冊應用程式後,請從 [概觀] 頁面複製 [應用程式 (用戶端) 識別碼]

  9. 切換至您 APIM 執行個體的瀏覽器分頁。

  10. 在 [新增識別提供者] 視窗中,將 [應用程式 (用戶端) 識別碼] 的值貼入 [用戶端識別碼] 方塊。

  11. 切換至 [應用程式註冊] 的瀏覽器分頁。

  12. 選取適當的應用程式註冊。

  13. 在側邊功能表的 [管理] 區段底下,選取 [憑證及祕密]

  14. 從 [憑證及祕密] 頁面中,選取 [用戶端密碼] 底下的 [新增用戶端密碼] 按鈕。

    • 輸入說明
    • 為 [到期] 選取任何選項。
    • 選擇新增
  15. 在離開此頁面之前,請複製用戶端 [密碼] 值。 您稍後會用到。

  16. 在側邊功能表的 [管理] 中,選取 [驗證]

    1. 在 [隱含授與及混合式流程] 區段中,選取 [識別碼權杖] 核取方塊。
    2. 選取 [儲存]。
  17. 在側邊功能表中的 [管理] 底下,選取 [權杖組態]> [+ 新增選擇性宣告]

    1. 在 [權杖類型] 中,選取 [識別碼]
    2. 選取 (勾選) 下列宣告:emailfamily_namegiven_name
    3. 選取 [新增]。 如果出現提示,請選取 [開啟 Microsoft Graph 電子郵件、設定檔權限]
  18. 切換至您 APIM 執行個體的瀏覽器分頁。

  19. 將密碼貼到 [新增識別提供者] 窗格中的 [用戶端密碼] 欄位。

    重要

    在金鑰到期之前,更新 [用戶端密碼]

  20. 在 [新增識別提供者] 窗格的 [允許的租用戶] 欄位中,指定您要授與 APIM 服務執行個體 API 存取權的 Microsoft Entra 執行個體網域。

    • 您可以使用換行符號、空格或逗號來分隔多個網域。

    注意

    您可以在 [允許的租用戶] 區段中指定多個網域。 全域管理必須授與目錄資料的應用程式存取權,使用者才能從與原始應用程式註冊網域不同的網域登入。 若要授與權限,全域管理員應:

    1. 移至 https://<URL of your developer portal>/aadadminconsent (例如 https://contoso.portal.azure-api.net/aadadminconsent)。
    2. 輸入想要授與存取權的 Microsoft Entra 租用戶網域名稱。
    3. 選取 [提交]
  21. 在您指定所需的設定之後,請選取 [新增]

  22. 重新發佈開發人員入口網站,Microsoft Entra 設定才會生效。 在左側功能表中的開發人員入口網站下,選取 [入口網站概觀]>[發佈]

啟用 Microsoft Entra 提供者之後:

  • 指定 Microsoft Entra 執行個體中的使用者可以使用 Microsoft Entra 帳戶登入開發人員入口網站
  • 您可以在入口網站的 [開發人員入口網站]>[身分識別] 頁面上管理 Microsoft Entra 設定。
  • 選取 [身分識別]> [設定],選擇性地設定其他登入設定。 例如,您可能想要將匿名使用者重新導向至登入頁面。
  • 在任何組態變更之後,重新發佈開發人員入口網站。

移轉至 MSAL

如果您先前已使用 ADAL 為使用者登入設定了 Microsoft Entra 應用程式,您可以使用入口網站來將應用程式移轉至 MSAL,並在 APIM 中更新識別提供者。

更新 Microsoft Entra 應用程式,以取得 MSAL 相容性

如需步驟,請參閱將重新導向 URI 切換至單頁應用程式類型

更新識別提供者設定

  1. 在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [身分識別]
  2. 從清單中,選取 [Microsoft Entra ID]
  3. 在 [用戶端程式庫] 下拉式清單中,選取 [MSAL]
  4. 選取更新
  5. 重新發佈開發人員入口網站

新增外部 Microsoft Entra 群組

既然您已為 Microsoft Entra 租用戶中的使用者啟用存取權,您可以:

  • 將 Microsoft Entra 群組新增至 APIM。
  • 使用 Microsoft Entra 群組控制產品可見度。
  1. 瀏覽至您在上一節中所註冊應用程式的 [應用程式註冊] 頁面。
  2. 選取 [API 權限]
  3. 針對 Microsoft Graph API,新增下列最低的應用程式權限:
    • User.Read.All 應用程式權限 - 因此 APIM 可以在使用者登入時讀取使用者的群組成員資格來執行群組同步。
    • Group.Read.All 應用程式權限 - 因此,當管理員嘗試使用入口網站中的 [群組] 刀鋒視窗將群組新增至 APIM 時,APIM 就可以讀取 Microsoft Entra 群組。
  4. 選取 [代表 {tenantname} 授與管理員同意],以便授與此目錄中所有使用者存取權。

您現在可以從 APIM 執行個體的 [群組] 索引標籤新增外部 Microsoft Entra 群組。

  1. 在側邊功能表的 [開發人員入口網站] 中,選取 [群組]

  2. 選取 [新增 Microsoft Entra 群組] 按鈕。

    顯示入口網站中 [新增 Microsoft Entra 群組] 按鈕的螢幕快照。

  3. 從下拉式功能表中選取 [租用戶]

  4. 搜尋並選取您要新增的群組。

  5. 按 [選取] 按鈕。

當您新增外部 Microsoft Entra 群組之後,就可以檢閱並設定其屬性:

  1. 從 [群組] 索引標籤中選取群組名稱。
  2. 編輯群組的 [名稱] 與 [描述] 資訊。

來自所設定 Microsoft Entra 執行個體的使用者現在可以:

  • 登入開發人員入口網站。
  • 檢視和訂閱所能看見的任何群組。

注意

Microsoft 身分識別平台的權限和同意 (機器翻譯) 一文中,深入了解 [委派] 和 [應用程式] 權限類型之間的差異。

將 Microsoft Entra 群組與 APIM 同步

在 Microsoft Entra 中設定的群組必須與 APIM 同步,如此便能讓您將群組新增至執行個體。 如果群組並未自動同步,請執行下列其中一個動作,手動同步群組資訊:

  • 登出和登入 Microsoft Entra ID。 此活動通常會觸發群組同步。
  • 確定會在 APIM 的組態設定中,以相同方式 (使用其中一個租用戶識別碼或網域名稱) 指定 Microsoft Entra 登入租用戶。 您可以在開發人員入口網站的 Microsoft Entra ID 識別提供者中,以及在將 Microsoft Entra 群組新增至 APIM 時,指定登入租用戶。

開發人員入口網站:新增 Microsoft Entra 帳戶驗證

在開發人員入口網站中,您可以使用預設開發人員入口網站內容登入頁面上隨附的 [登入按鈕: OAuth] 小工具,使用 Microsoft Entra ID 登入。

顯示開發人員入口網站中 OAuth 小工具的螢幕快照。

雖然在新的使用者以 Microsoft Entra ID 登入時將會自動建立新帳戶,但請考慮將相同的小工具新增至註冊頁面。 [註冊表單:OAuth] 小工具代表用來向 OAuth 註冊的表單。

重要

您必須重新發佈入口網站,Microsoft Entra ID 變更才會生效。