领先一步
VMware 提供培训和认证,助您加速进步。
了解更多嗨,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
如下面的图所示,通信通过多个段进行:
您可以选择对 Spring Boot 应用程序进行端到端安全通信,或在任何通信点终止传输层安全性。
第一段表示保护来自消费者的通信——例如浏览器、手机、桌面、自助服务终端,或 Azure Front Door、Azure App Gateway、F5 BIG-IP Local Traffic Manager、Azure API Management 和 Apigee API Management 等网络接入点——到 Azure Spring Cloud 中的入口控制器。
默认情况下,第一段使用 Microsoft 提供的 *.azuremicroservices.io 域的 SSL 证书进行保护。您可以通过在 Azure Spring Cloud 中将自定义域名绑定到您的应用程序来应用您自己的 Azure Key Vault 中的 SSL 证书。无需编写代码。
第二段表示保护从 Azure Spring Cloud 的入口控制器到 Azure Spring Cloud 上任何应用程序的通信。您可以启用TLS/SSL 来保护从入口控制器到支持 HTTPS 的应用程序的流量。
Spring Boot 应用程序可以使用 Spring 的方法来启用 HTTPS 或通过使用Azure Key Vault Certificates Spring Boot Starter 来实现安全通信——通过三个配置步骤,使用来自 Azure Key Vault 的 SSL 证书来保护通信。无需编写代码。
步骤 1 – 包含 Azure Key Vault Certificates Spring Boot Starter
步骤 2 – 配置应用程序以从 Azure Key Vault 加载 SSL 证书,方法是指定 Azure Key Vault 的 URI 和证书名称
步骤 3 – 启用应用程序的托管标识,并授予托管标识对 Azure Key Vault 的“获取”和“列出”访问权限
第三段表示从 Azure Spring Cloud 中的任何应用程序到托管的 Spring Cloud Config Server 和 Spring Cloud Service Registry 的通信。默认情况下,第三段使用 Microsoft 提供的 SSL 证书进行保护。
第四段表示 Azure Spring Cloud 中一个应用程序到另一个应用程序之间的通信。
您可以使用 Azure Key Vault Certificates Spring Boot Starter 来配置调用方应用程序,使其信任由启用了 HTTPS 的被调用应用程序提供的 SSL 证书。
接收方 Spring Boot 应用程序可以使用 Spring 的方法来启用 HTTPS 或通过使用 Azure Key Vault Certificates Spring Boot Starter 来实现安全通信。
第五段表示运行在 Azure Spring Cloud 中的应用程序与外部系统之间的通信。您可以使用Azure Key Vault Certificates Spring Boot Starter 来配置运行在 Azure Spring Cloud 中的应用程序,使其信任任何外部系统提供的 SSL 证书。
如果您的 Spring 代码、Java 代码或开源库(如 openssl)依赖于 JVM 默认的 JCA 链将证书隐式加载到 JVM 的信任存储中,那么您可以将您的 SSL 证书从 Key Vault 导入到 Azure Spring Cloud 中,并在应用程序中使用这些证书。
为了让应用程序能够与云端或本地系统中的后端服务进行通信,可能需要使用公共 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 应用程序实现端到端安全通信
其他资源