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?
- Obtén más información sobre IAM.
- Obtén más información sobre la autenticación y la autorización en Spanner Omni.