Microsoft Entra ID 中的驗證和授權

已完成

Microsoft Entra ID 支援現代身份協定,包括 OAuth 2.0 與 OpenID Connect。 像 MSAL4J 這類函式庫幫助應用程式使用這些協定,而不必自行實作所有協定互動。

在公司入口網站情境中,Microsoft Entra ID 是身份提供者。 入口網站依賴它來驗證帳戶並發行代幣,但入口網站仍需對自身的會話和授權決策負責。

驗證

認證 用來建立並驗證身份。 對於面向使用者的應用程式來說,它回答了「這個使用者是誰?」這個問題。

OpenID Connect 為 OAuth 2.0 新增了身份層。 應用程式可以接收包含關於已認證使用者及認證事件的聲明的 ID 令牌 。 ID 權杖是供用戶端應用程式使用的;它不是應用程式傳送給 Microsoft Graph 的權杖。

授權

授權 決定身份是否有權限執行操作或存取資料。 它回答了「這個使用者或應用程式被允許做什麼?」這個問題。

OAuth 2.0 提供流程以取得受保護 API 的存取權杖 。 在入口網站案例中,Microsoft Graph 存取權杖可讓入口網站代表已登入的使用者要求特定資料,但須受限於已授與的權限。

下表區分入口網站的認證與授權職責。

關注 入口網站中的範例
驗證 Microsoft Entra ID 用於驗證帳號,入口網站透過登入流程接收 ID 憑證。
API 授權 Microsoft Graph 存取權杖會授權讀取已登入使用者的個人資料。
應用程式授權 入口網站會套用任何額外規則來控制其頁面存取或業務運作。

成功認證並不代表自動授予所有頁面或 API 的存取權限。 例如,僅有租戶會員資格並不代表某人是員工。

應用程式註冊

應用程式註冊會描述 Microsoft Entra ID 中的應用程式。 它會建立應用程式的身份,並記錄如登入受眾及重定向 URI 等設定。 註冊可透過 Azure 入口網站、Azure CLI 或 Microsoft Graph API 管理;本模組不建立註冊。

支援的帳號類型定義了登入受眾:

  • 此組織目錄中的帳號僅 識別單一租戶受眾,包括所選租戶中的使用者與訪客帳號。
  • 任何組織目錄中的帳戶可在多租用戶設計中允許來自 Microsoft Entra 租用戶的帳戶。
  • 任何組織目錄中的帳戶和個人 Microsoft 帳戶也允許個人 Microsoft 帳戶。
  • 個人 Microsoft 帳號限制受眾為個人 Microsoft 帳號,例如 Outlook.com 帳號。

註冊時有一個 應用程式(用戶端)ID ,用以識別該應用程式在協定請求中。 機密網路應用程式在取得令牌時也會使用應用程式憑證來驗證自身。 客戶端 ID 和憑證有不同的用途:識別碼不是秘密。

下一個單元解讀範例註冊,並將其設定與程式碼範例連結。