如何在InfluxDB创建对现有及未来数据库均只读的用户
InfluxDB 创建全局只读用户(覆盖现有及未来数据库)
正确操作步骤
创建基础用户
先创建不带全局权限的用户,避免一开始就赋予过高权限:CREATE USER username WITH PASSWORD 'password'授予全局只读权限
给用户授予所有数据库(包括未来新建的)的只读权限,这里的/*是InfluxDB的通配符,匹配所有数据库:GRANT READ ON "/*" TO username
你之前操作的问题原因
- 你一开始用了
WITH ALL PRIVILEGES,这个会赋予用户全局级别的所有权限,包括创建、删除数据库的权限,后续的GRANT READ不会覆盖这个全局权限,所以用户依然能操作数据库。 - 如果直接撤销全部权限,等于把所有权限都收回了,自然连查看数据库的权限都没了。
验证方法
用新建的用户登录InfluxDB:
- 尝试执行
CREATE DATABASE test_db,应该会返回权限错误 - 查询现有数据库的
SHOW MEASUREMENTS,能正常返回结果 - 用管理员账号新建一个数据库后,该只读用户可以直接查询这个新数据库的数据
内容的提问来源于stack exchange,提问作者Romil Shah
相关产品推荐
相关产品推荐

