Halaman ini menjelaskan cara menggunakan fitur Kunci Retensi Objek, termasuk mengaktifkannya untuk bucket dan menetapkan konfigurasi retensi untuk objek dalam bucket.
Peran yang diperlukan
Guna mendapatkan izin yang Anda perlukan untuk mengaktifkan fitur Kunci Retensi Objek untuk bucket dan menetapkan konfigurasi retensi pada objek, minta administrator untuk memberi Anda peran IAM Storage Admin (roles/storage.admin
) di bucket atau project yang berisi bucket tersebut. Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menetapkan dan mengelola konfigurasi retensi. Untuk melihat izin
yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.buckets.create
storage.buckets.enableObjectRetention
storage.buckets.get
storage.buckets.list
- Izin ini hanya diperlukan jika Anda berencana menggunakan Konsol Google Cloud untuk menjalankan petunjuk di halaman ini.
storage.objects.get
storage.objects.list
- Izin ini hanya diperlukan jika Anda berencana menggunakan Konsol Google Cloud untuk menjalankan petunjuk di halaman ini.
storage.objects.overrideUnlockedRetention
- Izin ini hanya diperlukan jika Anda berencana mengunci atau mempersingkat konfigurasi retensi yang ada.
storage.objects.setRetention
storage.objects.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. Untuk informasi tentang cara memberikan peran pada project, lihat Mengelola akses ke project.
Mengaktifkan retensi objek untuk bucket
Mengaktifkan retensi objek hanya didukung sebagai bagian dari pembuatan bucket, dan jika retensi objek diaktifkan di bucket, objek tersebut tidak dapat dinonaktifkan. Gunakan petunjuk berikut untuk mengaktifkan retensi objek untuk bucket:
Konsol
Buat bucket seperti biasa, dan pada langkah Choose how to proteksi data objek, pilih Retention (ForCompliance) dan Aktifkan retensi objek.
Command line
Buat bucket seperti biasa, dan sertakan flag --enable-per-object-retention
dalam perintah.
REST API
JSON API
Buat bucket seperti biasa, dan sertakan parameter kueri enableObjectRetention=true
sebagai bagian dari permintaan.
XML API
Buat bucket seperti biasa dan sertakan header x-goog-bucket-object-lock-enabled: True
sebagai bagian dari permintaan.
Melihat status retensi objek bucket
Untuk melihat apakah retensi objek diaktifkan untuk sebuah bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Klik nama bucket yang statusnya ingin Anda periksa.
Klik tab Perlindungan.
Status retensi objek bucket akan ditampilkan di bagian Retensi objek.
Command line
Gunakan perintah gcloud storage buckets describe
dengan flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
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:
per_object_retention: mode: Enabled
Jika berhasil dan kebijakan retensi untuk bucket tidak ada, responsnya akan mirip dengan berikut ini:
null
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 BucketGET
yang menyertakan kolomobjectRetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
XML 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 XML API dengan permintaan BucketGET
yang dicakupkan ke?object-lock
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?object-lock"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
Menetapkan konfigurasi retensi objek
Agar dapat menetapkan konfigurasi retensi untuk sebuah objek, objek tersebut harus disimpan di bucket tempat retensi objek diaktifkan. Untuk menetapkan konfigurasi retensi untuk sebuah objek:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang konfigurasi retensinya ingin Anda tetapkan atau ubah.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Buka objek, yang mungkin berada di dalam folder.
Klik nama objek.
Halaman Object details akan terbuka, yang menampilkan metadata objek.
Di bagian Perlindungan, klik ikon Edit (edit) yang terkait dengan Dari konfigurasi retensi objek.
Panel Edit retensi akan terbuka.
Di bagian ObjectRetention configuration, klik Enabled atau Disabled.
- Jika konfigurasi retensi diaktifkan, pilih tanggal dan waktu untuk konfigurasi di bagian Pertahankan sampai waktu, lalu klik Tidak terkunci atau Terkunci di bagian Mode Retensi.
Klik Confirm.
Command line
Gunakan perintah gcloud storage objects update
dengan flag yang sesuai. Untuk menambahkan atau mengubah konfigurasi retensi, gunakan
perintah berikut. Perhatikan bahwa Anda juga harus menyertakan tanda --override-unlocked-retention
jika memodifikasi konfigurasi yang ada dengan cara yang menguncinya atau mempersingkat waktu penyimpanannya:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang relevan. Contoh,kitten.png
.DATETIME
adalah tanggal dan waktu paling awal saat objek dapat dihapus. Contoh,2028-02-15T05:30:00Z
.STATE
adalahLocked
atauUnlocked
.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
Updating gs://my-bucket/kitten.png... Completed 1
Untuk menghapus konfigurasi retensi dari objek, gunakan perintah berikut:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang relevan. Contoh,kitten.png
.
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:
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
Dengan keterangan:
STATE
adalahLocked
atauUnlocked
.DATETIME
adalah tanggal dan waktu paling awal objek dapat dihapus. Misalnya,2028-02-15T05:30:00Z
.
Gunakan
cURL
untuk memanggil JSON API dengan permintaanPATCH
Object: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/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file yang Anda buat di Langkah 2.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari objek yang relevan. Misalnya,pets/kitten.png
, dienkode ke URL sebagaipets%2Fkitten.png
.BOOLEAN
harustrue
jika permintaan mempersingkat, menghapus, atau mengunci konfigurasi retensi yang ada. Jika tidak, parameteroverrideUnlockedRetention
dapat dikecualikan dari permintaan sepenuhnya.
XML 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 XML yang berisi informasi berikut:
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
Dengan keterangan:
STATE
adalahGOVERNANCE
atauCOMPLIANCE
.DATETIME
adalah tanggal dan waktu paling awal objek dapat dihapus. Misalnya,2028-02-15T05:30:00Z
.
Gunakan
cURL
untuk memanggil XML API dengan permintaan ObjekPUT
yang dicakupkan ke?retention
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-bypass-governance-retention: BOOLEAN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Dengan keterangan:
XML_FILE_NAME
adalah jalur untuk file XML yang Anda buat pada Langkah 2.BOOLEAN
harustrue
jika permintaan mempersingkat, menghapus, atau mengunci konfigurasi retensi yang ada. Jika tidak, headerx-goog-bypass-governance-retention
dapat dikecualikan dari permintaan sepenuhnya.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari objek yang relevan. Misalnya,pets/kitten.png
, dienkode ke URL sebagaipets%2Fkitten.png
.
Melihat konfigurasi retensi objek
Untuk melihat apa, jika ada, konfigurasi retensi yang ditetapkan pada sebuah objek:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang konfigurasi retensinya ingin Anda lihat.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Buka objek, yang mungkin berada di dalam folder.
Klik nama objek.
Halaman Object details akan terbuka, yang menampilkan metadata objek. Informasi tentang konfigurasi retensi apa pun yang dimiliki objek ditampilkan di bagian Perlindungan.
Command line
Gunakan perintah gcloud storage objects describe
dengan flag --format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang relevan. Contoh,kitten.png
.
Jika berhasil dan konfigurasi retensi ada untuk objek, respons akan mirip dengan berikut ini:
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
Jika berhasil dan konfigurasi retensi tidak ada untuk objek, responsnya akan mirip dengan berikut ini:
null
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 ObjekGET
yang menyertakan kolomretention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang relevan. Contoh,kitten.png
.
XML 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 XML API dengan permintaan ObjekGET
yang dicakupkan ke?retention
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang relevan. Contoh,kitten.png
.
Langkah selanjutnya
- Pelajari konfigurasi retensi lebih lanjut.
- Pelajari fitur lain yang melindungi data Cloud Storage Anda.
- Pelajari Object Lifecycle Management, yang dapat otomatis menghapus file setelah mencapai periode retensi data.