跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

SHOW PRIVILEGES

SHOW PRIVILEGES命令返回特定角色的权限信息,或者当前用户或特定用户被授予的权限信息。

Important

该命令显示直接授予用户和用户角色中保存的授权记录,不会将ADMIN、资源 Owner、上级资源操作或/default_schema隐式提供的能力展开为每个资源上的权限记录。因此,返回结果不是用户最终有效权限的完整清单。请结合 SHOW ROLES、SHOW OBJECTS 和目标用户的实际操作结果进行验证。

返回信息如下表:

列名 描述
role 包含该权限的角色的名称。如果权限不被包含在任何角色中,则该字段为空。
type 权限适用的资源对象的类型。
object 权限适用的资源对象的上级引用和名称。
actions 权限允许的操作。

前提条件

  • 任意用户都可以查询授予自己的权限或指定角色中包含的权限。
  • 要查询授予其他用户的权限,当前用户必须具有ADMIN角色。

语法

show_privileges_command
SHOW PRIVILEGES FOR USER user_name ROLE role_name

show_privileges_command ::=
    'SHOW' 'PRIVILEGES'  ('FOR' ( ('USER' user_name) | ('ROLE' role_name) ) )?

参数

FOR

指定是查询授予特定用户的权限还是包含在特定角色中的权限。

如果未指定FOR子句,则该命令默认查询授予当前用户的权限。

user_name

待查询其权限的用户名称。要查询已加入当前服务组的用户,请参见 SHOW USERS。

如果用户拥有当前服务组的ADMIN角色,则该用户拥有该服务组中的所有权限,这些权限不会列在此命令的结果中。

role_name

待查询其包含权限的角色的名称。

要查询当前服务组中的所有角色,请参见 SHOW ALL ROLES。要查询授予特定用户的角色,请参见 SHOW ROLES。

示例

查询授予特定用户的权限

SHOW PRIVILEGES FOR USER user1

返回:

+------+---------+-----------------------+-----------+
| role | type    | object                | actions   |
+------+---------+-----------------------+-----------+
|      | GRAPH   | /default_schema/movie | [MATCH]   |
|      | SVCGRP  | CURRENT_SVCGRP        | [CONNECT] |
+------+---------+-----------------------+-----------+

查询包含在特定角色中的权限

SHOW PRIVILEGES FOR ROLE role1

返回:

+-------+-----------+-----------------------------+----------------+
| role  | type      | object                      | actions        |
+-------+-----------+-----------------------------+----------------+
| role1 | NODE_TYPE | /default_schema/movie.Actor | [MATCH,INSERT] |
| role1 | GRAPH     | /default_schema/movie       | [MATCH]        |
+-------+-----------+-----------------------------+----------------+