DBMS ROLE MANAGEMENT 权限

与其他权限一样,用于角色管理的 DBMS 权限也可以被授予、拒绝或撤销。

有关语法描述的更多详细信息,请参阅 阅读管理命令语法。

表 1. 角色管理权限命令语法
命令 描述
GRANT [IMMUTABLE] CREATE ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够创建新角色。

GRANT [IMMUTABLE] RENAME ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够更改角色的名称。

GRANT [IMMUTABLE] DROP ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够删除角色。

GRANT [IMMUTABLE] ASSIGN ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够将角色分配给用户。

GRANT [IMMUTABLE] REMOVE ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够从用户处移除角色。

GRANT [IMMUTABLE] SHOW ROLE
  ON DBMS
  TO role[, ...]

使指定角色能够列出角色。

GRANT [IMMUTABLE] ROLE MANAGEMENT
  ON DBMS
  TO role[, ...]

使指定角色能够创建、删除、分配、移除和列出角色。

授予创建角色的权限

您可以使用 CREATE ROLE 权限来授予添加角色的权限。
例如:

GRANT CREATE ROLE ON DBMS TO roleAdder;

结果,roleAdder 角色拥有仅允许添加角色的权限。要以命令形式列出 roleAdder 角色的所有权限,请使用以下查询

SHOW ROLE roleAdder PRIVILEGES AS COMMANDS;
表 2. 结果
command(命令)

"GRANT CREATE ROLE ON DBMS TO `roleAdder`"

行:1

授予重命名角色的权限

您可以使用 RENAME ROLE 权限来授予重命名角色的权限。
例如:

GRANT RENAME ROLE ON DBMS TO roleNameModifier;

结果,roleNameModifier 角色拥有仅允许重命名角色的权限。要列出 roleNameModifier 角色的所有权限,请使用以下查询

SHOW ROLE roleNameModifier PRIVILEGES AS COMMANDS;
表 3. 结果
command(命令)

"GRANT RENAME ROLE ON DBMS TO `roleNameModifier`"

行:1

授予删除角色的权限

您可以使用 DROP ROLE 权限来授予删除角色的权限。
例如:

GRANT DROP ROLE ON DBMS TO roleDropper;

结果,roleDropper 角色拥有仅允许删除角色的权限。要以命令形式列出 roleDropper 角色的所有权限,请使用以下查询

SHOW ROLE roleDropper PRIVILEGES AS COMMANDS;
表 4. 结果
command(命令)

"GRANT DROP ROLE ON DBMS TO `roleDropper`"

行:1

授予分配角色的权限

您可以使用 ASSIGN ROLE 权限来授予将角色分配给用户或身份验证规则的权限。
例如:

GRANT ASSIGN ROLE ON DBMS TO roleAssigner;

结果,roleAssigner 角色拥有仅允许分配/授予角色的权限。要以命令形式列出 roleAssigner 角色的所有权限,请使用以下查询

SHOW ROLE roleAssigner PRIVILEGES AS COMMANDS;
表 5. 结果
command(命令)

"GRANT ASSIGN ROLE ON DBMS TO `roleAssigner`"

行:1

授予移除角色的权限

您可以使用 REMOVE ROLE 权限来授予从用户或身份验证规则中移除角色的权限。
例如:

GRANT REMOVE ROLE ON DBMS TO roleRemover;

结果,roleRemover 角色拥有仅允许移除/撤销角色的权限。要以命令形式列出 roleRemover 角色的所有权限,请使用以下查询

SHOW ROLE roleRemover PRIVILEGES AS COMMANDS;
表 6. 结果
command(命令)

"GRANT REMOVE ROLE ON DBMS TO `roleRemover`"

行:1

授予查看角色的权限

您可以使用 SHOW ROLE 权限来授予查看角色的权限。拥有此权限的角色被允许执行 SHOW ROLES 和 SHOW POPULATED ROLES 管理命令。

为了使用 SHOW ROLES WITH USERS 和 SHOW POPULATED ROLES WITH USERS 管理命令,需要同时具备 SHOW ROLE 和 SHOW USER 权限。

为了使用 SHOW ROLES WITH AUTH RULES 管理命令,需要同时具备 SHOW ROLE 和 SHOW AUTH RULE 权限。

以下查询显示了如何授予 SHOW ROLE 权限的示例

GRANT SHOW ROLE ON DBMS TO roleViewer;

结果,roleViewer 角色拥有仅允许查看角色的权限。要以命令形式列出 roleViewer 角色的所有权限,请使用以下查询

SHOW ROLE roleViewer PRIVILEGES AS COMMANDS;
表 7. 结果
command(命令)

"GRANT SHOW ROLE ON DBMS TO `roleViewer`"

行:1

授予管理角色的权限

您可以使用 ROLE MANAGEMENT 权限来授予创建、重命名、删除、分配、移除和列出角色的权限。
例如:

GRANT ROLE MANAGEMENT ON DBMS TO roleManager;

结果,roleManager 角色拥有管理角色的所有权限。要以命令形式列出 roleManager 角色的所有权限,请使用以下查询

SHOW ROLE roleManager PRIVILEGES AS COMMANDS;
表 8. 结果
command(命令)

"GRANT ROLE MANAGEMENT ON DBMS TO `roleManager`"

行:1

© . This site is unofficial and not affiliated with Neo4j, Inc.