Descripción general de IAM

La administración de identidades y accesos (IAM) te permite controlar el acceso de usuarios y grupos a los recursos de Spanner a nivel de proyecto, instancia y base de datos de Spanner. Por ejemplo, puedes especificar que un usuario tenga control total de una base de datos específica en una instancia específica de tu proyecto, pero que no pueda crear, modificar ni borrar instancias en tu proyecto. Usando el control de acceso con IAM te permite otorgar un permiso a un usuario o grupo sin tener que modificar cada instancia de Spanner o el permiso de la base de datos individualmente.

Este documento se enfoca en los permisos de IAM relevantes para Spanner y las funciones de IAM que otorgan esos permisos Para obtener una descripción detallada de IAM y sus funciones, consulta la Guía para desarrolladores sobre la administración de identidades y accesos. En particular, consulta la sección sobre cómo administrar las políticas de IAM .

Permisos

Los permisos permiten a los usuarios realizar acciones específicas en Spanner de Google Cloud. Por ejemplo, el permiso spanner.databases.read le permite a un usuario leer desde una base de datos con la API de lectura de Spanner, mientras que spanner.databases.select permite que un usuario ejecute una instrucción de selección de SQL en un en la base de datos. No se otorgan permisos directamente a los usuarios; en su lugar, se otorgan funciones predefinidas o funciones personalizadas, que tienen uno o más permisos agrupados dentro de ellas.

En las siguientes tablas, se enumeran los permisos de IAM asociados con Spanner

Configuración de instancias

Los siguientes permisos se aplican a la instancia de Spanner parámetros de configuración. Para obtener más información, consulta las referencias de configuración de instancias para REST y RPC APIs

Nombre del permiso de configuración de instancias Descripción
spanner.instanceConfigs.create Crear una configuración de instancia personalizada
spanner.instanceConfigs.delete Borrar una configuración de instancia personalizada
spanner.instanceConfigs.get Obtener una configuración de instancia
spanner.instanceConfigs.list Crear una lista del conjunto de opciones de configuración de instancias
spanner.instanceConfigs.update Actualizar una configuración de instancia personalizada

Operaciones de configuración de instancias

Los siguientes permisos se aplican a la configuración de instancias de Spanner las operaciones. Para obtener más información, consulta las referencias de instancias de REST y RPC APIs

Nombre del permiso de operación de configuración de instancias Descripción
spanner.instanceConfigOperations.list Enumera las operaciones de configuración de instancias.
spanner.instanceConfigOperations.get Obtén una operación de configuración de instancias específica.
spanner.instanceConfigOperations.cancel Cancela una operación de configuración de instancia.
spanner.instanceConfigOperations.delete Borrar una operación de configuración de instancias

Instancias

Los siguientes permisos se aplican a las instancias de Spanner. Para ver más consulta las referencias de instancias de REST y RPC APIs

Nombre del permiso de instancias Descripción
spanner.instances.create Crear una instancia
spanner.instances.list Crear una lista de instancias
spanner.instances.get Obtener la configuración de una instancia específica
spanner.instances.getIamPolicy Obtener la política de IAM de una instancia
spanner.instances.update Actualizar una instancia
spanner.instances.setIamPolicy Establecer la política de IAM de una instancia
spanner.instances.delete Borrar una instancia

Operaciones de instancias

Los siguientes permisos se aplican a las operaciones de instancias de Spanner. Para obtener más información, consulta las referencias de instancias de REST y RPC APIs

Nombre del permiso de operación de instancias Descripción
spanner.instanceOperations.list Crear una lista de las operaciones de instancias
spanner.instanceOperations.get Obtener una operación de instancia específica
spanner.instanceOperations.cancel Cancelar una operación de instancia
spanner.instanceOperations.delete Borrar una operación de instancia

Particiones

Se aplican los siguientes permisos a las particiones de Spanner. Para ver más consulta las referencias de particiones de REST y RPC APIs

Nombre del permiso de instancias Descripción
spanner.instancePartitions.create Crea una partición.
spanner.instancePartitions.get Obtén la configuración de una partición específica.
spanner.instancePartitions.list Enumera las particiones.
spanner.instancePartitions.update Actualiza una partición.
spanner.instancePartitions.delete Borrar una partición

Operaciones de partición

Los siguientes permisos se aplican a las operaciones de partición de Spanner. Para obtener más información, consulta las referencias a particiones de instancias para APIs de REST y RPC.

Nombre del permiso de operación de partición de instancias Descripción
spanner.instancePartitionOperations.list Enumera las operaciones de partición.
spanner.instancePartitionOperations.get Obtén una operación de partición específica.
spanner.instancePartitionOperations.cancel Cancela una operación de partición.
spanner.instancePartitionOperations.delete Borra una operación de partición.

Bases de datos

Los siguientes permisos se aplican a las bases de datos de Spanner. Para ver más consulta las referencias de bases de datos de REST y RPC APIs

Nombre del permiso de la base de datos Descripción
spanner.databases.beginPartitionedDmlTransaction

Ejecutar una declaración particionada de lenguaje de manipulación de datos (DML)

spanner.databases.create Crea una base de datos.
spanner.databases.createBackup Crea una copia de seguridad de la base de datos. También requiere spanner.backups.create para crear el recurso de la copia de seguridad.
spanner.databases.list Crear una lista de bases de datos
spanner.databases.update

Actualizar los metadatos de una base de datos

spanner.databases.updateDdl Actualizar el esquema de una base de datos
spanner.databases.get Obtener los metadatos de una base de datos
spanner.databases.getDdl Obtener el esquema de una base de datos
spanner.databases.getIamPolicy Obtener la política de IAM de una base de datos
spanner.databases.setIamPolicy Establecer la política de IAM de una base de datos
spanner.databases.beginReadOnlyTransaction Inicia una transacción de solo lectura en una base de datos de Spanner.
spanner.databases.beginOrRollbackReadWriteTransaction Iniciar o revertir una transacción de lectura y escritura en una base de datos de Spanner
spanner.databases.read Leer desde una base de datos con la API de lectura
spanner.databases.select Ejecutar una instrucción de SQL de selección en una base de datos
spanner.databases.write Escribir en una base de datos
spanner.databases.drop Descartar una base de datos
spanner.databases.useRoleBasedAccess Usa el control de acceso detallado.
spanner.databases.useDataBoost Usar los recursos de procesamiento de Spanner Data Boost para procesar consultas particionadas

Roles de bases de datos

Los siguientes permisos se aplican a los roles de bases de datos de Spanner. Para obtener más información, consulta las referencias de la base de datos de las APIs de REST y RPC.

Nombre del permiso del rol de la base de datos Descripción
spanner.databaseRoles.list Enumera los roles de la base de datos.
spanner.databaseRoles.use Usa un rol específico de base de datos.

Operaciones de bases de datos

Los siguientes permisos se aplican a las operaciones de bases de datos de Spanner. Para obtener más información, consulta las referencias de bases de datos de REST. y RPC APIs

Nombre del permiso de operación de bases de datos Descripción
spanner.databaseOperations.list Genera una lista de bases de datos y restable las operaciones de base de datos.
spanner.databaseOperations.get Obtener una operación de base de datos específica
spanner.databaseOperations.cancel Cancelar una operación de base de datos

Copias de seguridad

Los siguientes permisos se aplican a las copias de seguridad de Spanner. Para ver más consulta las referencias de copias de seguridad de REST y RPC APIs

Nombre del permiso de la copia de seguridad Descripción
spanner.backups.create Crear una copia de seguridad También requiere spanner.databases.createBackup en la base de datos de origen.
spanner.backups.get Obtener una copia de seguridad.
spanner.backups.update Actualizar una copia de seguridad.
spanner.backups.delete Borra una copia de seguridad.
spanner.backups.list Muestra una lista de copias de seguridad.
spanner.backups.restoreDatabase Restablece la base de datos desde una copia de seguridad. También requiere spanner.databases.create para crear la base de datos restablecida en la instancia de destino.
spanner.backups.getIamPolicy Obtener la política de IAM de una copia de seguridad
spanner.backups.setIamPolicy Establecer la política de IAM de una copia de seguridad.

Operaciones de copia de seguridad

Los siguientes permisos se aplican a las operaciones de copia de seguridad de Spanner. Para Para obtener más información, consulta las referencias de bases de datos de REST. y las APIs de RPC.

Nombre del permiso para la operación de copia de seguridad Descripción
spanner.backupOperations.list Enumerar las operaciones de copia de seguridad.
spanner.backupOperations.get Obtener una operación de copia de seguridad específica.
spanner.backupOperations.cancel Cancela una operación de copia de seguridad.

Sesiones

Los siguientes permisos se aplican a las sesiones de Spanner. Para obtener más información, consulta las referencias de la base de datos de las APIs de REST y RPC.

Nombre del permiso de sesiones Descripción
spanner.sessions.create Crear una sesión
spanner.sessions.get Obtener una sesión
spanner.sessions.delete Borrar una sesión
spanner.sessions.list Enumerar sesiones

Funciones predefinidas

Una función predefinida es un conjunto de uno o más permisos. Por ejemplo, la función predefinida roles/spanner.databaseUser contiene los permisos spanner.databases.read y spanner.databases.write. Existen Existen dos tipos de roles predefinidos para Spanner:

  • Funciones de persona: Se otorgan a usuarios o grupos, lo que les permite realizar acciones en los recursos de tu proyecto.
  • Funciones de máquina: Se otorgan a cuentas de servicio, lo que permite que las máquinas que se ejecutan como esas cuentas de servicio realicen acciones en los recursos de tu proyecto.

En la siguiente tabla, se enumeran los controles de acceso con roles predefinidos de IAM, que incluyen un una lista de los permisos asociados con cada rol:

Role Permissions

(roles/spanner.admin)

Has complete access to all Spanner resources in a Google Cloud project. A principal with this role can:

  • Grant and revoke permissions to other principals for all Spanner resources in the project.
  • Allocate and delete chargeable Spanner resources.
  • Issue get/list/modify operations on Cloud Spanner resources.
  • Read from and write to all Cloud Spanner databases in the project.
  • Fetch project metadata.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list
  • spanner.backupSchedules.create
  • spanner.backupSchedules.delete
  • spanner.backupSchedules.get
  • spanner.backupSchedules.getIamPolicy
  • spanner.backupSchedules.list
  • spanner.backupSchedules.setIamPolicy
  • spanner.backupSchedules.update
  • spanner.backups.copy
  • spanner.backups.create
  • spanner.backups.delete
  • spanner.backups.get
  • spanner.backups.getIamPolicy
  • spanner.backups.list
  • spanner.backups.restoreDatabase
  • spanner.backups.setIamPolicy
  • spanner.backups.update
  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list
  • spanner.databaseRoles.list
  • spanner.databaseRoles.use
  • spanner.databases.beginOrRollbackReadWriteTransaction
  • spanner.databases.beginPartitionedDmlTransaction
  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.changequorum
  • spanner.databases.create
  • spanner.databases.createBackup
  • spanner.databases.drop
  • spanner.databases.get
  • spanner.databases.getDdl
  • spanner.databases.getIamPolicy
  • spanner.databases.list
  • spanner.databases.partitionQuery
  • spanner.databases.partitionRead
  • spanner.databases.read
  • spanner.databases.select
  • spanner.databases.setIamPolicy
  • spanner.databases.update
  • spanner.databases.updateDdl
  • spanner.databases.updateTag
  • spanner.databases.useDataBoost
  • spanner.databases.useRoleBasedAccess
  • spanner.databases.write
  • spanner.instanceConfigOperations.cancel
  • spanner.instanceConfigOperations.delete
  • spanner.instanceConfigOperations.get
  • spanner.instanceConfigOperations.list
  • spanner.instanceConfigs.create
  • spanner.instanceConfigs.delete
  • spanner.instanceConfigs.get
  • spanner.instanceConfigs.list
  • spanner.instanceConfigs.update
  • spanner.instanceOperations.cancel
  • spanner.instanceOperations.delete
  • spanner.instanceOperations.get
  • spanner.instanceOperations.list
  • spanner.instancePartitionOperations.cancel
  • spanner.instancePartitionOperations.delete
  • spanner.instancePartitionOperations.get
  • spanner.instancePartitionOperations.list
  • spanner.instancePartitions.create
  • spanner.instancePartitions.delete
  • spanner.instancePartitions.get
  • spanner.instancePartitions.list
  • spanner.instancePartitions.update
  • spanner.instances.create
  • spanner.instances.createTagBinding
  • spanner.instances.delete
  • spanner.instances.deleteTagBinding
  • spanner.instances.get
  • spanner.instances.getIamPolicy
  • spanner.instances.list
  • spanner.instances.listEffectiveTags
  • spanner.instances.listTagBindings
  • spanner.instances.setIamPolicy
  • spanner.instances.update
  • spanner.instances.updateTag
  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.backupAdmin)

A principal with this role can:

  • Create, view, update, and delete backups.
  • View and manage a backup's allow policy.

This role cannot restore a database from a backup.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backupOperations.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list

spanner.backupSchedules.create

spanner.backupSchedules.delete

spanner.backupSchedules.get

spanner.backupSchedules.list

spanner.backupSchedules.update

spanner.backups.copy

spanner.backups.create

spanner.backups.delete

spanner.backups.get

spanner.backups.getIamPolicy

spanner.backups.list

spanner.backups.setIamPolicy

spanner.backups.update

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.backupWriter)

This role is intended to be used by scripts that automate backup creation. A principal with this role can create backups, but cannot update or delete them.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

spanner.backupOperations.get

spanner.backupOperations.list

spanner.backupSchedules.create

spanner.backupSchedules.get

spanner.backupSchedules.list

spanner.backups.copy

spanner.backups.create

spanner.backups.get

spanner.backups.list

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instances.get

(roles/spanner.databaseAdmin)

A principal with this role can:

  • Get/list all Spanner instances in the project.
  • Create/list/drop databases in an instance.
  • Grant/revoke access to databases in the project.
  • Read from and write to all Cloud Spanner databases in the project.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databaseRoles.*

  • spanner.databaseRoles.list
  • spanner.databaseRoles.use

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.changequorum

spanner.databases.create

spanner.databases.drop

spanner.databases.get

spanner.databases.getDdl

spanner.databases.getIamPolicy

spanner.databases.list

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.setIamPolicy

spanner.databases.update

spanner.databases.updateDdl

spanner.databases.updateTag

spanner.databases.useDataBoost

spanner.databases.useRoleBasedAccess

spanner.databases.write

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.getIamPolicy

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseReader)

A principal with this role can:

  • Read from the Spanner database.
  • Execute SQL queries on the database.
  • View schema for the database.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseReaderWithDataBoost)

Includes all permissions in the spanner.databaseReader role enabling access to read and/or query a Cloud Spanner database using instance resources, as well as the permission to access the database with Data Boost, a fully managed serverless service that provides independent compute resources.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.useDataBoost

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseRoleUser)

In conjunction with the IAM role Cloud Spanner Fine-grained Access User, grants permissions to individual Spanner database roles. Add a condition for each desired Spanner database role that includes the resource type of `spanner.googleapis.com/DatabaseRole` and the resource name ending with `/YOUR_SPANNER_DATABASE_ROLE`.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

spanner.databaseRoles.use

(roles/spanner.databaseUser)

A principal with this role can:

  • Read from and write to the Spanner database.
  • Execute SQL queries on the database, including DML and Partitioned DML.
  • View and update schema for the database.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.changequorum

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.updateDdl

spanner.databases.updateTag

spanner.databases.write

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.fineGrainedAccessUser)

Grants permissions to use Spanner's fine-grained access control framework. To grant access to specific database roles, also add the `roles/spanner.databaseRoleUser` IAM role and its necessary conditions.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

spanner.databaseRoles.list

spanner.databases.useRoleBasedAccess

(roles/spanner.restoreAdmin)

A principal with this role can restore databases from backups.

If you need to restore a backup to a different instance, apply this role at the project level or to both instances. This role cannot create backups.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backups.get

spanner.backups.list

spanner.backups.restoreDatabase

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databases.create

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.viewer)

A principal with this role can:

  • View all Spanner instances (but cannot modify instances).
  • View all Spanner databases (but cannot modify or read from databases).

For example, you can combine this role with the roles/spanner.databaseUser role to grant a user with access to a specific database, but only view access to other instances and databases.

This role is recommended at the Google Cloud project level for users interacting with Cloud Spanner resources in the Google Cloud console.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databases.list

spanner.instanceConfigs.get

spanner.instanceConfigs.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

Funciones básicas

Las funciones básicas son funciones a nivel de proyecto anteriores a IAM. Consulta Funciones básicas para obtener más detalles.

Aunque Spanner admite los siguientes roles básicos, deberías usar uno de los roles predefinidos que se mostraron antes siempre que sea posible. Roles básicos incluir permisos amplios que se apliquen a todos tus recursos de Google Cloud en los roles predefinidos de Spanner incluyen permisos que se aplican solo a Spanner.

Rol básico Descripción
roles/viewer Puede crear listas y obtener los metadatos de los esquemas y las instancias. También puede leer y consultar en una base de datos mediante SQL.
roles/editor Puede hacer lo mismo que roles/viewer. También crea instancias y bases de datos, y escribe datos en una base de datos.
roles/owner Puede hacer lo mismo que roles/editor. También modifica el acceso a instancias y bases de datos.

Funciones personalizadas

Si los roles predefinidos de Spanner no resuelven el problema, requisitos empresariales, puedes definir tus propios roles personalizados con permisos que especifiques.

Antes de crear una función personalizada, debes identificar las tareas que necesitas realizar. Puedes identificar los permisos necesarios para cada tarea y agregarlos a la función personalizada.

Funciones personalizadas para tareas de cuentas de servicio

Para la mayoría de las tareas, es evidente qué permisos debes agregar a tu función personalizada. Por ejemplo, si deseas que tu cuenta de servicio pueda crear una base de datos, agrega el permiso spanner.databases.create a tu función personalizada.

Sin embargo, cuando lees o escribes datos en una tabla de Spanner, puedes debes agregar permisos diferentes a tu rol personalizado. En la siguiente tabla, se muestran los permisos necesarios para leer y escribir datos.

Tarea de cuenta de servicio Permisos necesarios
Leer datos spanner.databases.select
spanner.sessions.create
spanner.sessions.delete
Insertar, actualizar o borrar datos spanner.databases.beginOrRollbackReadWriteTransaction
spanner.databases.write
spanner.sessions.create
spanner.sessions.delete
Crea una copia de seguridad spanner.backups.create
spanner.databases.createBackup
Restablece una base de datos spanner.databases.create
spanner.backups.restoreDatabase

Funciones personalizadas para las tareas de Google Cloud Console

Para identificar la lista de permisos que necesitas para una tarea determinada en la con la consola de Google Cloud, determinas el flujo de trabajo para esa tarea y compilas los permisos para ese flujo de trabajo. Por ejemplo, para ver los datos en un debes seguir estos pasos en la consola de Google Cloud:

Paso Permisos
1. Accede al proyecto. resourcemanager.projects.get
2. Visualiza la lista de instancias. spanner.instances.list
3. Selecciona una instancia. spanner.instances.get
4. Visualiza la lista de bases de datos. spanner.databases.list
5. Selecciona una base de datos y una tabla. spanner.databases.getDdl
6. Visualiza datos en una tabla. spanner.databases.select, spanner.sessions.create, spanner.sessions.delete

En este ejemplo, necesitas estos permisos:

  • resourcemanager.projects.get
  • spanner.databases.getDdl
  • spanner.databases.list
  • spanner.databases.select
  • spanner.instances.get
  • spanner.instances.list
  • spanner.sessions.create
  • spanner.sessions.delete

En la siguiente tabla, se enumeran los permisos necesarios para acciones en la consola de Google Cloud.

Acción Permisos
Ver la lista de instancias en la página Instancias

resourcemanager.projects.get
spanner.instances.list

Ver la lista en la pestaña Permisos de la página Instancias

spanner.instances.getIamPolicy

Agregar principales en la pestaña Permisos de la página Instancias

spanner.instances.setIamPolicy

Seleccionar una instancia de la lista de instancias para visualizar la página Detalles de la instancia

spanner.instances.get

Crear una instancia

spanner.instanceConfigs.list
spanner.instanceOperations.get
spanner.instances.create

Borrar una instancia

spanner.instances.delete

Modificar una instancia

spanner.instanceOperations.get
spanner.instances.update

Crea una partición

spanner.instancePartitions.list
spanner.instancePartitionOperations.get
spanner.instancePartitions.create

Borra una partición

spanner.instancePartitions.delete

Modifica una partición

spanner.instancePartitionOperations.get
spanner.instancePartitions.update

Visualizar los grafos en la pestaña Supervisar en la página Detalles de la instancia o en la página Detalles de la base de datos

monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.timeSeries.list
spanner.instances.get

Visualizar la lista de bases de datos en la página Detalles de la instancia

spanner.databases.list

Visualizar la lista en la pestaña Permisos de la página Detalles de la base de datos

spanner.databases.getIamPolicy

Agregar principales en la pestaña Permisos de la página Detalles de la base de datos

spanner.databases.setIamPolicy

Seleccionar una base de datos de la lista de bases de datos y consultar el esquema en la página Detalles de la base de datos

spanner.databases.get
spanner.databases.getDdl

Crear una base de datos

spanner.databases.create

Borrar una base de datos

spanner.databases.drop

Crear una tabla

Actualizar un esquema de tabla

spanner.databaseOperations.get
spanner.databaseOperations.list
spanner.databases.updateDdl

Visualizar datos en la pestaña Datos de la página Detalles de la base de datos

Crear y ejecutar una consulta

spanner.databases.select
spanner.sessions.create
spanner.sessions.delete

Modificar datos en una tabla

spanner.databases.beginOrRollbackReadWriteTransaction
spanner.databases.select
spanner.databases.write
spanner.sessions.create
spanner.sessions.delete

Cómo ver la página de Copia de seguridad/restablecimiento

spanner.backups.list
spanner.backups.get

Visualiza la lista de operaciones de copia de seguridad

spanner.backupOperations.list

Visualiza la lista de operaciones de restablecimiento

spanner.databaseOperations.list

Crea una copia de seguridad

spanner.backups.create
spanner.databases.createBackup
spanner.databases.list1
spanner.backupOperations.list1

Restablecer una base de datos a partir de una copia de seguridad

spanner.instanceConfigs.list
spanner.instances.get
spanner.backups.get
spanner.backups.restoreDatabase
spanner.instances.list
spanner.databases.create

Actualizar una copia de seguridad

spanner.backups.update

Borrar una copia de seguridad

spanner.backups.delete

1 Obligatorio si creas una copia de seguridad desde **Copia de seguridad/restablecimiento** a nivel de instancia en lugar de a nivel de base de datos.

Administración de políticas de IAM de Spanner

Puedes obtener, configurar y probar políticas de IAM con las APIs de REST o RPC en Recursos de instancia, base de datos y copia de seguridad de Spanner

Instancias

API de REST API de RPC
projects.instances.getIamPolicy GetIamPolicy
projects.instances.setIamPolicy SetIamPolicy
projects.instances.testIamPermissions TestIamPermissions

Bases de datos

API de REST API de RPC
projects.instances.databases.getIamPolicy GetIamPolicy
projects.instances.databases.setIamPolicy SetIamPolicy
projects.instances.databases.testIamPermissions TestIamPermissions

Copias de seguridad

API de REST API de RPC
projects.instances.backups.getIamPolicy GetIamPolicy
projects.instances.backups.setIamPolicy SetIamPolicy
projects.instances.backups.testIamPermissions TestIamPermissions

¿Qué sigue?