配置引擎参数

最近更新时间:2024-06-20 14:08:11

我的收藏

操作场景

Nacos 注册中心 ConsoleAuthEnabled 和 SdkAuthEnabled 鉴权参数,分别用于 Nacos 控制台鉴权和客户端鉴权。您可以在 TSE 控制台修改对应的参数开启/关闭客户端鉴权,当前仅支持客户端鉴权开关的状态变更。
说明
2022年1月25日起,新创建的实例支持在控制台修改鉴权参数来开启/关闭客户端鉴权,存量实例不支持在控制台设置鉴权参数,若您有业务需要请 提交工单 升级实例。
目前客户端鉴权仅支持 HTTP 协议。
参数
含义
ConsoleAuthEnabled
默认开启 nacos 控制台鉴权能力,您在控制台创建服务/配置默认启用读写操作鉴权。为了您的访问安全性,该开关不支持关闭。
SdkAuthEnabled
是否开启 nacos 客户端鉴权,默认关闭。打开此开关后,客户端需要配置用户名与密码才能获取服务及配置,没有配置用户名与密码的客户端将无法获取服务及配置信息,请谨慎操作。

前提条件

操作步骤

1. 登录 TSE 控制台
2. 在左侧导航栏,单击 nacos,进入 Nacos 注册中心页面。
3. 单击目标实例的“ID/名称”,进入实例详情页面。
4. 在页面上方选择参数配置页签,单击左上角的修改参数,在参数列下方修改对应的参数值。


5. 单击保存,完成参数修改。


说明
当您变更客户端鉴权开关时,无需等待实例重启,60秒内即可生效。

鉴权说明

说明
Nacos 控制台和客户端的访问方式请参见 访问控制
控制台鉴权开关默认开启,所有 HTTP 请求到 Nacos 服务端,将会进行身份验证,必要时进行被操作资源的权限验证。


客户端鉴权开关默认关闭,不需要用户名和密码即可进行服务注册、配置获取。 当您开启客户端鉴权开关时,您注册到 Nacos 上的服务需要进行认证相关的处理。
说明
TSE 已为您打通腾讯云账号与 Nacos 账号体系,您既可以使用 Naocs 账号的用户名与密码,也可以使用腾讯云账号的 secretID 和 secretKey(具体请见 访问密钥)进行操作。
Nacos Client Java SDK 鉴权 在构建 Properties 类时,需传入 Nacos 用户名和密码。
properties.put(PropertyKeyConst.SERVER_ADDR, "${TSE Nacos 客户端接入地址}");
properties.put(PropertyKeyConst.USERNAME, "${username}");
properties.put(PropertyKeyConst.PASSWORD, "${password}");
// 注册中心
NamingService namingService = NamingFactory.createNamingService(properties);
// 配置中心
ConfigService configService = ConfigFactory.createConfigService(properties);
Open-API 鉴权 首先需要使用用户名和密码登录 Nacos。
curl -X POST '127.0.0.1:8848/nacos/v1/auth/login' -d 'username=nacos&password=nacos'
若用户名和密码正确,返回信息如下:
{"accessToken":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYwNTYyOTE2Nn0.2TogGhhr11_vLEjqKko1HJHUJEmsPuCxkur-CfNojDo","tokenTtl":18000,"globalAdmin":true}
接下来进行配置信息或服务信息时,应当使用该 accessToken 鉴权,在 URL 后添加参数 accessToken={accessToken},其中{accessToken} 为登录时返回的 token 信息,例如:
curl -X GET '127.0.0.1:8848/nacos/v1/cs/configs?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYwNTYyMzkyM30.O-s2yWfDSUZ7Svd3Vs7jy9tsfDNHs1SuebJB4KlNY8Q&dataId=nacos.example.1&group=nacos_group'
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYwNTYyMzkyM30.O-s2yWfDSUZ7Svd3Vs7jy9tsfDNHs1SuebJB4KlNY8Q&port=8848&healthy=true&ip=11.11.11.11&weight=1.0&serviceName=nacos.test.3&encoding=GBK&namespaceId=n1'
Spring Cloud Alibaba 鉴权
#通用设置
spring.cloud.nacos.username=${username}
spring.cloud.nacos.password=${password}

#注册中心
spring.cloud.nacos.discovery.username=${username}
spring.cloud.nacos.discovery.password=${password}

#配置中心
spring.cloud.nacos.config.username=${username}
spring.cloud.nacos.config.password=${password}
Dubbo 鉴权
dubbo.registry.address=nacos://${TSE Nacos 客户端接入地址}:8848?username=${username}&password=${password}