如何解决MSE Nacos开源控制台鉴权不生效问题

本文介绍如何解决MSE Nacos开源控制台鉴权不生效问题。

问题现象

  • 在Nacos的开源控制台中创建了新用户,并为该用户设置了某个命名空间权限,但没有生效(仍然可以访问其他命名空间)。

  • 已修改用户密码,且已删除用户,但是程序仍然可以使用旧的用户名和密码访问Nacos。

可能原因

MSE Nacos为方便用户使用,默认不开启鉴权功能。此时Nacos的OpenAPI无需身份信息(用户名密码等)即可访问。MSE Nacos在开启鉴权功能时会使用RAM控制台,不支持开源的默认鉴权插件的用户名密码体系,继而导致MSE Nacos开源控制台鉴权不生效。更多信息,请参见Nacos Client访问鉴权

解决方案

  1. 进行RAM用户的创建及授权,并使用MSE控制台进行Nacos操作。具体操作,请参见注册配置中心授权

  2. 开启Nacos实例的引擎鉴权功能,并在客户端配置对应的身份信息(例如AccessKey或RoleName等)。具体操作,请参见Nacos Client访问鉴权

  3. 移除应用程序中关于开源鉴权插件的usernamepassword相关配置,避免频繁打印login failed错误。关于报错login failed的解决方案,请参见如何解决MSE Nacos实例登录失败问题