未验证 提交 6724bb3b 编写于 作者: Z Zesong Sun 提交者: GitHub

Add more SQL in Administration doc (#4903)

Co-authored-by: NZesong Sun <v-zesongsun@microsoft.com>
上级 8953d093
......@@ -50,7 +50,7 @@ According to the [sample data](https://github.com/thulab/iotdb/files/4438687/Oth
### Create User
We can create two users for ln and sgcc groups, named ln\_write\_user and sgcc\_write\_user, with both passwords being write\_pwd. The SQL statement is:
We use `CREATE USER <userName> <password>` to create users. For example, we can create two users for ln and sgcc groups, named ln\_write\_user and sgcc\_write\_user, with both passwords being write\_pwd. The SQL statement is:
```
CREATE USER ln_write_user 'write_pwd'
......@@ -88,7 +88,9 @@ The SQL statement will not be executed and the corresponding error prompt is giv
Msg: 602: No permissions for this operation INSERT
```
Now, we grant the two users write privileges to the corresponding storage groups, and try to write data again. The SQL statement is:
Now, we grant the two users write privileges to the corresponding storage groups, and try to write data again.
We use `GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>` to grant user privileges. For example:
```
GRANT USER ln_write_user PRIVILEGES INSERT_TIMESERIES on root.ln
......@@ -106,6 +108,144 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status) values(1509465600000, tr
Msg: The statement is executed successfully.
```
### SQL Statements
Here are all related SQL statements:
* Create User
```
CREATE USER <userName> <password>;
Eg: IoTDB > CREATE USER thulab 'pwd';
```
* Delete User
```
DROP USER <userName>;
Eg: IoTDB > DROP USER xiaoming;
```
* Create Role
```
CREATE ROLE <roleName>;
Eg: IoTDB > CREATE ROLE admin;
```
* Delete Role
```
DROP ROLE <roleName>;
Eg: IoTDB > DROP ROLE admin;
```
* Grant User Privileges
```
GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > GRANT USER tempuser PRIVILEGES DELETE_TIMESERIES on root.ln;
```
* Grant Role Privileges
```
GRANT ROLE <roleName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > GRANT ROLE temprole PRIVILEGES DELETE_TIMESERIES ON root.ln;
```
* Grant User Role
```
GRANT <roleName> TO <userName>;
Eg: IoTDB > GRANT temprole TO tempuser;
```
* Revoke User Privileges
```
REVOKE USER <userName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > REVOKE USER tempuser PRIVILEGES DELETE_TIMESERIES on root.ln;
```
* Revoke Role Privileges
```
REVOKE ROLE <roleName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > REVOKE ROLE temprole PRIVILEGES DELETE_TIMESERIES ON root.ln;
```
* Revoke Role From User
```
REVOKE <roleName> FROM <userName>;
Eg: IoTDB > REVOKE temprole FROM tempuser;
```
* List Users
```
LIST USER
Eg: IoTDB > LIST USER
```
* List Roles
```
LIST ROLE
Eg: IoTDB > LIST ROLE
```
* List Privileges
```
LIST PRIVILEGES USER <username> ON <path>;
Eg: IoTDB > LIST PRIVILEGES USER sgcc_wirte_user ON root.sgcc;
```
* List Privileges of Roles
```
LIST ROLE PRIVILEGES <roleName>
Eg: IoTDB > LIST ROLE PRIVILEGES actor;
```
* List Privileges of Roles(On Specific Path)
```
LIST PRIVILEGES ROLE <roleName> ON <path>;
Eg: IoTDB > LIST PRIVILEGES ROLE wirte_role ON root.sgcc;
```
* List Privileges of Users
```
LIST USER PRIVILEGES <username> ;
Eg: IoTDB > LIST USER PRIVILEGES tempuser;
```
* List Roles of Users
```
LIST ALL ROLE OF USER <username> ;
Eg: IoTDB > LIST ALL ROLE OF USER tempuser;
```
* List Users of Role
```
LIST ALL USER OF ROLE <roleName>;
Eg: IoTDB > LIST ALL USER OF ROLE roleuser;
```
* Alter Password
```
ALTER USER <username> SET PASSWORD <password>;
Eg: IoTDB > ALTER USER tempuser SET PASSWORD 'newpwd';
```
## Other Instructions
### The Relationship among Users, Privileges and Roles
......
......@@ -49,7 +49,7 @@ IoTDB 为用户提供了权限管理操作,从而为用户提供对于数据
### 创建用户
我们可以为 ln 和 sgcc 集团创建两个用户角色,名为 ln_write_user, sgcc_write_user,密码均为 write_pwd。SQL 语句为:
使用 `CREATE USER <userName> <password>` 创建用户。我们可以为 ln 和 sgcc 集团创建两个用户角色,名为 ln_write_user, sgcc_write_user,密码均为 write_pwd。SQL 语句为:
```
CREATE USER ln_write_user 'write_pwd'
......@@ -94,7 +94,9 @@ INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)
Msg: 602: No permissions for this operation INSERT
```
现在,我们分别赋予他们向对应存储组数据的写入权限,并再次尝试向对应的存储组进行数据写入。SQL 语句为:
现在,我们分别赋予他们向对应存储组数据的写入权限,并再次尝试向对应的存储组进行数据写入。
我们 `GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>` 语句赋予用户权限,例如:
```
GRANT USER ln_write_user PRIVILEGES INSERT_TIMESERIES on root.ln
GRANT USER sgcc_write_user PRIVILEGES INSERT_TIMESERIES on root.sgcc
......@@ -111,6 +113,144 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status) values(1509465600000, tr
Msg: The statement is executed successfully.
```
### SQL 语句
与权限相关的语句包括:
* 创建用户
```
CREATE USER <userName> <password>;
Eg: IoTDB > CREATE USER thulab 'passwd';
```
* 删除用户
```
DROP USER <userName>;
Eg: IoTDB > DROP USER xiaoming;
```
* 创建角色
```
CREATE ROLE <roleName>;
Eg: IoTDB > CREATE ROLE admin;
```
* 删除角色
```
DROP ROLE <roleName>;
Eg: IoTDB > DROP ROLE admin;
```
* 赋予用户权限
```
GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > GRANT USER tempuser PRIVILEGES DELETE_TIMESERIES on root.ln;
```
* 赋予角色权限
```
GRANT ROLE <roleName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > GRANT ROLE temprole PRIVILEGES DELETE_TIMESERIES ON root.ln;
```
* 赋予用户角色
```
GRANT <roleName> TO <userName>;
Eg: IoTDB > GRANT temprole TO tempuser;
```
* 撤销用户权限
```
REVOKE USER <userName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > REVOKE USER tempuser PRIVILEGES DELETE_TIMESERIES on root.ln;
```
* 撤销角色权限
```
REVOKE ROLE <roleName> PRIVILEGES <privileges> ON <nodeName>;
Eg: IoTDB > REVOKE ROLE temprole PRIVILEGES DELETE_TIMESERIES ON root.ln;
```
* 撤销用户角色
```
REVOKE <roleName> FROM <userName>;
Eg: IoTDB > REVOKE temprole FROM tempuser;
```
* 列出用户
```
LIST USER
Eg: IoTDB > LIST USER
```
* 列出角色
```
LIST ROLE
Eg: IoTDB > LIST ROLE
```
* 列出权限
```
LIST PRIVILEGES USER <username> ON <path>;
Eg: IoTDB > LIST PRIVILEGES USER sgcc_wirte_user ON root.sgcc;
```
* 列出角色权限
```
LIST ROLE PRIVILEGES <roleName>
Eg: IoTDB > LIST ROLE PRIVILEGES actor;
```
* 列出角色在具体路径上的权限
```
LIST PRIVILEGES ROLE <roleName> ON <path>;
Eg: IoTDB > LIST PRIVILEGES ROLE wirte_role ON root.sgcc;
```
* 列出用户权限
```
LIST USER PRIVILEGES <username> ;
Eg: IoTDB > LIST USER PRIVILEGES tempuser;
```
* 列出用户角色
```
LIST ALL ROLE OF USER <username> ;
Eg: IoTDB > LIST ALL ROLE OF USER tempuser;
```
* 列出角色用户
```
LIST ALL USER OF ROLE <roleName>;
Eg: IoTDB > LIST ALL USER OF ROLE roleuser;
```
* 更新密码
```
ALTER USER <username> SET PASSWORD <password>;
Eg: IoTDB > ALTER USER tempuser SET PASSWORD 'newpwd';
```
## 其他说明
### 用户、权限与角色的关系
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册