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
, atauupload-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.
- Secara default, Cloud Storage XML API mengizinkan akses HTTP tanpa enkripsi.
- Pengalihan
CNAME
hanya mendukung akses HTTP yang tidak dienkripsi.
Batasan tambahan
Batasan kebijakan organisasi berikut berlaku secara lebih umum di seluruh Google Cloud, tetapi sering kali diterapkan ke layanan Cloud Storage:
constraints/gcp.restrictNonCmekServices
: Mewajibkan objek baru dan yang ditulis ulang untuk dienkripsi menggunakan kunci enkripsi yang dikelola pelanggan, dan mewajibkan bucket baru untuk menetapkan kunci Cloud KMS sebagai kunci enkripsi default.constraints/gcp.restrictCmekCryptoKeyProjects
: Menolak permintaan ke Cloud Storage jika permintaan menyertakan kunci enkripsi yang dikelola pelanggan dan kunci tersebut bukan milik project yang ditentukan oleh batasan. Demikian pula, tolak permintaan yang membuat atau menulis ulang objek jika objek akan dienkripsi oleh kunci enkripsi default bucket dan kunci tersebut bukan milik project yang ditentukan oleh batasan.constraints/gcp.restrictTLSVersion
: Mencegah akses ke Cloud Storage oleh permintaan yang dibuat menggunakan Transport Layer Security (TLS) 1.0 atau 1.1.
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
- Pelajari hierarki resource yang berlaku untuk kebijakan organisasi.
- Lihat Membuat dan mengelola kebijakan organisasi untuk mendapatkan petunjuk tentang cara menangani batasan dan kebijakan organisasi di konsol Google Cloud.
- Lihat Menggunakan batasan untuk mengetahui petunjuk tentang cara menangani batasan dan kebijakan organisasi di gcloud CLI.
- Pelajari batasan kustom untuk Cloud Storage.
- Lihat dokumentasi referensi Resource Manager API untuk mengetahui metode API
yang relevan, seperti
projects.setOrgPolicy
.