Halaman ini menjelaskan cara membuat bucket dengan aturan pemfilteran IP. Dengan membuat bucket dengan pemfilteran IP, Anda dapat mengontrol akses ke bucket dengan memeriksa permintaan masuk terhadap alamat IP yang ditentukan dalam aturan pemfilteran IP bucket. Untuk mengetahui detailnya, lihat Pemfilteran IP bucket.
Untuk mengetahui informasi tentang cara membuat atau memperbarui aturan pemfilteran IP di bucket yang ada, lihat Memperbarui aturan pemfilteran IP bucket.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat bucket dengan aturan pemfilteran IP,
minta administrator untuk memberi Anda peran Storage Admin (roles/storage.admin)
pada bucket. Peran ini berisi izin yang diperlukan untuk membuat bucket dengan aturan pemfilteran IP.
Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.buckets.createstorage.buckets.setIpFilter
Anda juga bisa mendapatkan izin ini dengan peran khusus. Anda mungkin juga bisa mendapatkan izin ini dengan peran bawaan lainnya. Untuk melihat peran yang terkait dengan izin apa, lihat Peran IAM untuk Cloud Storage.
Untuk mengetahui petunjuk tentang cara memberikan peran pada bucket, lihat Menetapkan dan mengelola kebijakan IAM pada bucket.
Membuat bucket dengan aturan pemfilteran IP
Konsol
- Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
- Klik Create.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Continue untuk melanjutkan ke langkah berikutnya:
-
Di bagian Get started, lakukan tindakan berikut:
-
Masukkan nama yang unik secara global yang memenuhi persyaratan nama bucket.
-
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label, klik add_box Tambahkan label, lalu tentukan
keydanvalueuntuk label Anda.
-
-
Di bagian Pilih tempat untuk menyimpan data Anda, lakukan tindakan berikut:
-
Pilih Location type.
-
Gunakan menu drop-down jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
-
Jika memilih jenis lokasi dual-region, Anda juga dapat memilih untuk mengaktifkan replikasi turbo menggunakan kotak centang yang relevan.
-
-
Untuk menyiapkan replikasi lintas bucket, pilih Tambahkan replikasi lintas bucket melalui Storage Transfer Service dan ikuti langkah-langkahnya:
Menyiapkan replikasi lintas bucket
- Di menu Bucket, pilih bucket.
-
Di bagian Replication settings, klik Configure guna mengonfigurasi setelan untuk tugas replikasi.
Panel Configure cross-bucket replication akan muncul.
- Untuk memfilter objek yang akan direplikasi berdasarkan awalan nama objek, masukkan awalan yang ingin Anda sertakan atau kecualikan objek, lalu klik Tambahkan awalan.
- Untuk menetapkan kelas penyimpanan bagi objek yang direplikasi, pilih kelas penyimpanan dari menu Kelas penyimpanan. Jika Anda melewati langkah ini, objek yang direplikasi akan menggunakan kelas penyimpanan bucket tujuan secara default.
- Klik Done.
-
-
Di bagian Choose how to store your data, lakukan tindakan berikut:
-
Pilih kelas penyimpanan default untuk bucket atau Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
-
Di bagian Optimize storage for data-intensive workloads, lakukan tindakan berikut:
-
Untuk mengaktifkan namespace hierarkis, pilih Enable Hierarchical namespace on this bucket.
- Untuk mengaktifkan Rapid Cache, pilih
Aktifkan Rapid Cache dan ikuti langkah-langkahnya:
-
Untuk membuat cache, klik Konfigurasi.
-
Dalam dialog Configure cache settings yang muncul, klik panah drop-down di samping region yang tercantum, lalu pilih zona tempat Anda ingin membuat cache.
-
Klik Done.
-
-
-
-
Di bagian Choose how to control access to objects, lakukan hal-hal berikut:
-
Pilih apakah bucket Anda menerapkan pencegahan akses publik.
-
Pilih Uniform untuk mengaktifkan akses level bucket yang seragam di bucket.
-
Untuk mengonfigurasi pemfilteran IP untuk bucket, lakukan hal berikut:
Di bagian IP filtering, klik Configure.
-
Untuk mengizinkan akses dari alamat IP publik, lakukan hal berikut:
- Klik Public internet.
-
Di kolom Rentang IP yang diizinkan, tentukan satu atau beberapa rentang alamat IPv4 atau rentang CIDR IPv6 yang diizinkan. Misalnya,
192.0.2.0/24atau2001:db8::/32.Agar tidak kehilangan akses ke bucket, sertakan alamat IP Anda sendiri.
-
Untuk mengizinkan akses dari jaringan VPC, lakukan hal berikut:
- Klik Jaringan VPC.
-
Lakukan hal berikut untuk setiap jaringan:
- Klik Tambahkan jaringan VPC.
-
Di bagian Jaringan VPC baru, tentukan informasi berikut:
- Di kolom Project ID, masukkan project ID Anda.
- Di kolom Network name, masukkan nama jaringan Anda.
-
Di kolom Allowed IP range(s), masukkan satu atau beberapa rentang CIDR IPv4 atau IPv6, seperti
192.0.2.0/24atau2001:db8::/32.Agar tidak kehilangan akses ke bucket, sertakan alamat IP Anda sendiri.
- Klik Done.
-
Untuk mengizinkan agen layanan dan jaringan VPC Google Cloud tepercaya dari organisasi lain mengabaikan konfigurasi pemfilteran IP Anda, lakukan hal berikut:
- Klik Setelan tambahan.
-
Di bagian Akses agen layanan Google Cloud, pilih salah satu opsi berikut:
- Izinkan akses agen layanan: memungkinkan layanan Google Cloud seperti BigLake, Insight Penyimpanan, Vertex AI, dan BigQuery mengabaikan validasi pemfilteran IP saat perlu mengakses bucket ini.
- Tolak akses agen layanan: menerapkan aturan filter IP untuk agen layanan Google Cloud .
- Di bagian Cross-organization VPC access, lakukan salah satu hal berikut:
- Untuk mengizinkan akses dari jaringan VPC tertentu yang berada di organisasi Google Cloud yang berbeda, klik tombol ke posisi Izinkan.
- Untuk memblokir akses dari jaringan VPC di luar Google Cloud organisasi Anda, klik tombol untuk Tolak (status default).
- Klik Tinjau, lalu klik Simpan.
-
-
Di bagian Choose how to protect object data, lakukan hal berikut:
-
Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
-
Untuk mengubah jangka waktu penghapusan sementara mempertahankan objek setelah penghapusan, centang kotak Kebijakan penghapusan sementara, lalu pilih opsi Tetapkan durasi retensi kustom. Kemudian, tentukan berapa lama Anda ingin mempertahankan objek yang dihapus.
Untuk menonaktifkan penghapusan sementara, misalnya jika bucket akan berisi data sementara yang berumur pendek, hapus centang pada kotak Kebijakan penghapusan sementara.
-
Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu lakukan hal berikut:
- Di bagian Default encryption key type, pilih kunci enkripsi default untuk bucket. Jika Anda memilih Cloud KMS key, berikan kunci Cloud Key Management Service.
- Di bagian Encryption enforcement rules, untuk Key types, pilih jenis enkripsi yang akan diizinkan atau dibatasi untuk objek baru di bucket.
-
-
Klik Create.
gcloud
Verifikasi bahwa Anda telah menginstal Google Cloud CLI versi 526.0.0 atau yang lebih baru:
gcloud version | head -n1Jika Anda telah menginstal gcloud CLI versi sebelumnya, update versinya:
gcloud components update --version=526.0.0Buat file JSON yang menentukan aturan untuk permintaan masuk. Untuk contoh dan informasi tentang cara menyusun aturan pemfilteran IP bucket, lihat Konfigurasi pemfilteran IP bucket.
{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs":ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }
Dengan:
MODEadalah mode konfigurasi pemfilteran IP bucket. Nilai yang valid adalahEnableddanDisabled. Jika disetel keEnabled, aturan pemfilteran IP akan diterapkan ke bucket. Setiap permintaan masuk ke bucket akan dievaluasi berdasarkan aturan ini. Jika ditetapkan keDisabled, semua permintaan masuk diizinkan untuk mengakses bucket.RANGE_CIDRadalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.PROJECT_IDadalah project ID tempat jaringan Virtual Private Cloud (VPC) berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan project tempat setiap jaringan berada.NETWORK_NAMEadalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan nama untuk setiap jaringan.ALLOW_CROSS_ORG_VPCSadalah nilai boolean yang menunjukkan apakah akan mengizinkan jaringan VPC yang ditentukan dalamvpcNetworkSourcesuntuk berasal dari organisasi yang berbeda. Kolom ini bersifat opsional. Jika ditetapkan ketrue, permintaan akan mengizinkan jaringan VPC lintas organisasi. Jika ditetapkan kefalse, permintaan akan membatasi jaringan VPC ke organisasi yang sama dengan bucket. Jika tidak ditentukan, nilai defaultnya adalahfalse. Kolom ini hanya berlaku jikavpcNetworkSourcestidak kosong.ALLOW_ALL_SERVICE_AGENT_ACCESSadalah nilai boolean yang menunjukkan apakah akan mengizinkan agen layanan mengakses bucket, terlepas dari konfigurasi filter IP. Jika nilainya adalahtrue, layanan Google Cloud lain dapat menggunakan agen layanan untuk mengakses bucket tanpa validasi berbasis IP.
Untuk membuat bucket dengan aturan pemfilteran IP, jalankan perintah
gcloud storage buckets createdi lingkungan pengembangan Anda:gcloud storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Dengan:
BUCKET_NAMEadalah nama yang ingin Anda berikan ke bucket, tunduk pada persyaratan penamaan. Contoh,my-bucket.IP_FILTER_CONFIG_FILEadalah file JSON yang menentukan aturan untuk permintaan masuk.
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi setelan untuk bucket, yang harus menyertakan kolom konfigurasi
namedanipFilteruntuk bucket. Untuk mengetahui contoh dan informasi tentang cara menyusun aturan pemfilteran IP bucket, lihat Konfigurasi pemfilteran IP bucket.{ "name": "BUCKET_NAME", "ipFilter": { "mode": "MODE", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }, }
Dengan:
MODEadalah status konfigurasi filter IP. Nilai yang valid adalahEnableddanDisabled. Jika disetel keEnabled, aturan pemfilteran IP diterapkan ke bucket dan semua permintaan masuk ke bucket dievaluasi berdasarkan aturan ini. Jika ditetapkan keDisabled, semua permintaan masuk dapat mengakses bucket dan datanya tanpa evaluasi apa pun jika Anda memiliki izin IAM yang diperlukan.RANGE_CIDRadalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.PROJECT_IDadalah project ID tempat jaringan VPC berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan project tempat setiap jaringan berada.NETWORK_NAMEadalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan nama untuk setiap jaringan.ALLOW_ALL_SERVICE_AGENT_ACCESSadalah nilai boolean yang menunjukkan apakah akan mengizinkan agen layanan mengakses bucket, terlepas dari konfigurasi filter IP. Jika nilainya adalahtrue, layanan Google Cloud lain dapat menggunakan agen layanan untuk mengakses bucket tanpa validasi berbasis IP.ALLOW_CROSS_ORG_VPCSadalah nilai boolean yang menunjukkan apakah akan mengizinkan jaringan VPC yang ditentukan divpcNetworkSourcesberasal dari organisasi yang berbeda. Kolom ini bersifat opsional. Jika ditetapkan ketrue, permintaan akan mengizinkan jaringan VPC lintas organisasi. Jika ditetapkan kefalse, permintaan akan membatasi jaringan VPC ke organisasi yang sama dengan bucket. Jika tidak ditentukan, nilai defaultnya adalahfalse. Kolom ini hanya berlaku jikavpcNetworkSourcestidak kosong.
Gunakan
cURLuntuk memanggil JSON API dengan permintaan POST bucket:curl -X POST --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?project=PROJECT_ID"
Dengan:
JSON_FILE_NAMEadalah nama file JSON yang berisi setelan untuk bucket.PROJECT_IDadalah ID project yang terkait dengan bucket Anda. Contoh,my-project.
Konfigurasi pemfilteran IP bucket
Bagian ini memberikan contoh konfigurasi file JSON pemfilteran IP bucket untuk mengontrol akses ke bucket Cloud Storage Anda. Anda dapat memberikan akses ke permintaan masuk menggunakan salah satu contoh berikut:
Alamat IP publik (IPv4 atau IPv6):
Konfigurasi berikut memberikan akses ke alamat IPv4 atau IPv6 publik, tetapi memblokir traffic yang berasal dari VPC mana pun:
gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false } }
Rentang IP publik tertentu:
Contoh konfigurasi berikut memberikan akses ke rentang alamat IPv4 publik
192.0.2.0/24, tetapi memblokir traffic yang berasal dari VPC mana pun:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false } }
Contoh konfigurasi berikut memberikan akses ke rentang alamat IPv6 publik
2001:db8::/32, tetapi memblokir traffic yang berasal dari VPC mana pun:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false } }
Jaringan VPC: Dengan menggunakan konfigurasi berikut, Anda dapat memberikan akses ke resource dalam jaringan VPC Anda. Anda dapat memberikan akses ke semua alamat IP dalam VPC atau rentang IP tertentu dalam VPC. Dalam setiap contoh ini,
PROJECT_IDadalah project ID tempat jaringan VPC berada danNETWORK_NAMEadalah nama jaringan VPC yang diizinkan untuk mengakses bucket.Contoh konfigurasi berikut memberikan akses ke permintaan dari alamat IPv4 atau IPv6 mana pun yang berasal dari VPC tertentu dan memblokir traffic yang berasal dari alamat IP publik:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false } }
Contoh konfigurasi berikut hanya memberikan akses ke permintaan dari VPC yang terkait dengan VM dengan alamat IPv4 eksternal sebagai
192.0.2.0/24dan memblokir traffic yang berasal dari alamat IP publik:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false } }
Contoh konfigurasi berikut hanya memberikan akses ke permintaan yang berasal dari VPC dengan rentang subnet IPv4 internal yang terkait dengan VM tanpa alamat IP eksternal dan memblokir traffic yang berasal dari alamat IP publik:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false }
Dengan:
IP_ADDRESSadalah rentang subnet IPv4 internal.JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false } }
Dengan:
IP_ADDRESSadalah rentang subnet IPv4 internal.Contoh konfigurasi berikut hanya memberikan akses ke permintaan yang berasal dari VPC dengan rentang subnet IPv4 dan IPv6 stack ganda yang terkait dengan VM dengan rentang alamat IPv6 eksternal sebagai
2001:db8::/32dan memblokir traffic yang berasal dari alamat IP publik:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false }
JSON API
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false } }
Langkah berikutnya
- Membuat atau memperbarui aturan pemfilteran IP di bucket yang ada.
- Mendapatkan aturan pemfilteran IP bucket.
- Mencantumkan aturan pemfilteran IP bucket.
- Nonaktifkan pemfilteran IP bucket.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru juga akan mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis