You need to enable JavaScript to run this app.
导航

创建 Nacos 加密配置

最近更新时间2024.03.14 16:54:47

首次发布时间2024.03.14 16:54:47

配置加密功能使 Nacos 客户端和服务端在进行配置上传和下发时避免明文传输,增强整体的安全性。本文介绍如何创建 Nacos 加密配置。

注意事项

  • 微服务引擎的 AK/SK 生成后不支持变更,请妥善保管密钥内容,严防泄漏。
  • 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 引擎版本信息支持在实例详情页的 实例规则 > 引擎版本 中查看。查看方法参见 查看实例概览

操作步骤

第一步:在微服务引擎控制台生成 AK SK

  1. 登录 微服务引擎控制台
  2. 在左侧的菜单栏单击 注册中心
  3. 实例管理 页面,单击目标实例的名称。
  4. 参数配置 > 密钥配置 区域,单击 生成密钥对
    alt
  5. 在二次确认页面,单击 确定,查看生产的密钥信息。

第二步:在客户端配置 AK SK

  1. 在客户端 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>
    
  2. 在代码中添加如下依赖。

    <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>
    
  3. 在客户端导入已生成的密钥对。

  • 直接使用 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****
    

第三步:在 Nacos 控制台创建加密配置

  1. 登录 Nacos 控制台。操作详情参见 登录 Nacos 控制台
  2. 在创建配置时,选中 数据加密,完成创建。创建配置操作详情参见 新建配置
    alt

    说明

    数据加密的配置会自动添加 cipher-aes- 的前缀。