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. Con IAM, puedes 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 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 Obtiene 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 la base 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 restaurada. ✔
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 Obtener 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 Obtén la política de IAM de una programación de copia de seguridad. ✔
spanner.backupSchedules.setIamPolicy Establece la política de IAM de una programación 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 Obtén 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 ubicación de Spanner Omni ✔
spanner.locationDistances.get Obtén la distancia de 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 Obtén una zona de Spanner Omni ✔
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 de Spanner Omni ✔
spanner.filesystem.ls Enumera los archivos en el sistema de archivos de Spanner Omni ✔
spanner.descriptors.print Imprime descriptores en el sistema de archivos de Spanner Omni ✔

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 Obtén 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 en una base de datos ✔
spanner.groups.compact Comprime las tablets en un grupo ✔
spanner.directories.compact Comprime las tablets en un directorio ✔

Funciones predefinidas

Un rol predefinido es un paquete 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 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?