领先一步
VMware 提供培训和认证,助力您的进步。
了解更多各位 Spring 爱好者们,大家好!今天,我们很高兴地宣布,在零信任环境中为 Spring Boot 应用提供端到端安全通信的所有功能已正式推出。您可以为 Spring Boot 应用实现端到端安全通信,或者在任何通信点终止传输层安全。您还可以自动化配置所有必需的 Azure 资源,以实现通信安全。
将安全通信作为解决方案架构的一部分实施可能具有挑战性。许多客户手动轮换证书或创建自己的解决方案来自动化配置。即使如此,仍然存在数据泄露的风险——例如从未经授权的服务器系统复制或传输数据。借助 Azure Spring Cloud,所有这些都为您处理好了;无需费心处理复杂的细节。Azure Spring Cloud 抽象了大部分复杂性,使安全通信成为服务中可配置和可自动化的选项。
“实现端到端加密和零信任一直是我们新 API 平台安全需求的首要考虑事项。在旧平台上,这两个需求都无法实现。Azure Spring Cloud 及其与 Azure Key Vault 和 Managed Identities 等服务的内置集成,最终将帮助我们以易于自动化和管理的方式满足这些要求。”——Claus Lund,Infrastructure Engineering Lead,National Life Group
“对于 Liantis 而言,在我们处理高度敏感的财务、医疗和工资数据的业务领域中,安全的端到端通信是不可妥协的。再次,Azure Spring Cloud 履行了其承诺,抽象了大部分复杂性,通过与 Azure Key Vault 的简单直接集成,以无缝方式减少了与证书配置和证书轮换相关的运营开销。”- Kurt Roggen,Infrastructure and Security Architect,Liantis
TLS/SSL 协议建立身份和信任,并对所有类型的通信进行加密,从而实现安全通信——特别是承载商务数据和个人身份信息的网络流量。
您可以使用任何类型的 SSL 证书——由证书颁发机构颁发的证书、扩展验证证书、支持任意数量子域的泛型证书,或用于开发和测试环境的自签名证书。
基于“从不信任,始终验证且无需凭据”的原则,零信任通过消除未知和未管理的证书,并仅信任通过验证身份后才授予访问权限的共享证书,从而帮助保护所有通信。
为了安全地从 Azure Key Vault 加载证书,Spring Boot 应用使用托管标识和Azure 基于角色的访问控制,而 Azure Spring Cloud 使用提供者服务主体和 Azure 基于角色的访问控制。这种安全加载是通过 Azure Key Vault JCA(Java 加密架构)提供程序实现的。
使用 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 的 URI 和证书名称来从 Azure Key Vault 加载 SSL 证书
步骤 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 应用的端到端安全通信
更多资源