目錄
前言
《Spring Microservices in Action》
《Spring Cloud Alibaba 微服務原理與實戰》
《B站 尚矽谷 SpringCloud 框架開發教程 周陽》
安全性是暴露由許多微服務組成的公共訪問 API 時要考慮的最重要的一個方面。Spring 有一些有趣的功能和框架,使我們的微服務安全配置更容易;
1. 安全保護基礎知識
1.1 安全保護的三個層次
- 確保正確的使用者控制;
- 確保執行服務的基礎設施是打過補丁且是最新的;
- 確保實現網路訪問控制;
1.2 構建安全服務的考慮因素
- 對所有服務通訊使用 HTTPS /安全套接字層(Secure Sockets Layer,SSL):生產環境中微服務應該只通過 HTTPS 和 SSL 提供的加密通道進行通訊;
- 所有服務呼叫都應通過 API 閘道器:服務閘道器可以作為一個針對所有服務執行的策略執行點;
- 將服務劃分到公共 API 和私有 API:開發人員應該通過將服務分離到兩個不同的區域(即公共區域和私有區域)來實現最小許可權;
- 通過封鎖不需要的網路埠來限制微服務的攻擊面:通過限制執行服務的作業系統上的人站埠和出站埠數來限制服務的攻擊面;
1.3 目前幾種流行的註冊中心對比
名稱 | 廠商 | 特點(優點) | 缺點 |
---|---|---|---|
OAuth2 |
2. 基於 OAuth2 的安全認證
OAuth2 是一個基於令牌的安全驗證和授權框架。他允許使用者使用第三方驗證服務進行驗證。 如果使用者成功進行了驗證, 則會出示一個令牌,該令牌必須與每個請求一起傳送。然後,驗證服務可以對令牌進行確認;
3. 構建使用 JWT 令牌儲存的 OAuth2 安全認證
JWT 為 OAuth2 令牌提供規範標準,並且可以自定義 JWT 令牌;