本页定义了精细访问权限控制功能为每个数据库提供的三种预定义系统角色的特征、限制和预期用途。每个系统角色都有一组不同的权限,这些权限无法撤消。此信息适用于 GoogleSQL 方言数据库和 PostgreSQL 方言数据库。
public 系统角色
默认情况下,所有精细访问权限控制用户都具有
public中的 IAM 成员身份。所有数据库角色都继承了此角色的权限。
最初,
public没有任何权限,但您可以向其授予权限。 如果您向public授予权限,则所有数据库角色(包括之后创建的数据库角色)都可以使用该权限。
spanner_info_reader 系统角色
此角色对 GoogleSQL 方言数据库的
INFORMATION_SCHEMA视图和 PostgreSQL 方言数据库的information_schema视图具有SELECT权限。您无法向
spanner_info_reader授予任何其他权限。向需要对
INFORMATION_SCHEMA视图(GoogleSQL 方言数据库)或information_schema视图(PostgreSQL 方言数据库)具有无过滤读取权限的任何数据库角色授予此角色的成员资格。
spanner_sys_reader 系统角色
此角色对
SPANNER_SYS表具有SELECT权限。您无法向
spanner_sys_reader授予任何其他权限。向必须具有对
SPANNER_SYS架构的读取访问权限的任何数据库角色授予此角色的成员资格。
系统角色的限制
您无法使用
DROP ROLE语句删除系统角色。系统角色不能是其他数据库角色的成员。也就是说,以下 GoogleSQL 语句无效:
GRANT ROLE pii_access TO ROLE spanner_info_reader;您无法向数据库角色授予
public角色的成员资格。例如,以下 GoogleSQL 语句也无效:GRANT ROLE public TO ROLE pii_access;不过,您可以授予
spanner_info_reader和spanner_sys_reader角色的成员资格。例如,以下语句是有效的语句。GoogleSQL
GRANT ROLE spanner_info_reader TO ROLE pii_access; GRANT ROLE spanner_sys_reader TO ROLE pii_access; ```PostgreSQL
GRANT spanner_info_reader TO pii_access; GRANT spanner_sys_reader TO pii_access;
后续步骤
- 了解如何配置精细访问权限控制。
- 了解精细访问权限控制简介。