Roles del sistema de control de acceso pormenorizado

En esta página se definen las características, las restricciones y el uso previsto de los tres roles de sistema predefinidos que proporciona el control de acceso pormenorizado para cada base de datos. Cada rol del sistema tiene un conjunto de privilegios diferente que no se puede revocar. Esta información se aplica tanto a las bases de datos con dialecto GoogleSQL como a las bases de datos con dialecto PostgreSQL.

public función del sistema

  • Todos los usuarios con control de acceso pormenorizado tienen de forma predeterminada la pertenencia a gestión de identidades y accesos en public.

  • Todos los roles de base de datos heredan privilegios de este rol.

  • Al principio, public no tiene ningún privilegio, pero puedes concedérselos. Si concede un privilegio a public, estará disponible para todos los roles de base de datos, incluidos los que se creen posteriormente.

spanner_info_reader función del sistema

  • Este rol tiene el privilegio SELECT en las vistas INFORMATION_SCHEMA de las bases de datos con dialecto GoogleSQL y en las vistas information_schema de las bases de datos con dialecto PostgreSQL.

  • No puedes conceder ningún otro privilegio a spanner_info_reader.

  • Concede la pertenencia a este rol a cualquier rol de base de datos que necesite tener acceso de lectura sin filtrar a las vistas INFORMATION_SCHEMA (bases de datos con dialecto GoogleSQL) o a las vistas information_schema (bases de datos con dialecto PostgreSQL).

spanner_sys_reader función del sistema

  • Este rol tiene el privilegio SELECT en las tablas SPANNER_SYS.

  • No puedes conceder ningún otro privilegio a spanner_sys_reader.

  • Concede la pertenencia a este rol a cualquier rol de base de datos que deba tener acceso de lectura al esquema SPANNER_SYS.

Restricciones en los roles del sistema

  • No puedes eliminar un rol del sistema con una instrucción DROP ROLE.

  • Los roles del sistema no pueden ser miembros de otros roles de base de datos. Es decir, la siguiente instrucción de GoogleSQL no es válida:

    GRANT ROLE pii_access TO ROLE spanner_info_reader;
    
  • No puedes conceder la pertenencia al rol public a tus roles de base de datos. Por ejemplo, la siguiente instrucción de GoogleSQL también es no válida:

    GRANT ROLE public TO ROLE pii_access;
    

    Sin embargo, puedes conceder la pertenencia a los roles spanner_info_reader y spanner_sys_reader. Por ejemplo, las siguientes son instrucciones válidas.

    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;
    

Siguientes pasos