InfluxDB权限管理

身份验证与授权(权限管理)

Authentication and Authorization

注意:身份授权与验证不能用于阻止恶意用户。如果有额外的做合理性和安全性的需求,InfluxDB可以运行在第三方服务内。

身份验证


InfluxDB的HTTP API和CLI(command line interface),通过简单的基于证书的内建权限控制,使用API链接数据库。启动身份验证后,http请求只有加入证书才能被接受。
注意:身份验证适用于http请求的范围。插件不适用(Graphite, collectd, etc.)

设置身份验证

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

现在,InfluxDB会检查身份证书,并且只处理验证成功的request请求。
注意:如果打开了身份验证功能,而且没有用户,InfluxDB会强制创建admin用户,并且只接受创建admin用户的query

身份验证请求


HTTP API

基本上控制台是可以这样的。
Query:

curl -v -G "http://login1.org:8086/query?db=test&u=admin&p=admin" --data-urlencode "q=select * from table"

Write:

curl -v -XPOST "http://login1.org:8086/write?db=test&u=admin&p=admin" --data-binary "table dd=44"

用户名密码明文嵌入url即可。

CLI

有两种操作方式:

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

身份授权


默认情况下,身份验证是关闭的,并且所有的用户有所有的权限,相关认证都会被忽略。只有打开情况下才会验证授权信息。

用户类型及其权限


管理员

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

CREATE DATABASE, 和 DROP DATABASE
DROP SERIESDROP MEASUREMENT
CREATE RETENTION POLICY, ALTER RETENTION POLICY, 和 DROP RETENTION POLICY
CREATE CONTINUOUS QUERYDROP CONTINUOUS QUERY

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

非管理员用户:

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

用户管理命令


管理员用户管理:
  • 创建一个新的管理员用户
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>

用户验证与授权的http错误


当验证失败时http会返回:

HTTP 401 Unauthorized
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值