influxdb1.8 开启用户名密码认证并授权
Publish: October 28, 2020 Category: 运维 No Comments
influxdb分为授权和认证两部分,认证简单理解就是:开启认证后,influxdb只会执行发送带有有效用户凭据的http请求,非法请求被禁止执行。
授权指的是对某个数据库是否有读或者写的权限。
本次用到的认证方式是最简单的认证方式,用户名密码认证方式。
默认情况下安装的influxdb是不开启认证的,因此在终端中直接执行如下命令就可以接入到influxdb的命令行控制。
#进入命令行
influx
#查看所有用户
show users;
#显示如下
root@influxdb2:/etc/influxdb# influx
Connected to http://localhost:8086 version 1.8.3
InfluxDB shell version: 1.8.3
> SHOW USERS;
user admin
---- -----
从结果中可以看到,没有任何用户。
通过在influxdb的配置文件中找到如下位置,将auth-enabled项设置为true,在重启服务之前添加几个用户,并对其进行授权。
#在influxdb.conf中
[http]
auth-enabled=true
#添加一个管理员用户
create user "root" with password 'mypassword' with all privileges
#添加一个非管理员用户只赋read权
create user "abcuser" with password 'mypassword'
grant write on "mydb" to "abcuser"
#查看abcuser的权限
show grants for mydb
#查看所有用户
SHOW USERS;
user admin
---- -----
root true
abcuser false
可以看到abcuser是非管理员用户,有一点要注意:如果创建用户的时候携带 with all privileges则标识给予所有权限,也就是创建的管理员用户。
执行完成以上操作后,重启influxdb服务。这样我们再次通过命令函操作influxdb的时候就需要携带用户名密码了。
#influxdb中使用用户名密码登录
influx -username root -password mypassword
#结果如下:
Connected to http://localhost:8086 version 1.8.3
InfluxDB shell version: 1.8.3
Related Posts: