En esta página se describe cómo proteger las bases de datos de Spanner frente a eliminaciones accidentales.
La protección contra la eliminación de bases de datos de Spanner evita que los usuarios o las cuentas de servicio que tengan los permisos de gestión de identidades y accesos necesarios eliminen accidentalmente bases de datos. Si habilitas la protección contra eliminación de bases de datos, puedes proteger las bases de datos que son importantes para tu aplicación y tus servicios. Usa la protección contra la eliminación de bases de datos junto con la recuperación a un momento dado y las funciones de copia de seguridad para ofrecer un conjunto completo de funciones de protección de datos para tus bases de datos de Spanner.
De forma predeterminada, la protección contra la eliminación está inhabilitada al crear una base de datos. Puedes habilitar la opción de protección contra la eliminación después de que se cree la base de datos. Además, puedes habilitar este ajuste en una base de datos que ya tengas. Si quieres proteger varias bases de datos, habilita el ajuste en cada una de ellas por separado. Habilitar o inhabilitar la protección frente a la eliminación no afecta al rendimiento de la base de datos. Si necesitas eliminar una base de datos que tiene habilitada la protección de bases de datos, debes inhabilitar la protección antes de poder eliminar la base de datos.
Limitaciones
No puedes habilitar la protección contra la eliminación de bases de datos en los siguientes casos:
- Si se está eliminando la base de datos.
- Si la base de datos se está restaurando a partir de una copia de seguridad. Una vez que se haya completado la operación de restauración, puedes habilitar la protección de la base de datos.
Además, las copias de seguridad de una base de datos y las bases de datos restauradas a partir de una copia de seguridad no heredan el ajuste de protección contra la eliminación de la base de datos de origen. Después de restaurar una base de datos a partir de una copia de seguridad, debes habilitar su protección contra la eliminación por separado.
Si eliminas tu proyecto, la protección contra la eliminación de bases de datos de Spanner no evitará que se eliminen tu base de datos o tu instancia. Para obtener más información sobre lo que ocurre cuando eliminas un proyecto, consulta Cerrar (eliminar) proyectos.
Control de acceso con la gestión de identidades y accesos
Para habilitar el ajuste de protección contra eliminación de tu base de datos, debes tener ciertos permisos de gestión de identidades y accesos.
Debes tener el permiso spanner.databases.update
para habilitar o inhabilitar la protección contra la eliminación de bases de datos. Si solo necesitas ver el estado de la configuración de tu base de datos, debes tener el permiso spanner.databases.list
o spanner.databases.get
. Para obtener información sobre cómo conceder permisos de gestión de identidades y accesos de Spanner, consulta Aplicar permisos de gestión de identidades y accesos.
Si tienes el rol predefinido Administrador de bases de datos de Spanner
roles/spanner.databaseAdmin
para tu base de datos, puedes actualizar y habilitar la protección contra eliminación de bases de datos.
Puedes habilitar la opción de protección contra la eliminación de bases de datos en una base de datos ya creada para evitar que se elimine por error.
Habilitar la protección frente a la eliminación de bases de datos
Puedes habilitar la protección contra eliminación de bases de datos mediante la CLI de gcloud, las bibliotecas de cliente y las APIs REST o RPC. No puedes habilitar la protección contra la eliminación de bases de datos mediante la Google Cloud consola.
gcloud
Para habilitar la configuración de protección contra eliminación de una base de datos, ejecuta el siguiente comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Debes seleccionar las siguientes opciones:
DATABASE_ID
- ID de la base de datos.
INSTANCE_ID
- ID de la instancia de la base de datos.
Las siguientes opciones son opcionales:
--async
- Devuelve el valor inmediatamente, sin esperar a que se complete la operación en curso.
Bibliotecas de cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Comprobar si una base de datos tiene habilitada la protección contra la eliminación
Para saber si tu base de datos tiene habilitada la protección contra eliminación, consulta su configuración.
gcloud
Para comprobar si una base de datos tiene habilitada la protección contra eliminación, puedes ejecutar el comando gcloud spanner databases describe
para obtener información detallada sobre una base de datos o el comando gcloud spanner databases list
para obtener información detallada sobre las bases de datos de una instancia.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Debes seleccionar las siguientes opciones:
PROJECT_ID
- ID del proyecto de la base de datos.
INSTANCE_ID
- ID de la instancia de la base de datos.
DATABASE_ID
- ID de la base de datos.
Si la protección contra la eliminación está habilitada, verás un parámetro enableDropProtection: true
en el resultado.
Inhabilitar la protección frente a la eliminación de bases de datos
Puedes inhabilitar la protección contra la eliminación de una base de datos si ya no la necesita o si quieres eliminar una base de datos que tenga habilitado este ajuste.
Si quieres eliminar una instancia que tenga una o varias bases de datos con la protección contra la eliminación habilitada, primero debes inhabilitar la protección contra la eliminación en todas las bases de datos de esa instancia antes de poder eliminarla.
gcloud
Para inhabilitar la configuración de protección contra eliminación de una base de datos, ejecuta el siguiente comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
Debes seleccionar las siguientes opciones:
DATABASE_ID
- ID de la base de datos.
INSTANCE_ID
- ID de la instancia de la base de datos.
Las siguientes opciones son opcionales:
--async
- Devuelve el valor inmediatamente, sin esperar a que se complete la operación en curso.
Siguientes pasos
- Consulta cómo crear y gestionar bases de datos.
- Consulta más información sobre cómo crear copias de seguridad y restaurar una base de datos.
- Consulta cómo actualizar el esquema.