Esta página explica cómo acceder a una base de datos de Spanner cuando estás usuario de control de acceso detallado.
Si deseas obtener más información sobre el control de acceso detallado, consulta Acerca del control de acceso detallado.
Como usuario de control de acceso detallado, debes seleccionar un rol de base de datos para ejecutar en SQL y consultas, y realizar operaciones de fila en una base de datos. Tu función la selección persiste durante toda la sesión hasta que cambies el rol.
Cuando envías una consulta, un DML o una operación de fila, Spanner verifica la autorización con las siguientes reglas:
- Consola de Google Cloud
Spanner primero verifica si tienes la implementación Permisos de IAM. Si es así, la consola de Google Cloud no muestra un selector de roles de la base de datos, y tu sesión continúa con tus permisos a nivel de la base de datos.
Si solo tienes privilegios de control de acceso detallado y no tienes permisos a nivel de la base de datos de IAM, debes tener acceso al rol del sistema
spanner_sys_reader
o a uno de sus roles de miembro. Selecciona un rol en la página Descripción general de la base de datos para que la consola de Google Cloud la sesión continúa con los privilegios requeridos.
- SDK de Google Cloud
Si especificas un rol de base de datos cuando envías una consulta, un archivo DML o una fila operativa, verificaciones de Spanner privilegios de control de acceso detallados. Si falla la verificación, Spanner no verificar los permisos de IAM a nivel de la base de datos y la operación falla.
Si no especificas un rol de base de datos, Spanner verifica permisos de IAM a nivel de la base de datos y, si las verificaciones tienen éxito, tu sesión continúa con los permisos a nivel de la base de datos.
Usa estos métodos para especificar un rol de base de datos cuando accedas a un Base de datos de Spanner:
Console
Selecciona una base de datos y, a continuación, en la página Descripción general de la base de datos, haz clic en El ícono Cambia el rol de la base de datos (lápiz) junto al Rol actual.
De forma predeterminada, cuando un usuario de control de acceso detallado accede, este campo el valor
public
Para obtener información sobre el rol del sistemapublic
, consulta Roles de sistema de control de acceso detallados.En el cuadro de diálogo Cambiar rol de la base de datos, selecciona otro rol de la lista. de roles disponibles.
Haz clic en Actualizar.
En el campo Rol actual, se muestra el rol nuevo.
gcloud
Agrega la opción
--database-role
algcloud spanner databases execute-sql
de la siguiente manera:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Bibliotecas cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby