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 batasan boolean atau batasan daftar.

Batasan Cloud Storage

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

Menerapkan pencegahan akses publik

Constraint Name: constraints/storage.publicAccessPrevention Constraint Type: 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.

Durasi retensi penghapusan sementara

Constraint Name: constraints/storage.softDeletePolicySeconds Constraint Type: list

Saat menerapkan batasan softDeletePolicySeconds, Anda menentukan satu atau beberapa durasi sebagai bagian dari batasan. Setelah ditetapkan, kebijakan penghapusan 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) bucket yang sudah ada. Namun, hal ini tidak memengaruhi bucket yang sudah ada.

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

Constraint Name: constraints/storage.retentionPolicySeconds Constraint Type: 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. Namun, hal ini tidak diperlukan pada bucket yang sudah ada.

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

Constraint Name: constraints/storage.uniformBucketLevelAccess Constraint Type: 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

Constraint Name: constraints/gcp.detailedAuditLoggingMode Constraint Type: 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 berikut:

  • Informasi permintaan dan respons yang mendetail tidak dijamin. Dalam kasus yang jarang terjadi, log kosong mungkin akan ditampilkan.
  • Mengaktifkan detailedAuditLoggingMode akan meningkatkan jumlah data yang disimpan dalam 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

Constraint Name: constraints/storage.restrictAuthTypes Constraint Type: list

Saat Anda menerapkan batasan restrictAuthTypes, permintaan untuk mengakses resource Cloud Storage menggunakan jenis autentikasi yang dibatasi akan gagal, terlepas dari validitas permintaan tersebut. Anda dapat menggunakan batasan restrictAuthTypes untuk membatasi kunci HMAC guna memenuhi persyaratan peraturan atau meningkatkan keamanan data Anda.

Batasan daftar secara eksplisit menolak jenis autentikasi tertentu sekaligus mengizinkan semua jenis lainnya. Untuk melakukannya, Anda harus mencantumkan jenis autentikasi yang dibatasi di kunci deniedValues dalam rules dari batasan restrictAuthTypes. Error akan terjadi jika Anda mencoba mencantumkan jenis autentikasi yang dibatasi di kunci allowedValues.

Anda dapat membatasi jenis autentikasi berikut:

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

  • USER_ACCOUNT_HMAC_SIGNED_REQUESTS: Membatasi permintaan yang ditandatangani oleh kunci HMAC akun pengguna.

  • in:ALL_HMAC_SIGNED_REQUESTS: Membatasi permintaan yang ditandatangani oleh kunci HMAC apa pun. Jika Anda perlu memenuhi persyaratan kedaulatan data, sebaiknya batasi semua permintaan yang ditandatangani dengan 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

Constraint Name: constraints/storage.secureHttpTransport Constraint Type: 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 kali 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. Lihat menetapkan kebijakan organisasi dengan tag untuk petunjuk mendetail.

Langkah selanjutnya