配置加密功能使 Nacos 客户端和服务端在进行配置上传和下发时避免明文传输,增强整体的安全性。本文介绍如何创建 Nacos 加密配置。
cipher-aes-
开头的配置会被识别为加密配置,访问时需要加解密。在创建非加解密配置时,请避免使用此字段。账号需要具备 MSEFullAccess
权限才能生成密钥信息。
Nacos 客户端版本为 2.0.4 及以上。
<dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.0.4</version>
Nacos 引擎版本为 2.2.4 及以上。如果需要升级版本请 提交工单 。
说明
Nacos 引擎版本信息支持在实例详情页的 实例规则 > 引擎版本 中查看。查看方法参见 查看实例概览。
在客户端 settings.xml
中新增如下的配置。
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"> <profiles> <profile> <id>bytedance-public-repos</id> <repositories> <repository> <id>bytedance-public</id> <url>https://artifact.bytedance.com/repository/Volcengine</url> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>bytedance-public-repos</activeProfile> </activeProfiles> </settings>
在代码中添加如下依赖。
<dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.0.4</version> </dependency> <dependency> <groupId>com.volcengine.nacos</groupId> <artifactId>nacos-client-plugin-ext</artifactId> <version>2.2.4.3</version> </dependency>
在客户端导入已生成的密钥对。
直接使用 nacos-client
的 Java 用户
import com.alibaba.nacos.common.plugin.ext.constant.Constants; Properties properties = new Properties(); properties.put("serverAddr", "127.0.0.1"); properties.put(Constants.CONFIG_PUBLIC_KEY, "LS0t****"); properties.put(Constants.CONFIG_PRIVATE_KEY, "LS0t****"); ConfigService configService = NacosFactory.createConfigService(properties); configService.publishConfig(dataid, group,"content123");
Spring Cloud 用户
spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.volc.publicKey=LS0t**** spring.cloud.nacos.config.volc.privateKey=LS0t****
说明
数据加密的配置会自动添加 cipher-aes-
的前缀。