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 和憑證有不同的用途:識別碼不是秘密。
下一個單元解讀範例註冊,並將其設定與程式碼範例連結。