探索驗證
驗證用來驗證身分識別 (使用者或應用程式或裝置) 是其所宣告的身分。 然後也會在整個驗證交易過程中提供適當的驗證和安全性層級。 身分識別驗證提供:
- 彈性、符合標準、跨組織整合的驗證
- 整合不同的來源、應用程式和通訊協定
- 採用許多不同業界標準的驗證和保證方法
使用識別提供者進行驗證時提供一種方式,以確保安全身分識別,而不會限制使用者的功能。 您可透過便利且多個來源的方式來驗證身分識別、產業通訊協定,以及確保身分識別。
便利 - 便利功能著重於使用者如何接收驗證認證提示的體驗。 這裡的焦點在於使用者體驗。 如果發生某種困難,使用者會避免使用或產生抱怨。
來源 - 來源功能涉及使用者從中取得其驗證權杖的位置。 許多組織認為他們擁有集中式簽發者 (Microsoft Entra ID),但實際上多數組織也有其他身分識別存放庫。 同盟身分識別是最常見的其他識別提供者。
通訊協定 - 組織通常已備妥各種驗證通訊協定,這會導致使用者和組織雙方缺乏充分的體驗。 這項功能的重點在於協助組織標準化一或多個現代化且安全的驗證通訊協定,以達成其驗證目標。
保證 - 驗證保證是組織對於存取資源個人是其所宣稱身分的信賴度。 這項功能會討論群組織是否使用共用帳戶,他們是否使用個人化帳戶,以及多重要素驗證或風險型驗證等解決方案是否已就緒。
同盟身分識別
同盟是已建立信任的網域集合。 信任層級可能有所不同,但通常包含驗證,且幾乎一律包含授權。 此同盟可讓您套用來自信任來源的現有身分識別,例如現有的內部部署 Active Directory。
身分識別中的常見通訊協定
通訊協定 | 描述和使用方式 |
---|---|
SAML - 安全性判斷提示標記語言 | 在識別提供者與服務提供者之間交換驗證和授權資料的開放標準。 常見的 SAML 屬性: |
主體 = 通常是使用者或裝置,IdP = 識別提供者,SP = 服務提供者 | |
IdP = 識別提供者 | |
SP = 服務提供者 | |
WS-Fed - Web 服務同盟 | Web 服務安全性架構的身分識別規格,可透過外部身分識別交換和驗證來提供單一登入。 |
OIDC - OpenID Connect | OIDC 將 OAuth 2.0「授權」通訊協定延伸來當作「驗證」通訊協定使用,以便讓您能夠使用 OAuth 來執行單一登入。 |
OpenID Connect
OpenID Connect (OIDC) 是建置於 OAuth 2.0 上的驗證通訊協定。 此通訊協定可讓使用者安全地將使用者登入至應用程式。 當您使用 Microsoft 身分識別平台的 OpenID Connect 實作時,可以將登入及 API 存取新增至您的應用程式。 OpenID Connect 將 OAuth 2.0「授權」通訊協定延伸來當作「驗證」通訊協定使用,以便讓您能夠使用 OAuth 來執行單一登入。 OpenID Connect 引進 識別碼權杖 的概念,這是一個允許用戶端驗證使用者身份的安全性權杖。 識別碼權杖也會取得關於使用者的基本設定檔資訊。 同時也會導入 UserInfo 端點,這是一種傳回使用者相關資訊的 API。
Microsoft Entra ID 中的宣告型身分識別
當使用者登入時,Microsoft Entra ID 會傳送識別碼權杖,其中包含一組有關使用者的宣告。 宣告僅是一個資訊片段,以索引鍵/值組來表示。 例如,email=bob@contoso.com。 宣告具有簽發者 (在此情況下為 Microsoft Entra ID),這是驗證使用者並建立宣告的實體。 信任簽發者表示信任該宣告。 (相反地,若您不信任簽發者,表示不信任該宣告!)
概括而言:
- 使用者驗證。
- 識別提供者 (IDP) 會傳送一組宣告。
- 應用程式會正常化或增強宣告 (選擇性)。
- 應用程式會使用該宣告來進行授權決定。
在 OpenID Connect 中,您收到的一組宣告是由驗證要求的範圍參數所控制。 不過,Microsoft Entra ID 會透過 OpenID Connect 並透過安全性權杖發出一組有限的宣告;主要是使用 JSON Web 權杖。 若您想要更多使用者相關資訊,則需要搭配 Microsoft Entra ID 使用圖形 API。
安全性權杖
Microsoft 身分識別平台會驗證使用者並提供安全性權杖,例如存取權杖、重新整理權杖以及識別碼權杖。 安全性權杖允許用戶端應用程式存取資源伺服器上受保護的資源。 權杖有三種常見的類型:存取權杖、重新整理權杖和識別碼權杖。
- 存取權杖:存取權杖是授權伺服器在 OAuth 2.0 流程期間所發出的安全性權杖。 其包含使用者及權杖適用資源的相關資訊。 該資訊可用於存取 Web API 及其他受保護的資源。 存取權杖會由資源進行驗證以授與用戶端應用程式的存取權。 若要深入瞭解 Microsoft 身分識別平台如何發出存取權杖,請參閱《存取權杖》。
- 重新整理權杖:因為存取權杖只在短時間內有效,所以授權伺服器有時會在發出存取權杖的同時發出重新整理權杖。 用戶端應用程式可以接著交換此重新整理權杖以在需要時取得新的存取權杖。 若要深入瞭解 Microsoft 身分識別平台如何使用重新整理權杖來撤銷權限,請參閱《重新整理權杖》。
- 識別碼權杖:識別碼權杖會在 OpenID Connect 流程期間傳送至用戶端應用程式。 此權杖可以連同或取代存取權杖進行傳送。 用戶端會使用識別碼權杖來驗證使用者。 若要深入瞭解 Microsoft 身分識別平台如何發出識別碼權杖,請參閱《識別碼權杖》。
什麼是 JSON Web 權杖 (JWT)?
JSON Web 權杖 (JWT) 是開放式標準 (RFC 7519),可定義精簡且自封的方式,以安全地將雙方之間的資訊傳輸為 JSON 物件。 此資訊經過數位簽署,因此可能經過驗證並受到信任。 JWT 可以使用祕密或公開/私密金鑰組進行簽署。 雖然 JWT 可以加密以同時在雙方之間提供密碼,但我們會著重於已簽署的權杖。 已簽署的權杖可以驗證其內含宣告的完整性,而加密權杖則會隱藏來自他方的這些宣告。 使用公開/私密金鑰組簽署權杖時,簽章也會認證只有持有私密金鑰的當事人是簽署的一方。
注意
從 JWT 網站提供的資訊 - https://jwt.io/。
宣告型身分識別內的定義
在 Microsoft Entra ID 中討論宣告型身分識別時,會使用一些常見的詞彙。
- 宣告 - 安全性權杖內的資料值組。 權杖內有多個宣告會從定義權杖類型的宣告傳送至加密方法。 以下是範例:
Header { "alg": "HS256", "typ": "JWT" } Content payload { "sub": "1234567890", "name": "John Doe", "aud": "https://jwt.io" }
- 判斷提示 - 資料的套件,通常是跨安全性網域共用關於使用者或帳戶身分識別和安全性資訊的權杖形式。
- 屬性 - 權杖內的資料值組。
- 增強 - 將其他宣告新增至使用者權杖的程序,以提供關於使用者的額外詳細資料。 這可能包括人力資源 (HR) 系統、SharePoint 等應用程式或其他系統的資料。