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 Bucket Lock, pastikan langkah-langkah di bagian berikut telah selesai.
Mendapatkan peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna menggunakan Kunci Bucket, minta
administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
) di
bucket. Peran bawaan 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 informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan 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.
Dalam daftar bucket, klik nama bucket yang kebijakan retensinya ingin diubah.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menetapkan kebijakan retensi pada bucket:
Contoh berikut menghapus kebijakan retensi dari bucket:
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk 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. Contohnya,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 di 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.
Dalam daftar bucket, klik nama bucket yang ingin Anda kunci kebijakan retensinya.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk 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 Protection untuk bucket tersebut. Jika kebijakan retensi tidak dikunci, ikon gembok akan muncul di samping periode retensi dalam status terbuka. 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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketGET
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 berikutnya
- Pelajari kebijakan retensi lebih lanjut.
- Pelajari cara menggunakan penyimpanan objek.
- Pelajari Object Lifecycle Management, yang dapat otomatis menghapus file setelah mencapai periode retensi datanya.