在 Azure API 管理中使用 Microsoft Entra ID 來授權開發人員帳戶
適用於:開發人員 | 基本 v2 | 標準 | 標準 v2 | 進階
在本文中,您將學會如何:
- 讓使用者能夠從 Microsoft Entra ID 存取開發人員入口網站。
- 新增包含 Microsoft Entra 使用者的外部群組來管理使用者的群組。
如需保護對開發人員入口網站之存取的選項概觀,請參閱保護對 API 管理開發人員入口網站的存取 \(部分機器翻譯\)。
重要
必要條件
完成建立 Azure APIM 執行個體快速入門。
在 Azure API 管理執行個體中匯入並發佈 API。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
移至您的 API 管理執行個體
在 Azure 入口網站中,搜尋並選取 [API 管理服務]。
在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。
使用 Microsoft Entra ID 啟用使用者登入 - 入口網站
為了簡化設定,APIM 可以為開發人員入口網站的使用者自動啟用 Microsoft Entra 應用程式和識別提供者。 或者,您可以手動啟用 Microsoft Entra 應用程式和識別提供者。
自動啟用 Microsoft Entra 應用程式和識別提供者
在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [入口網站概觀]。
在 [入口網站概觀] 頁面上,向下捲動至 [使用 Microsoft Entra ID 啟用使用者登入]。
選取 [啟用 Microsoft Entra ID]。
在 [啟用 Microsoft Entra ID] 頁面上,選取 [啟用 Microsoft Entra ID]。
選取關閉。
啟用 Microsoft Entra 提供者之後:
- 指定 Microsoft Entra 執行個體中的使用者可以使用 Microsoft Entra 帳戶登入開發人員入口網站。
- 您可以在入口網站的 [開發人員入口網站]>[身分識別] 頁面上管理 Microsoft Entra 設定。
- 選取 [身分識別] > [設定],選擇性地設定其他登入設定。 例如,您可能想要將匿名使用者重新導向至登入頁面。
- 在任何組態變更之後,重新發佈開發人員入口網站。
手動啟用 Microsoft Entra 應用程式和識別提供者
在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [身分識別]。
選取頂端的 [+ 新增],開啟右側的 [新增識別提供者] 窗格。
在 [類型] 底下,從下拉式功能表中選取 [Microsoft Entra ID]。 選取後,您便能夠輸入其他必要資訊。
- 在 [用戶端程式庫] 下拉式清單中,選取 [MSAL]。
- 若要新增用戶端識別碼和用戶端密碼,請參閱本文稍後的步驟。
儲存 [重新導向 URL] 以供稍後使用。
在瀏覽器中,以新分頁開啟 Azure 入口網站。
瀏覽至應用程式註冊,在 Active Directory 中註冊應用程式。
選取新增註冊。 在 [登錄應用程式]頁面上設定數值,如下所示:
- 將 [名稱] 設定為有意義的名稱,例如 developer-portal
- 將 [支援的帳戶類型] 設定為 [任何組織目錄中的帳戶]。
- 在 [重新導向 URI] 中,選取 [單頁應用程式 (SPA)],並貼上您在先前的步驟中儲存的重新導向 URL。
- 選取註冊。
註冊應用程式後,請從 [概觀] 頁面複製 [應用程式 (用戶端) 識別碼]。
切換至您 APIM 執行個體的瀏覽器分頁。
在 [新增識別提供者] 視窗中,將 [應用程式 (用戶端) 識別碼] 的值貼入 [用戶端識別碼] 方塊。
切換至 [應用程式註冊] 的瀏覽器分頁。
選取適當的應用程式註冊。
在側邊功能表的 [管理] 區段底下,選取 [憑證及祕密]。
從 [憑證及祕密] 頁面中,選取 [用戶端密碼] 底下的 [新增用戶端密碼] 按鈕。
- 輸入說明。
- 為 [到期] 選取任何選項。
- 選擇新增。
在離開此頁面之前,請複製用戶端 [密碼] 值。 您稍後會用到。
在側邊功能表中的 [管理] 底下,選取 [權杖組態] > [+ 新增選擇性宣告]。
- 在 [權杖類型] 中,選取 [識別碼]。
- 選取 (勾選) 下列宣告:email、family_name、given_name。
- 選取 [新增]。 如果出現提示,請選取 [開啟 Microsoft Graph 電子郵件、設定檔權限]。
切換至您 APIM 執行個體的瀏覽器分頁。
將密碼貼到 [新增識別提供者] 窗格中的 [用戶端密碼] 欄位。
重要
在金鑰到期之前,更新 [用戶端密碼]。
在 [登入租用戶] 中,指定要用於登入 Microsoft Entra 的租用戶名稱或識別碼。 如果未指定任何值,則會使用 Common 端點。
在 [允許的租用戶] 中,新增特定 Microsoft Entra 租用戶名稱或識別碼以登入至 Microsoft Entra。
在您指定所需的設定之後,請選取 [新增]。
重新發佈開發人員入口網站,Microsoft Entra 設定才會生效。 在左側功能表中的開發人員入口網站下,選取 [入口網站概觀]>[發佈]。
啟用 Microsoft Entra 提供者之後:
- 指定 Microsoft Entra 租用戶中的使用者可以使用 Microsoft Entra 帳戶登入開發人員入口網站。
- 您可以在入口網站的 [開發人員入口網站]>[身分識別] 頁面上管理 Microsoft Entra 設定。
- 選取 [身分識別] > [設定],選擇性地設定其他登入設定。 例如,您可能想要將匿名使用者重新導向至登入頁面。
- 在任何組態變更之後,重新發佈開發人員入口網站。
移轉至 MSAL
如果您先前已使用 ADAL 為使用者登入設定了 Microsoft Entra 應用程式,您可以使用入口網站來將應用程式移轉至 MSAL,並在 APIM 中更新識別提供者。
更新 Microsoft Entra 應用程式,以取得 MSAL 相容性
如需步驟,請參閱將重新導向 URI 切換至單頁應用程式類型。
更新識別提供者設定
- 在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [身分識別]。
- 從清單中,選取 [Microsoft Entra ID]。
- 在 [用戶端程式庫] 下拉式清單中,選取 [MSAL]。
- 選取更新。
- 重新發佈開發人員入口網站。
新增外部 Microsoft Entra 群組
既然您已為 Microsoft Entra 租用戶中的使用者啟用存取權,您可以:
- 將 Microsoft Entra 群組新增至 APIM。 新增的群組必須位於部署 APIM 執行個體的租用戶中。
- 使用 Microsoft Entra 群組控制產品可見度。
- 瀏覽至您在上一節中所註冊應用程式的 [應用程式註冊] 頁面。
- 選取 [API 權限]。
- 針對 Microsoft Graph API,新增下列最低的應用程式權限:
User.Read.All
應用程式權限 - 因此 APIM 可以在使用者登入時讀取使用者的群組成員資格來執行群組同步。Group.Read.All
應用程式權限 - 因此,當管理員嘗試使用入口網站中的 [群組] 刀鋒視窗將群組新增至 APIM 時,APIM 就可以讀取 Microsoft Entra 群組。
- 選取 [代表 {tenantname} 授與管理員同意],以便授與此目錄中所有使用者存取權。
您現在可以從 APIM 執行個體的 [群組] 索引標籤新增外部 Microsoft Entra 群組。
在側邊功能表的 [開發人員入口網站] 中,選取 [群組]。
選取 [新增 Microsoft Entra 群組] 按鈕。
從下拉式功能表中選取 [租用戶]。
搜尋並選取您要新增的群組。
按 [選取] 按鈕。
當您新增外部 Microsoft Entra 群組之後,就可以檢閱並設定其屬性:
- 從 [群組] 索引標籤中選取群組名稱。
- 編輯群組的 [名稱] 與 [描述] 資訊。
來自所設定 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 登入。
雖然在新的使用者以 Microsoft Entra ID 登入時將會自動建立新帳戶,但請考慮將相同的小工具新增至註冊頁面。 [註冊表單:OAuth] 小工具代表用來向 OAuth 註冊的表單。
重要
您必須重新發佈入口網站,Microsoft Entra ID 變更才會生效。