grants_to_roles
您可以通过查询视图 grants_to_roles
来查看授予用户定义角色的权限。
注意
默认情况下,只有具有 user_admin
角色的用户或角色才能访问此视图。 您可以使用 GRANT 授予其他用户对此视图的 SELECT 权限。
grants_to_roles
中提供了以下字段
字段 | 描述 |
---|---|
GRANTEE | 被授予此权限的角色。 此视图中仅列出用户定义的角色,而不列出系统定义的角色。 |
OBJECT_CATALOG | 对象所属的目录。 如果权限是 SYSTEM、RESOURCE GROUP、RESOURCE、USER 或 GLOBAL FUNCTION 级别权限,则返回 NULL 。 |
OBJECT_DATABASE | 对象所属的数据库。 如果权限是 SYSTEM、RESOURCE GROUP、RESOURCE、USER、GLOBAL FUNCTION 或 CATALOG 级别权限,则返回 NULL 。 |
OBJECT_NAME | 对象所属的表。 如果权限是 SYSTEM、RESOURCE GROUP、RESOURCE、USER、GLOBAL FUNCTION、CATALOG 或 DATABASE 级别权限,则返回 NULL 。 |
OBJECT_TYPE | 对象的类型。 |
PRIVILEGE_TYPE | 权限的类型。 同一对象的不同权限将被合并并在单行中返回。 如下例所示,role_test 具有 default_catalog.db_test.tbl1 上的 SELECT 和 ALTER 权限。 |
IS_GRANTABLE | 被授权者是否具有授权选项。 |
示例
MySQL > SELECT * FROM sys.grants_to_roles LIMIT 5\G
*************************** 1. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: tbl1
OBJECT_TYPE: TABLE
PRIVILEGE_TYPE: SELECT, ALTER
IS_GRANTABLE: NO
*************************** 2. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: tbl2
OBJECT_TYPE: TABLE
PRIVILEGE_TYPE: SELECT
IS_GRANTABLE: YES
*************************** 3. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: mv_test
OBJECT_TYPE: MATERIALIZED VIEW
PRIVILEGE_TYPE: SELECT
IS_GRANTABLE: YES
*************************** 4. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: NULL
OBJECT_DATABASE: NULL
OBJECT_NAME: NULL
OBJECT_TYPE: SYSTEM
PRIVILEGE_TYPE: CREATE RESOURCE GROUP
IS_GRANTABLE: NO