背景
nacos的默认是不进行分配权限的,那么这样就带来了一个问题,如果多项目共同使用一个nacos,可以带了一个情况是开发人员误操作,把其他项目的nacos配置文件更改或者删除。那么如何解决这个问题呢?就是把nacos进行分权限。A项目的人员只能看到A项目的配置。
说明:若cacos的需要分权限。nacos的版本需要在1.2以上,在1.2以上才有了鉴权的功能,所有如果nacos的版本过低的话,鉴权是用不了的
操作
修改nacos的配置文件(单机,非docker)
找到nacos的配置文件,conf/application.properties
修改配置文件
vim application.properties
找到配置文件中的nacos.core.auth.enabled=false,按“i”进入编辑模式,把false修改为true
nacos.core.auth.enabled是设置nacos的权限,也就是把nacos的分权改为开启模式。
创建空间(若已有空间,此步骤可省略)
管理员账号操作:点击左侧的命名空间---新建命名空间
创建用户
管理员账号点击左侧的权限控制,选择用户列表,选择创建用户,此步骤是为了在登录用户账号市可以这是该用户可以访问的空间。
设置角色管理
管理员账号点击左侧的角色管理,选择绑定角色
这里设置一个角色名称,并和用户名进行绑定
以上步骤设置完成之后,退出管理员的账号,登录刚创建的nacos账号,并访问非该账号可以访问的空间,出现下图的形式,即设置完成
权限管理
管理员账号点击左侧的权限管理,添加权限。这里是为了给用户分配可以查看的命名空间
项目修改配置文件
cloud:
nacos:
discovery:
server-addr: nacos的ip地址
namespace: 项目在nacos的命名空间
group: 项目的分组
username: nacos的账号
password: nacos的密码
修改完配置文件之后不需要重启,会立即生效
总结
当涉及到权限管理时,Nacos 提供了一系列功能来实现细粒度的权限控制和资源管理。以下是对 Nacos 区分权限的进一步丰富:
-
用户管理:Nacos 允许管理员创建、编辑和删除用户。每个用户都有唯一的身份标识,并且可以分配不同的角色和权限。通过用户管理功能,管理员可以灵活地控制用户对系统资源的访问和操作。
-
角色管理:Nacos 支持角色管理,管理员可以创建不同的角色,并为每个角色分配特定的权限。不同的角色可以根据实际需求进行划分,例如,超级管理员、开发人员、测试人员等。通过角色管理,可以实现对不同用户组的权限控制。
-
权限管理:Nacos 的权限管理是基于资源的,可以对不同类型的资源进行权限控制。例如,可以对配置、服务、命名空间等资源进行细粒度的权限控制。管理员可以为每个角色分配对应的权限,确保用户只能访问和操作其具有权限的资源。
-
操作权限控制:Nacos 允许管理员对每个操作进行权限控制。这意味着可以对创建、编辑、删除、查询等操作进行精确的权限分配。通过操作权限控制,可以确保用户只能进行其具备权限的操作,从而提高系统的安全性和可控性。
-
命名空间隔离:Nacos 支持命名空间隔离,每个命名空间都是一个独立的资源容器。管理员可以将不同的用户或角色分配到不同的命名空间中,从而实现资源的隔离和管理。这样可以确保不同用户只能访问和操作其所在命名空间的资源。
通过以上功能,Nacos 提供了灵活的权限管理机制,可以满足不同场景下的权限需求。管理员可以根据实际情况,对用户、角色和权限进行合理的配置,从而实现对系统资源的精确控制。