未經許可,不得轉載。
文章目錄
- 問題背景
- 用戶到服務的身份認證與授權
- 系統對系統的通信
- 服務與服務之間的通信
- 需求分析
- Basic Auth(基本身份認證)
- 優點
- 缺點
- mTLS 證書認證
- 優點
- 缺點
- OAuth 2.0
- 優點
- 缺點
- JWS(JSON Web Signature)
- 優點
- 缺點
- 結合 Open Policy Agent 的 JWS 方案
- 優點
- 缺點
- 結論
文章目錄
- 問題背景
- 用戶到服務的身份認證與授權
- 系統對系統的通信
- 服務與服務之間的通信
- 需求分析
- Basic Auth(基本身份認證)
- 優點
- 缺點
- mTLS 證書認證
- 優點
- 缺點
- OAuth 2.0
- 優點
- 缺點
- JWS(JSON Web Signature)
- 優點
- 缺點
- 結合 Open Policy Agent 的 JWS 方案
- 優點
- 缺點
- 結論
問題背景
當代后端軟件架構由多種應用與服務組成,其整體結構復雜多變。
為滿足業務需求,應用或服務之間需要頻繁地進行通信。如何保障這些通信的安全性,并識別通信雙方的身份及其訪問權限,并非易事。
近年來,多家知名機構頻繁發生網絡安全事件,這給架構師、系統設計者與軟件工程師帶來了更大的壓力,促使他們在設計階段投入更多精力,力求從一開始就解決安全問題,并在各層系統中引入安全控制機制,落實“縱深防御”理念。
由于系統中存在多種類型的應用與資源,使得問題的復雜度進一步上升。通信模式的多樣化(如服務對服務、系統對系統等)也增加了安全設計的挑戰。
本文旨在探討服務間身份認證與授權的問題域,并總結應對該問題的常見方案。
在此之前,有必要先簡要回顧其他類型的身份認證與授權場景,以幫助理解服務間身份認證與授權的獨特性。
用戶到服務的身份認證與授權
典型的用戶到服務的身份認證與授權問