作為開發者,你可以善用產業標準來推動軟體開發,並輔以 Microsoft 認證函式庫 (MSAL)。 本文將概述 Microsoft 身份平台上所支援的標準及其優點。 確保您的雲端應用程式符合零信任(Zero Trust)要求,以確保最佳安全性。
那規範呢?
在實作協定時,請考慮撰寫完全符合所有最佳實務並遵循 OAuth 2.0 安全實作最佳實務程式碼所需的時間成本。 直接建置 Microsoft Entra ID 或 Microsoft Identity 時,請使用維護良好的函式庫(優先考慮 MSAL)。
我們優化 MSAL,以建立並支援 Microsoft Entra ID。 如果你的環境沒有 MSAL,或其函式庫中沒有解鎖功能,請使用 Microsoft 身份平台開發你的應用程式。 建立在 OAuth 2.0 功能和 OpenID Connect 之上。 考慮正確回撤到某個協定的成本。
Microsoft 身份平台如何支援標準
為了最有效率且有效地實現零信任,應開發符合 Microsoft 身份平台所支援的產業標準應用程式:
OAuth 2.0 和 OpenID Connect
作為業界授權協定,OAuth 2.0 允許使用者有限度地存取受保護資源。 OAuth 2.0 採用超文本傳輸協定(HTTP)來將用戶端角色與資源擁有者分離。 用戶端使用代幣來存取資源伺服器上的受保護資源。
OpenID Connect 結構允許 Microsoft Entra 擴充功能來增強安全性。 以下 Microsoft Entra 擴充功能是最常見的:
- 條件存取認證情境 允許應用程式套用細緻的政策來保護敏感資料與操作,而不僅僅是在應用程式層級。
- 持續存取評估(CAE)使 Microsoft Entra 應用程式能夠訂閱關鍵事件進行評估與執行。 CAE 包含風險事件評估,如停用或刪除使用者帳號、更改密碼、令牌撤銷及偵測到的使用者。
當您的應用程式使用強化安全功能如 CAE 和條件存取驗證上下文時,必須包含管理理賠挑戰的程式碼。 在開放協議中,你可以利用理賠挑戰和理賠請求來調用其他客戶端的能力。 例如,提醒應用程式因異常需要重複與 Microsoft Entra ID 互動。 另一種情況是當使用者不再符合先前驗證的條件。 你可以為這些擴充撰寫程式碼,而不干擾主要的驗證碼流程。
安全主張標記語言(SAML)
Microsoft 身份平台使用 SAML 2.0,讓您的零信任應用程式能提供單一登入(SSO)使用者體驗。 Microsoft Entra ID 中的 SSO 與單一登出 SAML 配置文件說明了身份提供者服務如何使用 SAML 斷言、協議與綁定。 SAML 協定要求身份提供者(Microsoft 身份平台)與服務提供者(您的應用程式)交換彼此的資訊。 當您以 Microsoft Entra ID 註冊您的零信任應用程式時,您會註冊與聯邦相關的資訊,其中包含該應用程式的 Redirect URI 和 Metadata URI。
MSAL 相較於協議的優點
Microsoft 針對 Microsoft 身份平台優化 MSAL,並提供最佳的單一登入(SSO)、憑證快取及中斷恢復能力體驗。 隨著MSAL普遍普及,我們持續擴展語言與框架的涵蓋範圍。
使用 MSAL 時,你可以取得應用程式類型的標記,包括網頁應用程式、網頁 API、單頁應用程式、行動與原生應用程式、守護程序以及伺服器端應用程式。 MSAL 透過 Microsoft Graph 與 API 實現快速且簡單的整合,並安全存取使用者與資料。 透過一流的身份驗證庫,你可以觸及任何受眾,並遵循 Microsoft 安全開發生命周期。
下一步
- Microsoft 身份平台認證函式庫 描述了應用程式類型的支援。
- 《利用零信任原則開發 》幫助你了解零信任的指導原則,進而提升你的應用程式安全性。
- 在應用程式開發生命週期中使用 零信任身分識別和存取管理開發最佳做法 來建立安全的應用程式。
- 使用零信任身分識別方法來建置應用程式 ,提供許可權和存取最佳做法的概觀。
- 開發人員與管理員負責應用程式註冊、授權與存取 ,有助於您與 IT 專業人員更有效地協作。
- API 保護 描述了透過註冊、定義權限與同意,以及強制存取來達成零信任目標的最佳實務。
- 客製化令牌 描述您可以在 Microsoft Entra 令牌中接收的資訊。 它說明了代幣自訂如何提升彈性與控制,同時以最低權限提升應用程式零信任安全性。
- 在 token 中配置群組聲明與應用程式角色,說明如何透過應用程式角色定義設定應用程式,並將安全群組指派給應用程式角色。 此方法提升彈性與控制,同時提升應用零信任安全性,且權限最低。