iotdb权限管理

权限管理

IoTDB为用户提供了权限管理操作,从而为用户提供对于数据的权限管理功能,保障数据的安全。

基本概念

用户

用户即数据库的合法使用者。一个用户与一个唯一的用户名相对应,并且拥有密码作为身份验证的手段。一个人在使用数据库之前,必须先提供合法的(即存于数据库中的)用户名与密码,使得自己成为用户。

权限

数据库提供多种操作,并不是所有的用户都能执行所有操作。如果一个用户可以执行某项操作,则称该用户有执行该操作的权限。权限可分为数据管理权限(如对数据进行增删改查)以及权限管理权限(用户、角色的创建与删除,权限的赋予与撤销等)。数据管理权限往往需要一个路径来限定其生效范围,它的生效范围是以该路径对应的节点为根的一棵子树。

角色

角色是若干权限的集合,并且有一个唯一的角色名作为标识符。用户通常和一个现实身份相对应(例如交通调度员),而一个现实身份可能对应着多个用户。这些具有相同现实身份的用户往往具有相同的一些权限。角色就是为了能对这样的权限进行统一的管理的抽象。

默认用户及其具有的角色

初始安装后的IoTDB中有一个默认用户:root,默认密码为root。

初始安装后的 IoTDB 中有一个默认用户:root,默认密码为 root

该用户为管理员用户,固定拥有所有权限,无法被赋予、撤销权限,也无法被删除。

权限操作示例

根据本文中描述的 样例数据内容,IoTDB 的样例数据可能同时属于 ln, sgcc 等不同发电集团,不同的发电集团不希望其他发电集团获取自己的数据库数据,因此我们需要将不同的数据在集团层进行权限隔离。

创建用户

使用 CREATE USER <userName> <password> 创建用户。

我们可以为lnsgcc集团创建两个用户角色,名为ln_write_user, sgcc_write_user,密码均为write_pwd。SQL语句为:

CREATE USER ln_write_user 'write_pwd'
CREATE USER sgcc_write_user 'write_pwd'

使用 CREATE USER userName password 创建用户

此时使用展示用户的 SQL 语句:

LIST USER

我们可以看到这两个已经被创建的用户,结果如下:

IoTDB> LIST USER
+---------------+
|           user|
+---------------+
|  ln_write_user|
|           root|
|sgcc_write_user|
+---------------+
Total line number = 3
It costs 0.244s

LIST USER 显示用户

赋予用户权限

此时,虽然两个用户已经创建,但是他们不具有任何权限,因此他们并不能对数据库进行操作,例如我们使用 ln_write_user 用户对数据库中的数据进行写入,SQL 语句为:

首先,以用户ln_write_user登录iotdb-cli:

./start-cli.bat -h 127.0.0.1 -p 6667 -u ln_write_user -pw write_pwd

以ln_write_user用户登录iotdb-cli,密码为write_pwd

再进行写入操作:

INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)

此时,系统不允许用户进行此操作,会提示错误:

IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)
Msg: 602: No permissions for this operation INSERT

<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值