微服务引擎 CSE
微服务引擎 CSE
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
- 使用华为云CSE注意事项
- Nacos引擎
-
ServiceComb引擎
- 如何进行本地开发和测试?
- 证书加载错误
- 无效头名称
- mesher性能损耗是多少?
- 连接服务中心提示“Version validate failed”
- 连接服务中心提示“Not enough quota”
- 如何处理开启了安全认证的ServiceComb引擎专享版开启IPv6后服务注册失败?
- 服务名重复校验范围是什么?
- 为什么一定要定义服务契约?
- 如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?
- ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?
- 用户业务从微服务引擎专业版迁移到微服务引擎专享版checklist
- 创建引擎提示“Duplicate cluster name”
- 创建引擎过程中处理接入地址步骤失败,提示the subnet could not be found
- 本地轻量化注册服务报错:does not match rule: {Max: 100, Regexp: ^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"}
- SpringCloud应用连接ServiceComb引擎2.x版本配置中心失败
- 在全局配置中配置相关的配置项修改后,服务获取的配置内容未修改成功
- 获取配置失败
- 视频帮助
- 通用参考
本文导读
展开导读
文档首页/
微服务引擎 CSE/
最佳实践/
ServiceComb引擎/
ServiceComb引擎托管应用/
通过Spring Cloud Huawei SDK托管Spring Cloud应用/
配置文件加密方案
链接复制成功!
配置文件加密方案
配置文件中经常会涉及一些敏感信息,例如账号密码等参数。这时需对这些敏感信息进行加密,提供信息安全性。
本章节介绍使用jasypt-spring-boot-starter组件进行加密的实践,以RBAC认证中涉及的账号名和密码作为示例。
- 在pom文件中引入加密组件对应的依赖。
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency>
- 配置密码。
- 可将密码直接配置在配置文件(例如:application.properties)中。这种方式不安全,不建议使用。
jasypt.encryptor.password=******
******请填写为实际加密使用的密码。
- 在JVM启动参数中设置密码。
-D jasypt.encryptor.password=******
******请填写为实际加密使用的密码。
- 可将密码直接配置在配置文件(例如:application.properties)中。这种方式不安全,不建议使用。
- 实现加密方法。
//此处设置为配置项jasypt.encryptor.password的密码 public static String salt = "GXXX6"(用户自定义); //加密方法 public static String demoEncrypt(String value) { BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); textEncryptor.setPassword(salt); return textEncryptor.encrypt(value); } //测试解密是否正常 public static String demoDecrypt(String value) { BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); textEncryptor.setPassword(salt); return textEncryptor.decrypt(value); } public static void main(String[] args) { String username = demoEncrypt("root"); System.out.println(username); System.out.println(username); }
此处使用的加密方法是jasypt默认的加密方法,用户也可以自定义扩展加解密方法,详情请参考jasypt官方文档描述。
- 使用加密后的配置项。
可以采用如下两种方式:
- 写入配置文件方式
spring: cloud: servicecomb: credentials: account: name: ENC(账号名密文) password: ENC(密码密文)
其中,账号名密文、密码密文为3得到的结果。
说明:
这种加密方式需要使用ENC()标记,用来识别是否启用了加密。ENC()为该加密方式的特殊标记,如果没有该标记,代表使用明文。
- 环境变量注入方式
spring_cloud_servicecomb_credentials_account_name = ENC(账号名密文) spring_cloud_servicecomb_credentials_account_password = ENC(密码密文)
其中,账号名密文、密码密文为3得到的结果。
- 写入配置文件方式