Halaman ini menjelaskan cara menggunakan fitur Penguncian Bucket, termasuk menangani kebijakan retensi dan menguncinya secara permanen di bucket.
Sebelum memulai
Sebelum Anda dapat menggunakan fitur Penguncian Bucket, pastikan langkah-langkah di bagian berikut telah diselesaikan.
Mendapatkan peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menggunakan Kunci Bucket, minta
administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
) di
bucket. Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menggunakan Kunci Bucket. Untuk melihat izin yang benar-benar diperlukan, luaskan
bagian Izin yang diperlukan:
Izin yang diperlukan
storage.buckets.get
storage.buckets.list
- Izin ini hanya diperlukan jika Anda berencana menggunakan Konsol Google Cloud untuk menjalankan petunjuk di halaman ini.
storage.buckets.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus.
Untuk mengetahui informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket.
Nonaktifkan Pembuatan Versi Objek
Pastikan Pembuatan Versi Objek dinonaktifkan untuk bucket yang ingin Anda gunakan. Lihat Menggunakan Pembuatan Versi Objek untuk mengetahui petunjuk cara menonaktifkan Pembuatan Versi Objek dan memeriksa apakah Pembuatan Versi Objek diaktifkan untuk bucket.
Menetapkan kebijakan retensi pada bucket
Untuk menambahkan, mengubah, atau menghapus kebijakan retensi di bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Pada daftar bucket, klik nama bucket yang kebijakan retensinya ingin Anda ubah.
Pilih tab Protection di dekat bagian atas halaman.
Di bagian Retention policy, tetapkan kebijakan retensi Anda:
Jika tidak ada kebijakan retensi yang saat ini berlaku untuk bucket, klik link add_box Set Retention Policy. Pilih satuan waktu dan lama untuk periode retensi data.
Jika kebijakan retensi saat ini berlaku untuk bucket, kebijakan tersebut akan muncul di bagian. Klik Edit untuk mengubah waktu retensi atau Delete untuk menghapus sepenuhnya kebijakan retensi.
Lihat Periode retensi data untuk informasi tentang cara konsol Google Cloud melakukan konversi di antara unit waktu yang berbeda.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage buckets update
dengan flag yang sesuai:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.FLAG
adalah setelan yang diinginkan untuk periode retensi data bucket. Gunakan salah satu format berikut:--retention-period
dan periode retensi data, jika Anda ingin menambahkan atau mengubah kebijakan retensi. Contoh,--retention-period=1d43200s
.--clear-retention-period
, jika Anda ingin menghapus kebijakan retensi data di bucket.
Jika berhasil, responsnya akan terlihat seperti ini:
Updating gs://my-bucket/... Completed 1
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file JSON yang berisi informasi berikut:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
Dengan
TIME_IN_SECONDS
adalah jumlah waktu dalam detik saat objek dalam bucket harus dipertahankan. Contoh,2678400
. Lihat Periode retensi data untuk mengetahui informasi tentang cara berbagai unit waktu diukur menggunakan detik.Untuk menghapus kebijakan retensi dari bucket, gunakan kode berikut di file JSON:
{ "retentionPolicy": null }
Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file JSON yang Anda buat pada Langkah 2.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
XML API
XML API tidak dapat digunakan untuk menetapkan atau menghapus kebijakan retensi di bucket yang ada. File ini hanya dapat digunakan untuk menyertakan kebijakan retensi dengan bucket baru.
Mengunci bucket
Untuk mengunci bucket dan secara permanen membatasi hasil edit pada kebijakan retensi bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Pada daftar bucket, klik nama bucket yang kebijakan retensinya ingin Anda kunci.
Pilih tab Protection di dekat bagian atas halaman.
Pada bagian Retention policy, klik tombol Lock.
Kotak dialog Lock retention policy? akan muncul.
Baca pemberitahuan Permanent.
Dalam kotak teks Bucket name, ketik nama bucket Anda.
Klik Lock policy.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage buckets update
dengan flag --lock-retention-period
:
gcloud storage buckets update gs://BUCKET_NAME --lock-retention-period
Dengan BUCKET_NAME
adalah nama bucket yang relevan. Contoh, my-bucket
.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
Updating gs://my-bucket/... Completed 1
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.BUCKET_METAGENERATION_NUMBER
adalah nilai metageneration untuk bucket. Contoh,8
. Anda dapat menemukan nilai metageneration untuk bucket Anda dengan memanggil JSON API menggunakan permintaan BucketGET
.
XML API
XML API tidak dapat digunakan untuk mengunci bucket. Gunakan salah satu alat Cloud Storage lainnya, seperti konsol Google Cloud.
Melihat kebijakan retensi dan status penguncian bucket
Untuk melihat apa saja kebijakan retensi yang ditetapkan pada bucket dan apakah kebijakan retensi tersebut dikunci, jika ada:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Klik nama bucket yang statusnya ingin Anda lihat.
Jika bucket memiliki kebijakan retensi, periode retensi data akan ditampilkan di kolom Perlindungan untuk bucket tersebut. Jika kebijakan retensi tidak dikunci, ikon gembok akan muncul di samping periode retensi data dalam status tidak terkunci. Jika kebijakan retensi dikunci, ikon gembok akan muncul di samping periode retensi dalam status terkunci.
Command line
Gunakan perintah gcloud storage buckets describe
dengan flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(retention_policy)"
Dengan BUCKET_NAME
adalah nama bucket
yang kebijakan retensinya ingin Anda lihat. Contoh, my-bucket
.
Jika berhasil dan kebijakan retensi untuk bucket sudah ada, responsnya akan mirip dengan berikut ini:
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
Jika berhasil dan kebijakan retensi untuk bucket tidak ada, responsnya akan mirip dengan berikut ini:
null
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaanGET
Bucket yang menyertakanfields
yang diinginkan:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.Jika bucket memiliki kebijakan retensi yang ditetapkan, responsnya akan terlihat seperti contoh berikut:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
XML API
XML API tidak dapat digunakan untuk melihat kebijakan retensi di bucket. Gunakan salah satu alat Cloud Storage lainnya, seperti Google Cloud Console.
Langkah selanjutnya
- Pelajari kebijakan retensi lebih lanjut.
- Pelajari cara menggunakan penangguhan objek.
- Pelajari Object Lifecycle Management, yang dapat otomatis menghapus file setelah mencapai periode retensi data.