Halaman ini menjelaskan cara membuat aturan pemfilteran IP bucket. Dengan mengaktifkan pemfilteran IP bucket, 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.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat aturan pemfilteran IP bucket, minta administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
) di bucket. Peran ini berisi izin yang diperlukan untuk membuat aturan pemfilteran IP bucket.
Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.buckets.create
storage.buckets.setIpFilter
Anda juga bisa mendapatkan izin ini dengan peran khusus. Anda mungkin juga bisa mendapatkan izin ini dengan peran bawaan lainnya. Untuk mengetahui peran mana yang terkait dengan izin apa, lihat Peran IAM untuk Cloud Storage.
Untuk petunjuk cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket.
Membuat aturan pemfilteran IP bucket
Command line
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Buat 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": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] }
Dengan keterangan:
mode
adalah mode konfigurasi pemfilteran IP bucket. Nilai yang valid adalahEnabled
danDisabled
. Jika ditetapkan keEnabled
, aturan pemfilteran IP akan diterapkan ke bucket. Setiap permintaan yang masuk ke bucket akan dievaluasi berdasarkan aturan ini. Jika ditetapkan keDisabled
, semua permintaan masuk diizinkan untuk mengakses bucket.RANGE_CIDR adalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.
PROJECT_ID
adalah project ID tempat jaringan Virtual Private Cloud (VPC) berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan project tempat setiap jaringan berada.NETWORK_NAME
adalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan nama untuk setiap jaringan.
Untuk membuat bucket dengan aturan pemfilteran IP, jalankan perintah
gcloud alpha storage buckets create
di lingkungan pengembangan Anda:gcloud alpha storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Dengan keterangan:
BUCKET_NAME
adalah nama yang ingin Anda berikan untuk bucket, tunduk pada persyaratan penamaan. Misalnya,my-bucket
.IP_FILTER_CONFIG_FILE
adalah file JSON yang menentukan aturan untuk permintaan yang masuk.
REST API
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
name
danipFilter
untuk bucket. Untuk contoh dan informasi tentang cara menyusun aturan pemfilteran IP bucket, lihat Konfigurasi pemfilteran IP bucket.{ "name": "BUCKET_NAME" "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] } }
Dengan keterangan:
mode
adalah status konfigurasi filter IP. Nilai yang valid adalahEnabled
danDisabled
. Jika ditetapkan keEnabled
, aturan pemfilteran IP akan diterapkan ke bucket dan semua permintaan masuk ke bucket akan 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. Untuk mengaktifkan aturan pemfilteran IP bucket dengan aman, mulailah dengan mengonfigurasi aturan denganmode
ditetapkan keDisabled
sehingga Anda dapat menambahkan dan menyesuaikan aturan tanpa langsung memblokir permintaan. Setelah memverifikasi bahwa aturan Anda ditentukan dengan benar, perbaruimode
keEnabled
untuk mengaktifkan pemfilteran IP bucket.RANGE_CIDR adalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.
PROJECT_ID
adalah ID project tempat jaringan VPC berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan project tempat setiap jaringan berada.NETWORK_NAME
adalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan nama untuk setiap jaringan.
Gunakan
cURL
untuk 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_IDENTIFIER&projection=full"
Dengan keterangan:
JSON_FILE_NAME
adalah nama file JSON yang berisi setelan untuk bucket.PROJECT_IDENTIFIER
adalah ID atau nomor project yang dikaitkan 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 apa pun (IPv4 atau IPv6):
Konfigurasi berikut memberikan akses ke alamat IPv4 atau IPv6 publik, tetapi memblokir traffic yang berasal dari VPC mana pun:
{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] } } }
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:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] } } }
Contoh konfigurasi berikut memberikan akses ke rentang alamat IPv6 publik
2001:db8::/32
, tetapi memblokir traffic yang berasal dari VPC mana pun:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] } } }
Jaringan VPC: Dengan menggunakan konfigurasi berikut, Anda dapat memberikan akses ke resource dalam jaringan VPC. Anda dapat memberikan akses ke semua alamat IP dalam VPC atau rentang IP tertentu dalam VPC. Dalam setiap contoh ini,
PROJECT_ID
adalah project ID tempat jaringan VPC berada danNETWORK_NAME
adalah nama jaringan VPC yang diizinkan untuk mengakses bucket.Contoh konfigurasi berikut memberikan akses ke permintaan dari alamat IPv4 atau IPv6 apa pun yang berasal dari VPC tertentu dan memblokir traffic yang berasal dari alamat IP publik:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ] } }
Contoh konfigurasi berikut hanya memberikan akses ke permintaan dari VPC yang dikaitkan ke VM dengan alamat IPv4 eksternal sebagai
192.0.2.0/24
dan memblokir traffic yang berasal dari alamat IP publik:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ] } }
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:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ] } }
Dengan
IP_ADDRESS
adalah 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 dikaitkan ke VM dengan rentang alamat IPv6 eksternal sebagai
2001:db8::/32
dan memblokir traffic yang berasal dari alamat IP publik:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ] } }
Langkah selanjutnya
- Perbarui aturan pemfilteran IP bucket.
- 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 mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis