Nacos配置客户端服务需要密码才能获取配置/取得连接

2022-06-18 4397点热度 0人点赞 0条评论

默认安装的阿里巴巴开源版本的nacos:https://nacos.io/zh-cn/index.html 控制台是可以设置密码访问的,但是有个问题,默认java客户端去连的话(例如作为配置中心去获取配置文件等)是不用写什么密码的配置就可以获取的,这样就带来一个问题,如果有未授权的用户通过springboot等客户端作为spring cloud的服务节点去连接的话,能获取到远程配置,如果里面包含数据库、redis、mq等连接信息,显然是不安全的。

开启需要鉴权

在 Nacos server 上修改 application.properties 中的 nacos.core.auth.enabled 值为 true 即可(不明白为什么这不是默认的):

nacos.core.auth.enabled=true

如果是用docker安装的nacos,docker安装方法详见:https://blog.terrynow.com/2022/03/18/docker-install-nacos-2-0-and-persistence-with-mysql/ 修改自定义的配置文件custom.properties:

接下来客户端服务节点的配置增加用户名密码即可:

bootstrap.yml

# Spring
spring: 
  application:
    # 应用名称
    name: some-service
  cloud:
    nacos:
      # 当nacos服务器那边设置了nacos.core.auth.enabled=true时,需要设置spring.cloud.nacos.username和password
      username: nacos
      password: some-password

      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        namespace: 7d66e9f8-5081-4ef6-975c-2a3fbecaf765
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yaml
        namespace: 712des1-5081-4ef6-975c-2a6fbecaf1145

如果需要更细粒度的控制不同用户的访问权限,我们可以在 Nacos 控制台上创建用户、设置权限。步骤如下:

访问 localhost:8848/nacos 并登录,在 权限控制->用户列表 页面,添加用户:

权限控制->角色管理,绑定用户和角色:

给对应角色添加权限,在 权限控制->权限管理 页面,添加权限:

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论