註冊 Microsoft Graph 應用程式

Microsoft Graph 可讓您管理 Azure AD B2C 租使用者內的許多資源,包括客戶使用者帳戶和自訂原則。 藉由撰寫呼叫 Microsoft Graph API 腳本或應用程式,您可以將租使用者管理工作自動化,例如:

  • 將現有的使用者存放區遷移至 Azure AD B2C 租使用者
  • 在 Azure DevOps 中使用 Azure Pipeline 部署自訂原則,以及管理自訂原則金鑰
  • 在您自己的頁面上裝載使用者註冊,並在幕後建立 Azure AD B2C 目錄中的使用者帳戶
  • 自動化應用程式註冊
  • 取得稽核記錄

下列各節可協助您準備使用 Microsoft Graph API,將 Azure AD B2C 目錄中的資源管理自動化。

Microsoft Graph API 互動模式

使用 Microsoft Graph API 來管理 Azure AD B2C 租使用者中的資源時,有兩種通訊模式可供您使用:

  • 互動式 - 適用于執行一次工作,您可以使用 B2C 租使用者中的系統管理員帳戶來執行管理工作。 此模式需要系統管理員先使用其認證登入,再呼叫 Microsoft Graph API。

  • 自動化 - 針對排程或持續執行的工作,此方法會使用您設定的服務帳戶,並具有執行管理工作所需的許可權。 您可以在 Azure AD B2C 中建立「服務帳戶」,方法是註冊您的應用程式和腳本,以使用其 應用程式 (Client) 識別碼 和 OAuth 2.0 用戶端認證 授與 進行驗證。 在此情況下,應用程式會作為本身來呼叫 Microsoft Graph API,而不是先前所述的互動式方法中的系統管理員使用者。

您可以建立下列各節所示的應用程式註冊來啟用 自動化 互動案例。

Azure AD B2C 驗證服務直接支援 OAuth 2.0 用戶端認證授與流程( 目前為公開預覽版 ),但您無法用它來透過 Microsoft Graph API 管理 Azure AD B2C 資源。 不過,您可以使用 Microsoft Entra ID 和 Azure AD B2C 租使用者中應用程式的Microsoft 身分識別平臺 /token 端點來設定 用戶端認證流程

註冊管理應用程式

在腳本和應用程式可以與 Microsoft Graph API 互動來管理 Azure AD B2C 資源之前,您必須在授與所需 API 許可權的 Azure AD B2C 租使用者中建立應用程式註冊。

  1. 登入 Azure 入口網站
  2. 如果您有多個租使用者的存取權,請選取 頂端功能表中的 [設定 ] 圖示,從 [目錄 + 訂 用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
  3. 在 Azure 入口網站中,搜尋並選取 [Azure AD B2C]
  4. 選取 [應用程式註冊],然後選取 [新增註冊]
  5. 輸入 應用程式的 [名稱 ]。 例如, managementapp1
  6. 選取 此組織目錄中的 [帳戶]。
  7. 在 [許可權] 下,清除 [ 授與系統管理員同意 openid 和 offline_access 許可權 ] 核取方塊。
  8. 選取註冊
  9. 記錄應用程式概觀頁面上出現的應用程式(用戶端)識別碼 。 您會在稍後的步驟中使用此值。

授與 API 存取權

若要讓應用程式存取 Microsoft Graph 中的資料,請將相關 應用程式許可權 授與已註冊的應用程式。 應用程式的有效許可權是許可權所隱含的完整許可權層級。 例如,若要 建立 讀取 更新 刪除 Azure AD B2C 租使用者中的每個使用者,請新增 User.ReadWrite.All 許可權。

注意

User.ReadWrite.All 許可權不包含更新使用者帳戶密碼的能力。 如果您的應用程式需要更新使用者帳戶密碼, 請授與使用者系統管理員角色 。 授 與使用者系統管理員 角色時, 不需要 User.ReadWrite.All 。 使用者系統管理員角色包含管理使用者所需的所有專案。

您可以授與應用程式多個應用程式許可權。 例如,如果您的應用程式也需要管理 Azure AD B2C 租使用者中的群組,請新增 Group.ReadWrite.All 許可權。

應用程式註冊

  1. 在 [管理] 底下 ,選取 [API 許可權 ]。
  2. 在 [設定的許可權 ] 底下 ,選取 [ 新增許可權 ]。
  3. 選取 [ Microsoft API] 索引 標籤,然後選取 [Microsoft Graph ]。
  4. 選取應用程式權限
  5. 展開適當的許可權群組,然後選取許可權的核取方塊,以授與管理應用程式。 例如:
    • User.ReadWrite.All > :適用于使用者移轉或使用者管理案例。
    • Group.ReadWrite.All > :用於建立群組、讀取和更新群組成員資格,以及刪除群組。
    • AuditLog > AuditLog.Read.All :用於讀取目錄的稽核記錄。
    • 原則 Policy.ReadWrite.TrustFramework > :適用于持續整合/持續傳遞 (CI/CD) 案例。 例如,使用 Azure Pipelines 進行自訂原則部署。
  6. 選取新增權限。 依照指示,請稍候幾分鐘,再繼續進行下一個步驟。
  7. 選取 [ 授與管理員同意] (您的租使用者名稱)。
  8. 使用 Azure AD B2C 租使用者中指派雲端應用程式 管理員角色的 帳戶登入, 然後選取 [授與系統管理員同意] 作為 [租使用者名稱]。
  9. 選取 [ 重新 整理],然後確認 [已為 ... 授與]會出現在 [狀態 ] 底下 。 可能需要幾分鐘的時間才能傳播許可權。

[選擇性]授與使用者系統管理員角色

如果您的應用程式或腳本需要更新使用者的密碼,您必須將使用者系統管理員 角色指派 給您的應用程式。 使用者 系統管理員 角色具有您授與應用程式之固定許可權集。

若要新增 使用者系統管理員 角色,請遵循下列步驟:

  1. 登入 Azure 入口網站
  2. 如果您有多個租使用者的存取權,請選取 頂端功能表中的 [設定 ] 圖示,從 [目錄 + 訂 用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
  3. 搜尋並選取 Azure AD B2C
  4. 在 [管理] 底下 ,選取 [ 角色和系統管理員 ]。
  5. 選取 [ 使用者系統管理員 ] 角色。
  6. 選取 [新增指派]
  7. 在 [ 選取 ] 文字方塊中,輸入您稍早註冊的應用程式名稱或識別碼,例如 managementapp1 。 當它出現在搜尋結果中時,請選取您的應用程式。
  8. 選取新增。 許可權可能需要幾分鐘的時間才能完整傳播。

建立用戶端密碼

您的應用程式需要用戶端密碼,才能在要求權杖時證明其身分識別。 若要新增用戶端密碼,請遵循下列步驟:

  1. 在 [管理] 底下,選取 [憑證與祕密]
  2. 選取 [新用戶端密碼]
  3. 在 [描述 ] 方塊中 輸入用戶端密碼的描述。 例如, clientsecret1
  4. 在 [到期] 下,選取祕密的有效持續時間,然後選取 [新增]
  5. 記錄祕密的 [值]。 您可以在稍後的步驟中使用此值進行設定。

下一步

既然您已註冊管理應用程式並授與它所需的許可權,您的應用程式和服務(例如 Azure Pipelines)可以使用其認證和許可權來與 Microsoft Graph API 互動。