Spring Cloud Config 原理简介和实现(二)

简介: Spring Cloud Config 原理简介和实现

6、配置中心的安全认证


现在配置内容通过加解密的方式实现了安全保障,


是配置中心spring-cloud-config-server还是完全对外公开的。


如果通过http协议地址:http://config-server-ip:port/applicationName/profile/label


是可以获取到配置文件内容,这对配置信息的安全保护还是不足。


需要给spring-cloud-config-server提供用户安全认证,


在这里使用spring-boot提供的security组件来使用HTTP Bastic用户安全认证。


在spring-cloud-config-server中增加新的依赖security:

微信图片_20220414200200.png

在spring-cloud-config-server全局配置文件中增加用户信息:


微信图片_20220414200203.png


这样就为spring-cloud-config-server提供了用户安全认证。


在客户的bootstrap配置文件中增加下述内容,来实现spring-cloud-config-client访问


微信图片_20220414200206.png


7、配置中心加密


配置文件统一存储在GIT中,虽然增强了管理和版本控制,但是文件内容的安全性也成了问题。


如果外部任意知道了GIT地址或spring-cloud-config-server的地址,那么配置文件的全部内容相当于


对外完全开放。这个时候就需要提供配置内容加解密逻辑。


将加密后的配置内容保存在GIT仓库中,在spring-cloud-config-client访问


spring-cloud-config-server的时候,过spring-cloud-config-server实现加密数据的解密,


这样就可以保证配置内容的安全了。


a、对称加密


配置密钥


微信图片_20220414200209.png


查看加解密环境


微信图片_20220414200212.png

对dev-5.0.0加密


微信图片_20220414200215.png


在命令行执行


curl http://127.0.0.1:9000/encrypt -u test -d dev-5.0.0


Enter host password for user 'test':

dcd8d3714c6e8fe91660b73461352a7807b6938e48e9d17773e6f8714cad718d(base)


-d指加密数据

-u是用户名


将密文配置到git文件中去


密文前面要加上{cipher}

微信图片_20220414200218.png


访问该配置得到明文


微信图片_20220414200221.png

b、非对称加密


使用不同的密钥(key)实现配置数据的加密和解密。


使用公钥加密数据,使用私钥解密数据。


微信图片_20220414200225.png


JDK提供了java-keytool工具来生成密钥,生成的密钥信息是"keystore"文件。


keytool工具使用方式如下:


keytool -genkeypair -alias "test" -keyalg "RSA"

-keystore "test.keystore"


微信图片_20220414200228.png


生成keystore


微信图片_20220414200231.png


将生成的密钥文件test.keystore保存到spring-cloud-config-server的


classpath下(src/main/resources),并在全局配置文件中增加下述内容:


微信图片_20220414200234.png


微信图片_20220414200238.png


实现配置数据的加解密方式和对称加密一致。

相关文章
|
1月前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
138 1
|
26天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
59 1
|
1月前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
201 0
|
26天前
|
存储 XML 缓存
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南(一)
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南
60 0
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
146 0
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
98 0
|
7天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
8天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
24 2
|
23天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
23天前
|
开发框架 负载均衡 Java
Spring boot与Spring cloud之间的关系
总之,Spring Boot和Spring Cloud之间的关系是一种构建和扩展的关系,Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。
18 4
Spring boot与Spring cloud之间的关系

热门文章

最新文章