En esta página, se describe cómo proteger las bases de datos de Spanner de las fallas accidentales o la eliminación del contenido.
La protección contra la eliminación de bases de datos de Spanner evita la eliminación accidental de bases de datos existentes por usuarios o cuentas de servicio que tienen los recursos Permisos de IAM para borrar la base de datos. Cuando habilitas la protección contra la eliminación de bases de datos, puede proteger las bases de datos que son importantes para su aplicación y sus servicios. Usar la protección contra la eliminación de la base de datos junto con la recuperación de un momento determinado y funciones de copia de seguridad para proporcionar un conjunto completo de protección de datos para tus bases de datos de Spanner.
La configuración de protección contra la eliminación se inhabilita de forma predeterminada cuando creas una nueva en la base de datos. Puedes habilitar la configuración de protección contra la eliminación después de la creación de la base de datos es exitosa. Además, puedes habilitar este parámetro de configuración en una base de datos existente. Si quieres proteger varias bases de datos, habilita el parámetro de configuración en cada base de datos de forma individual. Habilitar o inhabilitar la protección contra la eliminación tener algún impacto en el rendimiento de la base de datos. Si necesitas borrar una base de datos que tenga habilitada la protección de la base de datos, debes inhabilitarla antes de puedes borrar la base de datos.
Limitaciones
No puedes habilitar la protección contra la eliminación de bases de datos en las siguientes situaciones:
- Si se borra la base de datos.
- Si la base de datos se restablece a partir de una copia de seguridad. (Después de la operación de restablecimiento se complete, 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 restablecidas a partir de una copia de seguridad heredarán la configuración de protección contra la eliminación de bases de datos de su base de datos de origen. Después del restableces una base de datos a partir de una copia de seguridad, debes habilitar su eliminación. por separado.
Si borras tu proyecto, la protección contra la eliminación de bases de datos de Spanner no impide borrar tu base de datos o instancia. Más información sobre lo que sucede cuando borras tu proyecto, consulta Cómo apagar (borrar) proyectos.
Control de acceso con IAM
Para habilitar la configuración de protección contra la eliminación de tu base de datos, debes tener ciertos permisos de IAM.
Debes tener el permiso spanner.databases.update
para habilitar o inhabilitar
inhabilitar la protección contra la eliminación de bases de datos. Si solo necesitas ver el estado de la configuración de la base de datos, debes tener el permiso spanner.databases.list
o spanner.databases.get
. Para obtener información sobre cómo otorgar
Permisos de IAM de Spanner, consulta
Aplica permisos de IAM.
Si tienes la configuración predefinida Spanner Database Admin
Rol roles/spanner.databaseAdmin
de
puedes actualizar y habilitar la protección contra la eliminación de bases de datos.
Puedes habilitar el parámetro de configuración de protección contra la eliminación de bases de datos en una base de datos existente. para evitar la eliminación accidental de la base de datos.
Habilitar la protección contra la eliminación de la base de datos
Puedes habilitar la protección contra la eliminación de bases de datos con gcloud CLI, las bibliotecas cliente y la API de REST o RPC APIs No puedes habilitar la protección contra la eliminación de bases de datos con la consola de Google Cloud.
gcloud
Para habilitar la configuración de protección contra la eliminación de una base de datos, ejecuta el siguiente comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Se requieren las siguientes opciones:
DATABASE_ID
- Es el ID de la base de datos.
INSTANCE_ID
- Es el ID de la instancia de la base de datos.
Las siguientes configuraciones son opcionales:
--async
- Regresa de inmediato, sin esperar a que la operación esté en curso. en completarse.
Bibliotecas cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verifica si una base de datos tiene habilitada la protección contra la eliminación
Para determinar si tu base de datos tiene habilitada la protección contra la eliminación, viendo la configuración de la base de datos.
gcloud
Para comprobar si una base de datos tiene habilitada la protección contra la eliminación, puedes ejecutar el comando
Comando gcloud spanner databases describe
para obtener información detallada
sobre una base de datos o puedes ejecutar gcloud spanner databases list
para
obtener información detallada sobre las bases de datos dentro de una instancia.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Se requieren las siguientes opciones:
PROJECT_ID
- Es el ID del proyecto de la base de datos.
INSTANCE_ID
- Es el ID de la instancia de la base de datos.
DATABASE_ID
- Es el ID de la base de datos.
Si la protección contra la eliminación está habilitada, verás
enableDropProtection: true
en el resultado.
Inhabilita la protección contra la eliminación de bases de datos
Puedes inhabilitar la protección contra la eliminación de bases de datos si una base de datos ya no lo necesita o si necesitas borrar una base de datos que tenga habilitado este parámetro.
Si quieres borrar una instancia que tiene una o más bases de datos con eliminación protección contra la eliminación habilitada, primero debes inhabilitar la protección contra la eliminación en todos y las bases de datos de una instancia antes de borrarla.
gcloud
Para inhabilitar la configuración de protección contra la 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]
Se requieren las siguientes opciones:
DATABASE_ID
- Es el ID de la base de datos.
INSTANCE_ID
- Es el ID de la instancia de la base de datos.
Las siguientes configuraciones son opcionales:
--async
- Regresa de inmediato, sin esperar a que la operación esté en curso. en completarse.
¿Qué sigue?
- Aprende a crear y administrar bases de datos.
- Obtén más información para crear copias de seguridad y restablecer una base de datos.
- Aprende a realizar actualizaciones del esquema.