使用身分識別即服務平台
幾乎每個雲端應用程式都需要搭配使用者身分識別。 身分識別是新式安全性實務 (如零信任) 的基礎,而應用程式的使用者身分識別,則是解決方案架構中至關重要的一部分。
針對大部分的解決方案,我們強烈建議使用身分識別即服務 (IDaaS) 平台,這是由專業的提供者裝載和管理而非您自行建置或操作的身分識別解決方案。 在本文中,我們會說明建置或執行您自己的身分識別系統所面臨的挑戰。
建議
重要
藉由使用 IDaaS,例如 Microsoft Entra ID、Azure AD B2C 或其他類似的系統,即可減輕本文所述的許多問題。 建議您盡可能使用此方法。
您的解決方案需求,可能會導致您使用自己託管和執行的架構或現成的身分識別解決方案。 雖然使用預先建置的身分識別平台可以減輕本文中所述的一些問題,但您能須負起使用此類解決方案處理其中許多問題的責任。
您應該避免使用從頭開始建置的身分識別系統。
避免儲存認證
執行自己的身分識別系統時,必須儲存認證資料庫。
切勿將認證儲存在純文字中,或甚至儲存為加密的資料。 相反地,您可能會考慮在儲存憑證之前對認證進行加密雜湊和加鹽處理,使它們更難以受到攻擊。 不過,即使是雜湊和加鹽的認證,也容易受到數種類型的攻擊。
無論您如何保護個別認證,維護認證資料庫都會使您成為攻擊目標。 近年來,無論是大型還是小型組織,其認證資料庫都成為了攻擊的目標。
將認證儲存體視為負債,而非資產。 透過使用 IDaaS,您可以將認證儲存體問題外包給專家,他們可以投入時間和資源來安全地管理認證。
實作身分識別和同盟通訊協定
新式身分識別通訊協定很複雜。 業界專家設計了 OAuth 2、OpenID Connect 和其他通訊協定,以確保它們可減輕真實世界攻擊和弱點。 這些通訊協定也會隨著技術、攻擊策略和使用者期望的變化而演進。 身分識別專家具備通訊協定及其使用方式的專業知識,最適合實作及驗證遵循這些通訊協定的系統。 有關協定和平台的詳細資訊,請參閱 Microsoft 身分識別平台中的 OAuth 2.0 和 OpenID Connect (OIDC)。
同盟身分識別系統也很常見。 要建立、管理和維護身分識別同盟通訊協定是很複雜的,而且需要專業知識和經驗。 IDaaS 提供者通常會在其產品中提供同盟功能以供您使用。 如需同盟的更多資訊,請參閱同盟身分識別模式。
採用新式身分識別功能
使用者預期身分識別系統具有一系列進階功能,包括:
無密碼驗證,使用不需要使用者輸入認證的安全方法進行登入。 通行金鑰就是無密碼驗證技術的一種範例。
單一登錄 (SSO),可讓使用者使用僱主、學校或其他組織的身分識別進行登入。
多重要素驗證 (MFA),會提示使用者以多種方式自行驗證。 例如,使用者可能會使用密碼登入,也可以在行動裝置上使用驗證器應用程式,或是透過電子郵件傳送的程式碼登入。
稽核會追蹤身分識別平台中發生的每個事件,包括成功、失敗和中止的登入嘗試。 後續對登入嘗試的鑑識檢查,需要這些詳細的記錄。
條件式存取會根據多種因素,針對登入嘗試建立風險設定檔。 這些因素可能包括使用者的身分識別、登入嘗試的位置、先前的登入活動,以及使用者嘗試存取的資料或應用程式的敏感度。
Just-In-Time 存取控制,可暫時允許使用者根據核准程序登入,然後自動移除授權。
如果您要自行在商務解決方案中建置身分識別元件,很可能無法合理化實作這些功能以及維護它們所需的工作量。 其中一些功能也需要額外的工作,例如與傳訊提供者整合以傳送 MFA 程式碼,以及儲存和保留稽核記錄達到足夠的時期。
IDaaS 平台也可以根據其所收到的登入要求量,提供一組改良的安全性功能。 例如,以下功能在大量客戶使用單一身分識別平台時效果最佳:
- 偵測風險性登入事件,例如殭屍網路登入嘗試
- 偵測使用者活動之間的不可能旅行
- 偵測常見的認證,例如其他使用者經常使用的密碼 (因此遭入侵的風險更高)
- 使用機器學習技術將登入嘗試分類為有效或無效
- 監視所謂的暗網是否有認證外洩的情況並防止其被濫用
- 持續監視威脅環境,以及攻擊者目前所使用的向量
如果建置或執行自己的身分識別系統,就無法利用這些功能。
使用可靠且高效能的身分識別系統
由於身分識別系統是新式雲端應用程式的重要部分,因此它們必須可靠。 如果您的身分識別系統無法使用,則解決方案的其餘部分可能會受到影響,並以降級效能的方式運作,或完全無法運作。 透過使用具有服務層級協定的 IDaaS,您可以更確信自己的身分識別系統將在您需要時保持運作。 例如,Microsoft Entra ID 為基本和進階服務層級運作時間提供 SLA,涵蓋登入和權杖發行程序。 如需詳細資訊,請參閱線上服務的服務等級協定 (SLA)。
同樣地,身分識別系統必須執行良好,而且能夠擴展到系統可能會遇到的成長層級。 視您的應用程式架構而定,每個要求都可能需要與您的身分識別系統互動,而且使用者也可察覺到任何效能問題。 IDaaS 提供者會受到激勵擴展其平台以適應大量使用者負載。 它們有能力吸收大量的流量,包括由不同形式的攻擊所產生的流量。
測試您的安全性並套用嚴格的控制項
如果您執行身分識別系統,就必須負責保護它。 您需要考慮實作的控制項範例包括:
- 執行需要特殊專業知識的定期滲透測試。
- 審查可存取該系統的員工和其他人。
- 嚴格控制解決方案的所有變更,所有變更均由專家審核。
這些控制項通常昂貴且難以實作。
使用雲端原生安全性控制項
使用 Microsoft Entra ID 作為解決方案的身分識別提供者時,即可利用雲端原生安全性功能,例如 Azure 資源的受控識別。
如果您選擇使用不同的身分識別平台,則必須考慮應用程式如何利用受控識別和其他 Microsoft Entra 功能,同時與您自己的身分識別平台整合。
專注於您的核心價值
維護安全、可靠和回應式的身分識別平台相當昂貴且複雜。 在大部分情況下,身分識別系統不是能夠為您的解決方案增加價值的元件,也無法用來與競爭對手作出區別。 最好將您的身分識別需求外包給專家所建置的系統。 如此一來,您可以專注於設計和建置解決方案的元件,為客戶增加商業價值。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- John Downs | 主任軟體工程師
其他投稿人:
- Jelle Druyts | 主任客戶工程師,FastTrack for Azure
- LaBrina Loving | 首席客戶工程經理,FastTrack for Azure
- Gary Moore | 程式設計師/作家
- Arsen Vladimirskiy | 主任客戶工程師,FastTrack for Azure
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。
下一步
- 什麼是 Microsoft Entra 識別碼?
- 什麼是 Azure Active Directory B2C?
- 探索身分識別和 Microsoft Entra ID
- 設計身分識別安全性策略
- 實作 Microsoft 身分識別
- 管理 Microsoft Entra 身分識別與存取