為 Spring Boot 應用程式提供端對端安全通訊 – 在零信任環境中

工程 | Josh Long | 2021 年 12 月 08 日 | ...

為 Spring Boot 應用程式提供端對端安全通訊 – 在零信任環境中

Spring 的愛好者們,大家好!今天,我們很高興宣佈全面推出所有功能,以保護 Spring Boot 應用程式的端對端通訊 – 在零信任環境中。您可以保護 Spring Boot 應用程式的端對端通訊,或在任何通訊點終止傳輸層安全性。您也可以自動化佈建和設定保護通訊所需的所有 Azure 資源。

將安全通訊作為解決方案架構的一部分來實作可能具有挑戰性。許多客戶手動輪換其憑證,或建立自己的解決方案來自動化佈建和設定。即使如此,仍然存在資料外洩的風險 – 例如,未經授權從伺服器系統複製或傳輸資料。使用 Azure Spring Cloud,所有這些都由您處理;無需弄清楚困難的細節。 Azure Spring Cloud 抽象化了大部分複雜性,將安全通訊作為服務中可設定和自動化的選項。

「實作端對端加密和零信任一直是我方新 API 平台的首要安全需求。這兩個需求在我方的舊平台上都無法實現。 Azure Spring Cloud 及其與 Azure Key Vault 和受控識別等服務的內建整合,最終將協助我們以易於自動化和管理的方式滿足這些需求。」– Claus Lund,基礎結構工程主管,National Life Group

「對於 Liantis 而言,擁有安全的端對端通訊在我方處理非常敏感的財務、醫療和薪資資料的業務中是不可協商的。 Azure Spring Cloud 再次履行其承諾,即抽象化大部分複雜性,減少與憑證佈建、設定和憑證輪換相關的營運負擔,並透過與 Azure Key Vault 的簡單明瞭整合實現無縫操作。」- Kurt Roggen,基礎結構和安全架構師,Liantis

安全的網際網路通訊

TLS/SSL 協定建立身分和信任,並加密所有類型的通訊,從而實現安全的通訊 – 尤其是承載商業資料和個人識別資訊的 Web 流量。

您可以使用任何類型的 SSL 憑證 – 由憑證授權單位發佈的憑證、擴展驗證憑證、支援任意數量子網域的萬用字元憑證,或用於開發和測試環境的自我簽署憑證。

零信任 – 安全地載入憑證

基於「永不信任,始終驗證和免憑證」的原則,零信任透過消除未知和未管理的憑證來幫助保護所有通訊,並且僅信任透過在授予對這些憑證的存取權之前驗證身分而共用的憑證。

為了從 Azure Key Vault 安全地載入憑證,Spring Boot 應用程式使用受控識別Azure 角色型存取控制,而 Azure Spring Cloud 使用提供者服務主體和 Azure 角色型存取控制。此安全載入是使用 Azure Key Vault JCA (Java Cryptography Architecture) 提供者提供支援。

使用 Azure Key Vault

  • 您可以控制憑證的儲存和分發,以減少意外洩漏。
  • 應用程式和服務可以安全地存取憑證。金鑰保存庫使用 Azure 角色型存取控制來鎖定對僅需要存取權限的使用者的存取權限,例如當然是管理員,也適用於使用最小權限原則的應用程式。應用程式和服務使用 Azure Active Directory 和 Azure 角色型存取控制來驗證和授權,以存取憑證。
  • 您可以透過完整的稽核追蹤來監控金鑰保存庫中憑證的存取和使用情況。

保護端對端通訊或在任何點終止 TLS

如下圖所示,有多個通訊區段透過

  • 網路存取點,例如 Azure Front Door、Azure App Gateway、F5 BIG-IP 本地流量管理器、Azure API 管理和 Apigee API 管理
  • Spring Boot 應用程式和
  • 後端系統,例如資料庫、訊息傳遞和事件系統以及應用程式快取。

您可以保護 Spring Boot 應用程式的端對端通訊,或在任何通訊點終止傳輸層安全性。

保護與 Azure Spring Cloud 的通訊

區段 1 表示保護來自使用者的通訊 – 例如瀏覽器、手機、桌上型電腦、資訊站或網路存取點,例如 Azure Front Door、Azure App Gateway、F5 BIG-IP 本地流量管理器、Azure API 管理和 Apigee API 管理 – 與 Azure Spring Cloud 中輸入控制器的通訊。

預設情況下,區段 1 使用 Microsoft 提供的 *.azuremicroservices.io 網域的 SSL 憑證來保護。您可以透過將自訂網域繫結到 Azure Spring Cloud 中的應用程式,在 Azure Key Vault 中套用您自己的 SSL 憑證。無需程式碼。

保護從輸入控制器到應用程式的通訊

區段 2 表示保護從 Azure Spring Cloud 的輸入控制器到 Azure Spring Cloud 上任何應用程式的通訊。您可以啟用 TLS/SSL 以保護從輸入控制器到支援 HTTPS 的應用程式的流量

Spring Boot 應用程式可以使用 Spring 的方法來啟用 HTTPS 或安全通訊,方法是使用Azure Key Vault 憑證 Spring Boot Starter – 透過三個設定步驟,使用來自 Azure Key Vault 的 SSL 憑證來保護通訊。無需程式碼。

步驟 1 – 包含 Azure Key Vault 憑證 Spring Boot Starter

步驟 2 – 設定應用程式以從 Azure Key Vault 載入 SSL 憑證,方法是指定 Azure Key Vault 的 URI 和憑證名稱

步驟 3 – 啟用應用程式的受控識別,並授予受控識別對 Azure Key Vault 的「取得」和「列出」存取權限

保護從應用程式到受管理中介軟體的通訊

區段 3 表示從任何應用程式到 Azure Spring Cloud 中受管理的 Spring Cloud Config Server 和 Spring Cloud Service Registry 的通訊。預設情況下,區段 3 使用 Microsoft 提供的 SSL 憑證來保護。

保護應用程式到應用程式的通訊

區段 4 表示 Azure Spring Cloud 中應用程式到另一個應用程式之間的通訊。

您可以設定呼叫者應用程式使用 Azure Key Vault 憑證 Spring Boot Starter 來信任 HTTPS 已啟用應用程式提供的 SSL 憑證。

接收端的 Spring Boot 應用程式可以使用 Spring 的方法,透過 Azure Key Vault Certificates Spring Boot Starter 啟用 HTTPS 或安全通訊。

保護應用程式與外部系統的通訊

區段 5 代表 Azure Spring Cloud 中執行的應用程式與外部系統之間的通訊。 您可以設定在 Azure Spring Cloud 中執行的應用程式,以信任任何外部系統提供的 SSL 憑證 - 使用 Azure Key Vault Certificates Spring Boot Starter

從 Key Vault 將 SSL 憑證隱含載入到應用程式

如果您的 Spring 程式碼、Java 程式碼或開放原始碼程式庫 (例如 openssl) 依賴 JVM 預設的 JCA 鏈,將憑證隱含載入 JVM 的信任存放區中,那麼您可以從 Key Vault 匯入 SSL 憑證到 Azure Spring Cloud,並在應用程式中使用這些憑證。

上傳後端系統的已知公用 SSL 憑證

為了讓應用程式與雲端或內部部署系統中的後端服務通訊,可能需要使用公用 SSL 憑證來保護通訊。您可以上傳這些 SSL 憑證,以保護輸出通訊。

自動化佈建和設定以保護通訊

使用 ARM 範本、Bicep 或 Terraform,您可以自動化佈建和設定上述所有 Azure 資源,以保護通訊。

立即建置您的解決方案並保護通訊!

Azure Spring Cloud 是一項適用於 Spring Boot 應用程式的完全受控服務。 它從使用者端抽象化基礎結構和 Spring Cloud 中介軟體管理的複雜性。 因此,您可以專注於建置業務邏輯,並讓 Azure 負責動態調整規模、修補程式、安全性、合規性和高可用性。 透過幾個步驟,您就可以佈建 Azure Spring Cloud、建立應用程式、部署和調整 Spring Boot 應用程式的規模,並在幾分鐘內開始保護通訊。

Azure Spring Cloud 由 Microsoft 和 VMware 共同建置、營運和支援。 我們將繼續為 Azure Spring Cloud 帶來更多開發人員友善和企業級功能。 我們很樂意聽到您如何使用 Azure Spring Cloud 建置具影響力的解決方案...

將 Spring Boot 應用程式部署到 Azure Spring Cloud,並端對端保護通訊!

立即開始

針對 Spring Boot 應用程式端對端保護通訊

其他資源

取得 Spring 電子報

與 Spring 電子報保持連線

訂閱

取得領先

VMware 提供訓練和認證來加速您的進度。

深入了解

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

深入了解

即將舉辦的活動

查看 Spring 社群中所有即將舉辦的活動。

檢視全部