Batasan kebijakan organisasi untuk Cloud Storage

Halaman ini memberikan informasi tambahan tentang batasan kebijakan organisasi yang berlaku untuk Cloud Storage. Gunakan batasan untuk menerapkan perilaku bucket dan objek di seluruh project atau organisasi. Batasan kebijakan organisasi dapat berupa boolean constraints atau batasan daftar.

Batasan Cloud Storage

Batasan berikut dapat diterapkan pada kebijakan organisasi dan berkaitan dengan Cloud Storage:

Menerapkan pencegahan akses publik

Nama Batasan: constraints/storage.publicAccessPrevention Jenis Batasan: boolean

Saat Anda menerapkan batasan publicAccessPrevention pada resource, akses publik dibatasi untuk semua bucket dan objek, baik yang baru maupun yang sudah ada, pada resource tersebut.

Perlu diperhatikan bahwa diperlukan waktu hingga 10 menit untuk mengaktifkan atau menonaktifkan publicAccessPrevention.

Hapus durasi retensi untuk sementara

Nama Batasan: constraints/storage.softDeletePolicySeconds Jenis Batasan: list

Saat menerapkan batasan softDeletePolicySeconds, Anda menentukan satu atau beberapa durasi sebagai bagian dari batasan. Setelah ditetapkan, kebijakan penghapusan untuk sementara bucket harus menyertakan salah satu durasi yang ditentukan. softDeletePolicySeconds diperlukan saat membuat bucket baru dan saat menambahkan atau memperbarui durasi retensi penghapusan sementara (softDeletePolicy.retentionDuration) dari bucket yang sudah ada; namun, bucket yang sudah ada tidak terpengaruh.

Jika Anda menetapkan beberapa batasan softDeletePolicySeconds pada level resource yang berbeda, batasan tersebut akan diterapkan secara hierarkis. Karena alasan ini, sebaiknya tetapkan kolom inheritFromParent ke true, yang memastikan bahwa kebijakan di lapisan yang lebih tinggi juga dipertimbangkan.

Durasi kebijakan retensi bucket dalam detik

Nama Batasan: constraints/storage.retentionPolicySeconds Jenis Batasan: list

Saat menerapkan batasan retentionPolicySeconds, Anda menentukan satu atau beberapa durasi sebagai bagian dari batasan. Setelah ditetapkan, kebijakan retensi bucket harus menyertakan salah satu durasi yang ditentukan. retentionPolicySeconds diperlukan saat membuat bucket baru dan saat menambahkan atau memperbarui periode retensi bucket yang sudah ada; tetapi tidak diperlukan pada bucket yang sudah ada sebelumnya.

Jika Anda menetapkan beberapa batasan retentionPolicySeconds pada level resource yang berbeda, batasan tersebut akan diterapkan secara hierarkis. Karena alasan ini, sebaiknya tetapkan kolom inheritFromParent ke true, yang memastikan bahwa kebijakan di lapisan yang lebih tinggi juga dipertimbangkan.

Mewajibkan akses level bucket yang seragam

Nama Batasan: constraints/storage.uniformBucketLevelAccess Jenis Batasan: boolean

Saat Anda menerapkan batasan uniformBucketLevelAccess, bucket baru harus mengaktifkan fitur akses level bucket seragam, dan bucket yang sudah ada dan sudah mengaktifkan fitur ini tidak dapat menonaktifkannya. Bucket yang sudah ada sebelumnya dan menonaktifkan akses level bucket seragam tidak diwajibkan untuk mengaktifkannya.

Mode logging audit mendetail

Nama Batasan: constraints/gcp.detailedAuditLoggingMode Jenis Batasan: boolean

Saat Anda menerapkan batasan detailedAuditLoggingMode, log Cloud Audit Logs yang terkait dengan operasi Cloud Storage berisi informasi permintaan dan respons yang mendetail. Batasan ini direkomendasikan untuk digunakan bersama dengan Bucket Lock dan Object Retention Lock saat mencari berbagai kepatuhan seperti SEC Rule 17a-4(f), CFTC Rule 1.31(c)-(d), dan FINRA Rule 4511(c).

Informasi yang dicatat dalam log mencakup parameter kueri, parameter jalur, dan parameter isi permintaan. Log mengecualikan bagian permintaan dan respons tertentu yang terkait dengan informasi sensitif. Misalnya, log mengecualikan:

  • Kredensial, seperti Authorization, X-Goog-Signature, atau upload-id.
  • Informasi kunci enkripsi, seperti x-goog-encryption-key.
  • Data objek mentah.

Saat menggunakan batasan ini, perhatikan hal-hal berikut:

  • Informasi permintaan dan respons yang mendetail tidak dijamin; dalam kasus yang jarang terjadi, log kosong mungkin ditampilkan.
  • Mengaktifkan detailedAuditLoggingMode akan meningkatkan jumlah data yang disimpan di log audit, yang dapat memengaruhi biaya Cloud Logging untuk log Akses Data.
  • Perlu diperhatikan bahwa diperlukan waktu hingga 10 menit untuk mengaktifkan atau menonaktifkan detailedAuditLoggingMode.

  • Permintaan dan respons yang dicatat ke dalam log dicatat dalam format generik yang cocok dengan nama kolom JSON API.

Membatasi jenis autentikasi

Nama Batasan: constraints/storage.restrictAuthTypes Jenis Batasan: list

Saat Anda menerapkan batasan restrictAuthTypes, permintaan untuk mengakses resource Cloud Storage menggunakan jenis autentikasi yang dibatasi akan gagal, terlepas dari validitas permintaan tersebut. Batasan ini direkomendasikan saat Anda perlu memenuhi persyaratan peraturan atau meningkatkan keamanan data.

Jenis autentikasi berikut dapat dibatasi:

  • SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS: Membatasi permintaan yang ditandatangani oleh kunci HMAC akun layanan.

  • in:ALL_HMAC_SIGNED_REQUESTS: Membatasi permintaan yang ditandatangani oleh kunci HMAC. Jika Anda perlu memenuhi persyaratan kedaulatan data, sebaiknya batasi semua permintaan yang ditandatangani HMAC.

Saat Anda mengaktifkan batasan ini, hal berikut akan terjadi:

  • Cloud Storage membatasi akses untuk permintaan yang diautentikasi dengan jenis autentikasi yang dibatasi. Permintaan gagal dengan error 403 Forbidden.

  • Entitas yang sebelumnya diberi otorisasi untuk melakukan permintaan akan menerima pesan error yang menjelaskan bahwa jenis autentikasi dinonaktifkan.

  • Jika kunci HMAC dibatasi:

    • Kunci HMAC dari jenis yang dibatasi tidak dapat lagi dibuat atau diaktifkan di resource tempat batasan diterapkan. Permintaan untuk membuat atau mengaktifkan kunci HMAC akan gagal dengan error 403 Forbidden.

    • Kunci HMAC yang sudah ada tetap ada, tetapi tidak dapat digunakan lagi. Token dapat dinonaktifkan atau dihapus, tetapi tidak dapat diaktifkan kembali.

Saat menggunakan batasan restrictAuthTypes, perhatikan resource yang ada yang bergantung pada autentikasi HMAC. Misalnya, jika Anda bermigrasi dari Amazon Simple Storage Service (Amazon S3), aplikasi Anda kemungkinan menggunakan kunci HMAC untuk mengautentikasi permintaan ke Cloud Storage. Anda dapat menggunakan metrik Cloud Monitoring storage.googleapis.com/authn/authentication_count untuk melacak berapa kali kunci HMAC digunakan untuk mengautentikasi permintaan.

Membatasi permintaan HTTP yang tidak dienkripsi

Nama Batasan: constraints/storage.secureHttpTransport Jenis Batasan: boolean

Saat Anda menerapkan batasan secureHttpTransport, semua akses HTTP yang tidak dienkripsi ke resource Cloud Storage akan ditolak.

Batasan tambahan

Batasan kebijakan organisasi berikut berlaku secara lebih umum di seluruh Google Cloud, tetapi sering diterapkan ke layanan Cloud Storage:

Mengizinkan atau menolak batasan kebijakan organisasi secara bersyarat

Tag memberikan cara untuk mengizinkan atau menolak kebijakan organisasi secara bersyarat berdasarkan apakah bucket Cloud Storage memiliki tag tertentu atau tidak. Lihat menetapkan kebijakan organisasi dengan tag untuk mendapatkan petunjuk selengkapnya.

Langkah selanjutnya