En esta página se explica cómo acceder a una base de datos de Spanner si eres un usuario con control de acceso granular.
Para obtener información sobre el control de acceso pormenorizado, consulta Información sobre el control de acceso pormenorizado.
Como usuario con control de acceso pormenorizado, debes seleccionar un rol de base de datos para ejecutar instrucciones y consultas SQL, así como para realizar operaciones de filas en una base de datos. El rol que elijas se mantendrá durante toda la sesión hasta que lo cambies.
Cuando envías una consulta, una operación de DML o una operación de fila, Spanner comprueba la autorización mediante las siguientes reglas:
- Google Cloud consola
Spanner comprueba primero si tienes permisos de gestión de identidades y accesos a nivel de base de datos. Si es así, la consolaGoogle Cloud noGoogle Cloud muestra un selector de roles de base de datos y la sesión continúa con los permisos a nivel de base de datos.
Si solo tienes privilegios de control de acceso pormenorizado y no tienes permisos de gestión de identidades y accesos a nivel de base de datos, se te debe haber concedido acceso al rol de sistema
spanner_sys_reader
o a uno de sus roles miembros. Selecciona un rol en la página Descripción general de la base de datos para que tu sesión de la consola Google Cloud continúe con los privilegios necesarios.
- SDK de Google Cloud
Si especificas un rol de base de datos al enviar una consulta, una instrucción DML o una operación de fila, Spanner comprueba los privilegios de control de acceso detallado. Si la comprobación falla, Spanner no comprueba los permisos de gestión de identidades y accesos a nivel de base de datos y la operación falla.
Si no especificas un rol de base de datos, Spanner comprueba los permisos de gestión de identidades y accesos a nivel de base de datos y, si las comprobaciones se realizan correctamente, tu sesión continúa con tus permisos a nivel de base de datos.
Usa estos métodos para especificar un rol de base de datos al acceder a una base de datos de Spanner:
Consola
Seleccione una base de datos y, en la página Vista general de la base de datos, haga clic en el icono Cambiar rol de la base de datos (lápiz) situado junto al campo Rol actual.
De forma predeterminada, cuando un usuario con control de acceso detallado inicia sesión, este campo tiene el valor
public
. Para obtener información sobre el rol de sistemapublic
, consulta Roles de sistema de control de acceso pormenorizado.En el cuadro de diálogo Cambiar rol de base de datos, selecciona otro rol de la lista de roles disponibles.
Haz clic en Actualizar.
En el campo Rol actual se muestra el nuevo rol.
gcloud
Añade la opción
--database-role
al comandogcloud 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 de cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby