InfluxDb-权限管理

身份验证与授权


InfluxDB的HTTP API和CLI(command line interface),通过简单的基于证书的内建权限控制,使用API链接数据库。启动身份验证后,http请求只有加入证书才能被接受。 

设置身份验证


  1. 创建一个admin用户
  2. 默认情况下,在配置文件中,身份验证是关闭的。可以通过设置 [http] 中的 auth-enabled=true 来开启
  3. 重启应用

有两种操作方式:

  • 启动控制台后,再设置用户 auth <username> <password>
$ influx
Connected to http://localhost:8086 version 0.9.4.1
InfluxDB shell 0.9.4.1
> auth user pwd
>
  • 以用户名密码启动:
influx -username useer -password abcd

用户类型及其权限


管理员

所有管理员有所有数据库的读写权限,并且可以执行以下所有的管理类查询语句: 
数据库管理:

◦ CREATE DATABASE, 和 DROP DATABASE 
◦ DROP SERIES 和 DROP MEASUREMENT 
◦ CREATE RETENTION POLICYALTER RETENTION POLICY, 和 DROP RETENTION POLICY 
◦ CREATE CONTINUOUS QUERY 和 DROP CONTINUOUS QUERY

用户管理: 
◦ Admin user management: 
CREATE USERGRANT ALL PRIVILEGESREVOKE ALL PRIVILEGES, 和 SHOW USERS 
◦ Non-admin user management: 
CREATE USERGRANT [READ,WRITE,ALL], REVOKE [READ,WRITE,ALL], 和 SHOW GRANTS 
◦ General user management: 
SET PASSWORD 和 DROP USER

非管理员用户

非管理员用户可以赋一种权限: 
◦ READ 
◦ WRITE 
◦ ALL (READ 和 WRITE ) 
这三种情况可以赋给每个用户,每个数据库。

用户管理命令


管理员用户管理

  • 创建一个新的管理员用户
CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
  • 为一个已有用户授权管理员权限
GRANT ALL PRIVILEGES TO <username>
  • 取消用户权限
REVOKE ALL PRIVILEGES FROM <username>
  • 展示用户及其权限
SHOW USERS

非管理员用户管理

  • 创建一个新的普通用户
CREATE USER <username> WITH PASSWORD '<password>'
  • 为一个已有用户授权
GRANT [READ,WRITE,ALL] ON <database_name> TO <username>
  • 取消权限
REVOKE [READ,WRITE,ALL] ON <database_name> FROM <username>
  • 展示用户在不同数据库上的权限
SHOW GRANTS FOR <user_name>

普通用户账号功能管理

  • 重设密码
SET PASSWORD FOR <username> = '<password>'
  • 删除用户
DROP USER <username>

猜你喜欢

转载自blog.csdn.net/yimin_tank/article/details/84972141