SHOW PRIVILEGES¶
SHOW PRIVILEGES命令返回特定角色的权限信息,或者当前用户或特定用户被授予的权限信息。
Important
该命令显示直接授予用户和用户角色中保存的授权记录,不会将ADMIN、资源 Owner、上级资源操作或/default_schema隐式提供的能力展开为每个资源上的权限记录。因此,返回结果不是用户最终有效权限的完整清单。请结合 SHOW ROLES、SHOW OBJECTS 和目标用户的实际操作结果进行验证。
返回信息如下表:
| 列名 | 描述 |
|---|---|
role |
包含该权限的角色的名称。如果权限不被包含在任何角色中,则该字段为空。 |
type |
权限适用的资源对象的类型。 |
object |
权限适用的资源对象的上级引用和名称。 |
actions |
权限允许的操作。 |
前提条件¶
- 任意用户都可以查询授予自己的权限或指定角色中包含的权限。
- 要查询授予其他用户的权限,当前用户必须具有
ADMIN角色。
语法¶
- show_privileges_command
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] |
+-------+-----------+-----------------------------+----------------+