En esta página, se definen las características, las restricciones y el uso previsto de las tres funciones predefinidas del sistema que proporciona el control de acceso detallado a cada base de datos. Cada rol del sistema tiene un conjunto diferente de privilegios, que no se pueden revocar.
public
Todos los usuarios de control de acceso detallados tienen membresía de IAM en
public
de forma predeterminada.Todos los roles de base de datos heredan los privilegios de este rol.
Inicialmente,
public
no tiene privilegios, pero puedes otorgarle privilegios. Si otorgas un privilegio apublic
, estará disponible para todos los roles de bases de datos, incluidos los que se crearon después.
spanner_info_reader
Esta función tiene el privilegio
SELECT
en las vistasINFORMATION_SCHEMA
para las bases de datos del dialecto de GoogleSQL y en las vistas deinformation_schema
para las bases de datos del dialecto de PostgreSQL.No puedes otorgarle ningún otro privilegio a
spanner_info_reader
.Otorga la membresía de esta función a cualquier función de base de datos que necesite tener acceso de lectura sin filtros a las vistas
INFORMATION_SCHEMA
(bases de datos del dialecto de GoogleSQL) o a las vistasinformation_schema
(bases de datos de PostgreSQL).
spanner_sys_reader
Esta función tiene el privilegio
SELECT
en las tablasSPANNER_SYS
.No puedes otorgarle ningún otro privilegio a
spanner_sys_reader
.Otorga membresía en esta función a cualquier función de base de datos que deba tener acceso de lectura al esquema
SPANNER_SYS
.
Restricciones a los roles del sistema
No puedes borrar una función del sistema con una sentencia
DROP ROLE
.Los roles del sistema no pueden ser miembros de otros roles de la 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 membresía en la función
public
a las funciones de tu base de datos. Por ejemplo, la siguiente instrucción de GoogleSQL tampoco es válida:GRANT ROLE public TO ROLE pii_access;
Sin embargo, puedes otorgar membresía en los roles
spanner_info_reader
yspanner_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, consulta: