En esta página, se explica cómo acceder a una base de datos de Spanner cuando eres un usuario del control de acceso detallado.
Para obtener información sobre el control de acceso detallado, consulta Información sobre el control de acceso detallado.
Como usuario del control de acceso detallado, debes seleccionar un rol de base de datos para usarlo cuando ejecutes instrucciones y consultas de SQL, y para realizar operaciones de fila en una base de datos. La selección de tu rol persiste durante toda la sesión hasta que lo cambies.
Cuando envías una consulta, una operación DML o una operación de fila, Spanner verifica la autorización con las siguientes reglas:
- Google Cloud Consola de
Primero, Spanner verifica si tienes permisos de Identity and Access Management (IAM) a nivel de la base de datos. Si es así, la Google Cloud consola no muestra un selector de roles de 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 de IAM a nivel de la base de datos, se te debe haber otorgado acceso al rol del sistema
spanner_sys_readero a uno de sus roles miembros. Selecciona un rol en la página Descripción general de la base de datos para que tu Google Cloud sesión de la consola continúe con los privilegios necesarios.roles/spanner.viewer
- SDK de Google Cloud
Si especificas un rol de base de datos cuando envías una consulta, una operación DML o una operación de fila, Spanner verifica los privilegios de control de acceso detallado. Si la verificación falla, Spanner no verifica 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 los permisos de IAM a nivel de la base de datos y, si las verificaciones se realizan correctamente, tu sesión continúa con tus permisos a nivel de la base de datos.
Usa estos métodos para especificar un rol de base de datos cuando accedas a una base de datos de Spanner:
Consola de
Selecciona una base de datos y, luego, en la página Descripción general de la base de datos, haz clic en el ícono Cambiar rol de base de datos (lápiz) junto al campo Rol actual.
De forma predeterminada, cuando un usuario del control de acceso detallado accede, este campo tiene el valor
public. Para obtener información sobre el rol del sistemapublic, consulta Roles del sistema de control de acceso detallado.En el diálogo Cambiar rol de base de datos, selecciona otro rol de la lista de roles disponibles.
Haz clic en Actualizar.
El campo Rol actual muestra el rol nuevo.
gcloud
Agrega la opción
--database-rolealgcloud spanner databases execute-sqlcomando, 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