Halaman ini menjelaskan cara melindungi database Spanner dari penghapusan yang tidak disengaja.
Perlindungan penghapusan database Spanner mencegah penghapusan yang tidak disengaja pada database yang ada oleh pengguna atau akun layanan yang memiliki izin IAM yang diperlukan untuk menghapus database. Dengan mengaktifkan perlindungan penghapusan database, Anda dapat mengamankan database yang penting untuk aplikasi dan layanan Anda. Gunakan perlindungan penghapusan database bersama dengan pemulihan point-in-time dan fitur pencadangan untuk memberikan serangkaian kemampuan perlindungan data yang komprehensif untuk database Spanner Anda.
Secara default, setelan perlindungan penghapusan dinonaktifkan saat Anda membuat database baru. Anda dapat mengaktifkan setelan perlindungan penghapusan setelah pembuatan database berhasil. Selain itu, Anda dapat mengaktifkan setelan ini pada database yang ada. Jika Anda ingin melindungi beberapa database, aktifkan setelan pada setiap database satu per satu. Mengaktifkan atau menonaktifkan perlindungan penghapusan tidak akan berdampak pada performa database. Jika perlu menghapus database yang mengaktifkan perlindungan database, Anda harus menonaktifkan perlindungan tersebut sebelum dapat menghapus database.
Batasan
Anda tidak dapat mengaktifkan perlindungan penghapusan database dalam skenario berikut:
- Jika database sedang dihapus.
- Apakah database dipulihkan dari cadangan. (Setelah operasi pemulihan selesai, Anda dapat mengaktifkan perlindungan database).
Selain itu, cadangan database dan database yang dipulihkan dari cadangan tidak mewarisi setelan perlindungan penghapusan database dari database sumbernya. Setelah memulihkan database dari cadangan, Anda harus mengaktifkan perlindungan penghapusan database-nya secara terpisah.
Jika Anda menghapus project, perlindungan penghapusan database Spanner tidak akan mencegah penghapusan database atau instance. Untuk mengetahui informasi selengkapnya tentang hal yang terjadi jika Anda menghapus project, lihat Menonaktifkan (menghapus) project.
Kontrol akses dengan IAM
Untuk mengaktifkan setelan perlindungan penghapusan database, Anda harus memiliki izin IAM tertentu.
Anda harus memiliki izin spanner.databases.update
untuk mengaktifkan atau menonaktifkan perlindungan penghapusan database. Jika hanya perlu melihat status konfigurasi database, Anda harus memiliki izin spanner.databases.list
atau spanner.databases.get
. Untuk mengetahui informasi cara memberikan
izin IAM Spanner, lihat
Menerapkan izin IAM.
Jika memiliki peran roles/spanner.databaseAdmin
Admin Database Spanner
yang telah ditentukan untuk database, Anda dapat memperbarui dan mengaktifkan perlindungan penghapusan database.
Anda dapat mengaktifkan setelan perlindungan penghapusan database pada database yang sudah ada untuk mencegah penghapusan database secara tidak sengaja.
Aktifkan perlindungan penghapusan database
Anda dapat mengaktifkan perlindungan penghapusan database menggunakan gcloud CLI, library klien, dan REST atau RPC API. Anda tidak dapat mengaktifkan perlindungan penghapusan database menggunakan Konsol Google Cloud.
gcloud
Untuk mengaktifkan setelan perlindungan penghapusan database, jalankan perintah berikut:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Opsi berikut diperlukan:
DATABASE_ID
- ID database.
INSTANCE_ID
- ID instance untuk database.
Opsi berikut bersifat opsional:
--async
- Segera kembali, tanpa menunggu operasi yang sedang berlangsung selesai.
Library klien
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Memeriksa apakah database mengaktifkan perlindungan penghapusan
Anda dapat menentukan apakah database mengaktifkan perlindungan penghapusan dengan melihat konfigurasi database.
gcloud
Untuk memeriksa apakah database mengaktifkan perlindungan penghapusan, Anda dapat menjalankan perintah gcloud spanner databases describe
untuk mendapatkan informasi mendetail tentang database, atau menjalankan gcloud spanner databases list
untuk mendapatkan informasi mendetail tentang database dalam instance.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Opsi berikut diperlukan:
PROJECT_ID
- ID project untuk database.
INSTANCE_ID
- ID instance untuk database.
DATABASE_ID
- ID database.
Jika perlindungan penghapusan diaktifkan, Anda akan melihat
parameter enableDropProtection: true
pada output.
Nonaktifkan perlindungan penghapusan database
Anda dapat menonaktifkan perlindungan penghapusan database jika database tidak lagi memerlukan perlindungan ini atau jika perlu menghapus database yang mengaktifkan setelan ini.
Jika ingin menghapus instance yang memiliki satu atau beberapa database yang mengaktifkan perlindungan penghapusan, Anda harus terlebih dahulu menonaktifkan perlindungan penghapusan pada semua database dalam instance tersebut sebelum dapat menghapus instance.
gcloud
Untuk menonaktifkan setelan perlindungan penghapusan database, jalankan perintah berikut:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
Opsi berikut diperlukan:
DATABASE_ID
- ID database.
INSTANCE_ID
- ID instance untuk database.
Opsi berikut bersifat opsional:
--async
- Segera kembali, tanpa menunggu operasi yang sedang berlangsung selesai.
Langkah selanjutnya
- Pelajari cara Membuat dan mengelola database.
- Pelajari lebih lanjut cara mencadangkan dan memulihkan database.
- Pelajari cara membuat pembaruan skema.