nacos 权限认证
nacos 权限认证
官网:https://nacos.io/zh-cn/docs/auth.html
权限认证
修改配置文件(application.properties)
# 该值默认为false,nacos client默认不需要用户名、密码就可访问nacos server
nacos.core.auth.enabled=true
docker 启动修改:不需修改配置文件,直接添加环境变量NACOS_AUTH_ENABLE=true
docker run -it -d --net fixed --ip 172.18.0.20 -p 8848:8848 \
-e NACOS_AUTH_ENABLE=true -e MODE=standalone \
-v ~/mysql/nacos/application.properties:/home/nacos/conf/application.properties --name nacos nacos/nacos-server
nacos docker鉴权环境变量
NACOS_AUTH_ENABLE:是否开启鉴权,默认false
NACOS_AUTH_TOKEN_EXPIRE_SECONDS:token失效时间,默认18000s(5h)
NACOS_AUTH_TOKEN:token,默认:SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE:是否开启权限缓存,默认false,开启后权限更新会有15s的延时
客户端认证
java client
open api认证
# 用户名、密码获取accessToken
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与服务端交互
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'
集群通信认证
开启鉴权后,nacos 集群节点也需要添加身份识别功能(修改配置文件application.properties)
————————————————
版权声明:本文为CSDN博主「o_瓜田李下_o」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43931625/article/details/123368900