Funciones detalladas del sistema de control de acceso

En esta página, se definen las características, las restricciones y el uso previsto de las tres funciones de sistema predefinidas que el control de acceso detallado proporciona a cada base de datos. Cada función del sistema tiene un conjunto diferente de privilegios que no se puede revocar.

public

  • Todos los usuarios de control de acceso detallado tienen membresía de IAM en public de forma predeterminada.

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

  • Inicialmente, public no tiene privilegios, pero puedes otorgarle privilegios. Si otorgas un privilegio a public, este estará disponible para todas las funciones de base de datos, incluidas las que se creen después.

spanner_info_reader

  • Esta función tiene el privilegio SELECT en las vistas INFORMATION_SCHEMA para las bases de datos de dialecto de GoogleSQL y en las vistas information_schema para las bases de datos de dialecto de PostgreSQL.

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

  • Otorga membresía de esta función a cualquier función de base de datos que necesite tener acceso de lectura sin filtro a las vistas INFORMATION_SCHEMA (bases de datos de dialecto de GoogleSQL) o a las vistas information_schema (bases de datos de dialecto de PostgreSQL).

spanner_sys_reader

  • Esta función tiene el privilegio SELECT en SPANNER_SYS tablas.

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

  • Otorga la membresía de este rol a cualquier rol de la base de datos que deba tener acceso de lectura al esquema SPANNER_SYS.

Restricciones para las funciones del sistema

  • No puedes borrar una función del sistema con una instrucción DROP ROLE.

  • Las funciones del sistema no pueden ser miembros de otras funciones 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 otorgar la membresía de la función public a las funciones de base de datos. Por ejemplo, la siguiente instrucción de GoogleSQL no es válida:

    GRANT ROLE public TO ROLE pii_access;

    Sin embargo, puedes otorgar la membresía en las funciones spanner_info_reader y spanner_sys_reader. Por ejemplo, las siguientes son declaraciones 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;
    

Más información

Para obtener más información, consulte: