精细的访问权限控制系统角色

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本页面定义了精细控制为每个数据库提供的三种预定义系统角色的特性、限制和预期用途。每个系统角色都有一组不同的权限,这些权限无法撤消。

public

  • 默认情况下,所有精细的访问权限控制用户都拥有 public 中的 IAM 成员资格。

  • 所有数据库角色都会继承此角色的权限。

  • 最初,public 没有权限,但您可以授予其权限。如果您授予 public 权限,则该权限将可供所有数据库角色(包括之后创建的数据库角色)使用。

spanner_info_reader

  • 此角色对 INFORMATION_SCHEMA 表具有 SELECT 权限。

  • 您不能向spanner_info_reader授予任何其他权限。

  • 向需要对 INFORMATION_SCHEMA 架构未经过滤的读取访问权限的任何数据库角色授予此角色的成员资格。

spanner_sys_reader

  • 此角色对 SPANNER_SYS 表具有 SELECT 权限。

  • 您不能向spanner_sys_reader授予任何其他权限。

  • 向具有 SPANNER_SYS 架构读取权限的任何数据库角色授予此角色的成员资格。

对系统角色的限制

  • 您无法使用 DROP ROLE 语句删除系统角色。

  • 系统角色不能是其他数据库角色的成员。

    也就是说,以下语句无效。

    GRANT ROLE pii_access TO ROLE spanner_info_reader;

  • 您不能将 public 角色授予您的数据库角色。例如,以下语句也无效。

    GRANT ROLE public TO ROLE pii_access;

    不过,您可以授予 spanner_info_readerspanner_sys_reader 角色的成员资格。例如,以下是有效的语句。

    GRANT ROLE spanner_info_reader TO ROLE pii_access;
    GRANT ROLE spanner_sys_reader TO ROLE pii_access;
    

更多信息

有关详情,请参阅: