Descripción general de IAM

Identity and Access Management (IAM) te permite controlar el acceso de los usuarios a los recursos de Spanner Omni. Por ejemplo, un usuario puede tener control total de una base de datos específica, pero no puede crear ni modificar otras bases de datos en tu implementación. El uso de IAM te permite otorgar un permiso a un usuario sin tener que modificar cada permiso de la base de datos de Spanner Omni de forma individual.

En este documento, se describen los permisos de IAM relevantes para Spanner Omni y los roles de IAM que otorgan esos permisos. Para obtener una descripción detallada de IAM y sus funciones, consulta la guía para desarrolladores de Identity and Access Management.

Permisos

Los permisos permiten a los usuarios realizar acciones específicas en los recursos de Spanner Omni. Por ejemplo, el permiso spanner.databases.read permite que un usuario lea desde una base de datos con la API de lectura de Spanner Omni, mientras que spanner.databases.export permite que un usuario exporte una base de datos de Spanner Omni. No se les otorgan permisos a los usuarios directamente, sino roles predefinidos, que incluyen uno o más permisos.

En las siguientes tablas, se enumeran los permisos de IAM asociados con Spanner Omni. Algunos permisos se comparten con Spanner, y otros solo los usa Spanner Omni.

Bases de datos

Los siguientes permisos se aplican a las bases de datos de Spanner Omni.

Nombre del permiso de la base de datos Descripción Spanner y Spanner Omni Solo Spanner Omni
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.get Obtener los metadatos de una base de datos
spanner.databases.getIamPolicy Obtener la política de IAM de una base de datos
spanner.databases.list Crear una lista de bases de datos
spanner.databases.read Leer desde una base de datos con la API de lectura
spanner.databases.setIamPolicy Establece la política de IAM de una base 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.write Escribir en una base de datos
spanner.databases.compact Compacta tablas en una base de datos
spanner.databases.export Exporta una base de datos de Spanner Omni
spanner.databases.import Importa una base de datos de Spanner Omni
spanner.databases.addSplitPoints Agrega puntos de división a una base de datos.

Operaciones de bases de datos

Los siguientes permisos se aplican a las operaciones de bases de datos de Spanner Omni.

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

Copias de seguridad

Los siguientes permisos se aplican a las copias de seguridad de Spanner Omni.

Nombre del permiso de la copia de seguridad Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.backups.copy Copiar una copia de seguridad
spanner.backups.create Crear una copia de seguridad También requiere spanner.databases.createBackup en la base de datos de origen.
spanner.backups.createDatabaseFromBackup Crea una base de datos a partir de una copia de seguridad.
spanner.backups.delete Borra una copia de seguridad.
spanner.backups.get Obtener una copia de seguridad.
spanner.backups.getIamPolicy Obtener la política de IAM de 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.
spanner.backups.setIamPolicy Establecer la política de IAM de una copia de seguridad.
spanner.backups.update Actualizar una copia de seguridad.
spanner.backups.import Importa una copia de seguridad desde el almacenamiento externo

Operaciones de copia de seguridad

Los siguientes permisos se aplican a las operaciones de copia de seguridad de Spanner Omni.

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

Programaciones de copias de seguridad

Los siguientes permisos se aplican a las programaciones de copias de seguridad de Spanner Omni.

Nombre del permiso de la programación de copias de seguridad Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.backupSchedules.create Crea una programación de copia de seguridad. También requiere spanner.databases.createBackup en la base de datos de origen.
spanner.backupSchedules.delete Borra una programación de copia de seguridad.
spanner.backupSchedules.get Obtén una programación de copia de seguridad.
spanner.backupSchedules.list Enumera las programaciones de copias de seguridad.
spanner.backupSchedules.update Actualiza una programación de copia de seguridad.
spanner.backupSchedules.getIamPolicy Obtener la política de IAM de una programación de copias de seguridad
spanner.backupSchedules.setIamPolicy Establece la política de IAM de un programa de copias de seguridad.

Descriptores de copias de seguridad

Los siguientes permisos se aplican a los descriptores de copias de seguridad de Spanner Omni.

Nombre del permiso del descriptor de copia de seguridad Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.backupDescriptors.import Importa una copia de seguridad desde un descriptor de copia de seguridad
spanner.backupDescriptors.list Enumera los descriptores de copias de seguridad.

Sesiones

Los siguientes permisos se aplican a las sesiones de Spanner Omni.

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

Ubicación y zonas

Los siguientes permisos se aplican a las ubicaciones y zonas de Spanner Omni.

Nombre del permiso Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.locations.create Crea una ubicación de Spanner Omni
spanner.locations.delete Borra una ubicación de Spanner Omni
spanner.locations.get Obtener una ubicación de Spanner Omni
spanner.locations.list Enumera las ubicaciones de Spanner Omni
spanner.locationDistances.create Crea una distancia de ubicación de Spanner Omni
spanner.locationDistances.delete Borra la distancia de una ubicación de Spanner Omni
spanner.locationDistances.get Obtener la distancia de una ubicación de Spanner Omni
spanner.locationDistances.list Enumera las distancias de ubicación de Spanner Omni
spanner.locationDistances.update Actualiza la distancia de una ubicación de Spanner Omni
spanner.zones.create Crea una zona de Spanner Omni
spanner.zones.delete Borra una zona de Spanner Omni
spanner.zones.get Obtener una zona de Omni de Spanner
spanner.zones.list Enumera las zonas de Spanner Omni

Servidores

Los siguientes permisos se aplican a los servidores de Spanner Omni.

Nombre del permiso del servidor Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.servers.create Crea un servidor de Spanner Omni
spanner.servers.delete Borra un servidor de Spanner Omni
spanner.servers.get Obtiene un servidor de Spanner Omni
spanner.servers.list Enumera los servidores de Spanner Omni

Usuarios y roles

Los siguientes permisos se aplican a los usuarios y roles de Spanner Omni.

Nombre del permiso Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.users.create Crea un usuario de Spanner Omni
spanner.users.delete Borra un usuario de Spanner Omni
spanner.users.get Obtiene un usuario de Spanner Omni
spanner.users.list Enumera los usuarios de Spanner Omni
spanner.users.update Actualiza un usuario de Spanner Omni
spanner.roles.get Obtiene un rol de Spanner Omni
spanner.roles.list Enumera los roles de Spanner Omni

Almacenamiento externo

Los siguientes permisos se aplican al almacenamiento externo de Spanner Omni.

Nombre del permiso de almacenamiento externo Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.externalStorages.create Crea almacenamiento externo
spanner.externalStorages.delete Borra un almacenamiento externo
spanner.externalStorages.get Obtiene el almacenamiento externo
spanner.externalStorages.getIamPolicy Obtiene la política de IAM de un almacenamiento externo.
spanner.externalStorages.list Enumera los almacenamientos externos
spanner.externalStorages.setIamPolicy Establece la política de IAM de un almacenamiento externo.

Sistema de archivos y descriptores

Los siguientes permisos se aplican al sistema de archivos de Spanner Omni.

Nombre del permiso Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.filesystem.cat Imprime archivos en el sistema de archivos Omni de Spanner
spanner.filesystem.ls Enumera los archivos en el sistema de archivos de Spanner Omni
spanner.descriptors.print Imprime descriptores en el sistema de archivos Omni de Spanner

Otros permisos de administrador

Los siguientes permisos se aplican a otras tareas de administrador de Spanner Omni.

Nombre del permiso Descripción Spanner y Spanner Omni Solo Spanner Omni
spanner.chubby.list Enumera las celdas de Chubby
spanner.chubby.print Imprime el contenido de la celda de Chubby
spanner.deployment.get Obtener la implementación de Spanner Omni
spanner.diagnostics.create Recopila artefactos de los servidores de Spanner Omni para la depuración.
spanner.internal-tables.sql Ejecuta consultas en SQL en tablas internas
spanner.logs.copy Copia registros de un servidor de Spanner Omni
spanner.tablet.move Mueve una tablet de un servidor de Spanner Omni a otro.
spanner.workflows.delete Borra un flujo de trabajo de una base de datos
spanner.groups.compact Comprime las tablets en un grupo
spanner.directories.compact Comprime las tablets en un directorio

Funciones predefinidas

Una función predefinida es un conjunto de uno o más permisos. Spanner Omni admite los siguientes roles predefinidos:

Rol Descripción
roles/spanner.admin Tiene acceso completo a todos los recursos de Spanner Omni. Incluye todos los permisos.
roles/spanner.backupAdmin Tiene acceso completo a las copias de seguridad y las operaciones de copia de seguridad de Spanner Omni.
roles/spanner.backupWriter Puede crear copias de seguridad, pero no puede actualizarlas ni borrarlas.
roles/spanner.databaseAdmin Tiene acceso completo a todas las bases de datos de Spanner Omni en un proyecto.
roles/spanner.databaseReader Puede leer desde la base de datos de Spanner Omni y ver el esquema.
roles/spanner.databaseUser Puede leer y escribir en la base de datos de Spanner Omni.
roles/spanner.editor Rol de editor de Spanner Omni.
roles/spanner.restoreAdmin Puede restablecer una base de datos a partir de una copia de seguridad.
roles/spanner.viewer Puede ver todos los recursos de Spanner Omni, pero no puede modificarlos. Incluye permisos de solo lectura.

Spanner Omni tiene algunas limitaciones más notables:

  • No hay roles personalizados.
  • No hay control de acceso detallado.
  • No hay condiciones de IAM.

¿Qué sigue?