如何配置NATS服务器启用账户修剪(删除)功能
报错根因
执行nsc push -P修剪账户时返回的删除权限报错,是因为NATS服务端基于nats-resolver的账户管理接口默认关闭了账户删除能力,必须在服务端配置文件中显式开启对应开关才能执行删除操作。
配置修改方法
- 打开NATS服务端使用的配置文件(通常命名为
nats-server.conf),找到定义resolver的配置块,也就是你配置内置nats解析器的段落。 - 在resolver配置块中新增
allow_delete: true配置项,参考配置示例如下:
# 原有其他配置比如监听端口、系统账户配置保持不变 http_port: 8222 server_name: nats-comm-2 system_account: SYS账户的公钥值 resolver: { type: nats dir: "/var/lib/nats/jwt/resolver" # 该路径替换为你环境实际的JWT存储路径,和原有配置保持一致 allow_delete: true # 新增该行,开启resolver接口的账户删除权限 }
- 保存配置文件后,重启NATS服务加载新配置。
验证
服务重启完成后,重新执行原来的修剪命令即可正常执行账户删除操作:
nsc push --system-account SYS -u nats://localhost:4222 -P
注意事项
allow_delete配置项仅对type: nats的内置解析器生效,完全匹配nsc push -P仅支持nats-resolver的要求。- 生产环境开启该配置前,请确认只有可信的管理员持有系统账户操作权限,避免未授权的账户删除操作影响业务。
内容的提问来源于stack exchange,提问作者Woody1193
相关产品推荐
相关产品推荐

