Grup alamat memungkinkan Anda menggabungkan beberapa alamat IP dan rentang alamat IP menjadi satu unit logis bernama, yang dapat Anda gunakan di beberapa produk. Dokumen ini menunjukkan cara menggunakan grup alamat dengan kebijakan keamanan Google Cloud Armor. Anda memerlukan langganan Google Cloud Armor Enterprise yang aktif untuk menggunakan grup alamat.
Sebelum memulai
Sebelum mengonfigurasi grup alamat, Anda harus mengaktifkan Network Security API terlebih dahulu networksecurity.googleapis.com
Peran IAM
Untuk membuat dan mengelola grup alamat, Anda memerlukan
peran Network Administrator (compute.networkAdmin
). Anda juga dapat menentukan
peran khusus dengan kumpulan izin yang setara.
Tabel berikut berisi daftar izin Identity and Access Management (IAM) yang diperlukan untuk melakukan serangkaian tugas pada grup alamat.
Tugas | Nama peran IAM | Izin IAM |
---|---|---|
Membuat dan mengelola grup alamat | compute.networkAdmin
|
networksecurity.addressGroups.* |
Menemukan dan melihat grup alamat | compute.networkUser |
networksecurity.addressGroups.list
|
Untuk mengetahui informasi selengkapnya tentang peran yang menyertakan izin IAM tertentu, lihat referensi izin IAM.
Membuat atau mengubah grup alamat
Bagian berikut menjelaskan cara membuat grup alamat, cara menambahkan dan menghapus alamat dari grup alamat, dan cara menghapus grup alamat.
Membuat grup alamat
Saat membuat grup alamat, Anda harus menentukan kapasitas dan versi alamat IP-nya menggunakan flag --capacity
dan --type
. Anda tidak dapat mengubah nilai ini setelah membuat grup alamat.
Selain itu, kapasitas maksimum untuk Google Cloud Armor mungkin lebih tinggi daripada kapasitas maksimum untuk produk lain, seperti Cloud Next Generation Firewall. Oleh karena itu, jika ingin menggunakan grup alamat yang sama di lebih dari satu produk, Anda harus menetapkan kapasitas agar kurang dari atau sama dengan kapasitas maksimum terendah di antara produk tersebut.
Konsol
Di konsol Google Cloud, buka halaman Address groups.
Di menu pemilih project, pilih project Anda jika tersedia.
Klik Buat Grup Alamat.
Di kolom Name, masukkan nama.
(Opsional): Di kolom Deskripsi, tambahkan deskripsi.
Untuk Cakupan, pilih Global.
Untuk Type, pilih IPv4 atau IPv6.
Untuk Tujuan, pilih Cloud Armor; atau, pilih Firewall dan Cloud Armor jika Anda juga berencana menggunakan grup alamat dengan kebijakan Cloud Next Generation Firewall.
Untuk informasi selengkapnya tentang cara memilih tujuan, lihat spesifikasi grup alamat.
Di kolom Kapasitas, masukkan kapasitas grup alamat.
Di kolom IP Addresses, cantumkan alamat IP atau rentang IP yang ingin Anda sertakan dalam grup alamat yang dipisahkan koma. Contoh,
1.1.1.0/24,1.2.0.0
.Klik Buat.
gcloud
Gunakan contoh perintah gcloud network-security address-groups create
berikut untuk membuat grup alamat yang disebut GROUP_NAME dengan kapasitas 1.000 alamat IPv4
, yang dapat digunakan dengan Google Cloud Armor atau Cloud NGFW:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 1000 \ --type IPv4 \ --purpose DEFAULT,CLOUD_ARMOR
Atau, Anda dapat membuat grup alamat dengan kapasitas yang lebih besar dengan menetapkan tujuan secara eksklusif ke CLOUD_ARMOR
. Pada contoh berikut, Anda membuat grup alamat dengan kapasitas 10.000 rentang alamat IP IPv6
:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 10000 \ --type IPv6 \ --purpose CLOUD_ARMOR
Menambahkan item ke grup alamat
Setelah membuat grup alamat, Anda dapat menambahkan item menggunakan konsol Google Cloud atau perintah gcloud network-security address-groups add-items
.
Konsol
Di konsol Google Cloud, buka halaman Address groups.
Di menu pemilih project, pilih project Anda jika tersedia.
Untuk mengedit grup alamat, klik nama grup alamat Anda.
Klik Edit.
Di kolom Alamat IP, tambahkan item baru ke daftar alamat IP yang dipisahkan koma. Atau, Anda dapat mengklik Impor alamat untuk mengupload file CSV yang berisi daftar alamat IP.
Klik Save.
gcloud
Pada contoh berikut, Anda menambahkan alamat IP 192.168.1.2
,
192.168.1.8
, dan 192.168.1.9
ke grup alamat GROUP_NAME.
Anda memberikan daftar item yang dipisahkan koma dengan flag --item
:
gcloud network-security address-groups add-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Menghapus item dari grup alamat
Anda dapat menghapus item dari grup alamat menggunakan konsol Google Cloud atau perintah gcloud network-security address-groups remove-items
.
Konsol
Di konsol Google Cloud, buka halaman Address groups.
Di menu pemilih project, pilih project Anda jika tersedia.
Untuk mengedit grup alamat, klik nama grup alamat Anda.
Klik Edit.
Di kolom Alamat IP, hapus item yang ingin Anda hapus dari daftar alamat IP yang dipisahkan koma.
Klik Save.
gcloud
Perintah berikut akan menghapus alamat IP 192.168.1.2
, 192.168.1.8
,
dan 192.168.1.9
yang Anda tambahkan dalam perintah sebelumnya:
gcloud network-security address-groups remove-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Menghapus grup alamat
Anda tidak dapat menghapus grup alamat jika grup tersebut direferensikan oleh resource, termasuk kebijakan firewall atau kebijakan keamanan. Gunakan langkah-langkah berikut untuk menghapus grup alamat:
Konsol
Di konsol Google Cloud, buka halaman Address groups.
Di menu pemilih project, pilih project Anda jika tersedia.
Centang kotak di samping grup alamat yang ingin Anda hapus. Pastikan grup alamat yang dipilih tidak dirujuk oleh kebijakan keamanan atau firewall apa pun.
Klik Delete, lalu klik Delete lagi untuk mengonfirmasi.
gcloud
Contoh berikut menggunakan
perintah gcloud network-security address-groups delete
untuk menghapus grup alamat yang disebut GROUP_NAME.
gcloud network-security address-groups delete GROUP_NAME \ --location global
Menggunakan grup alamat dengan kebijakan keamanan
Setelah membuat grup alamat dan menambahkan alamat IP ke dalamnya, Anda dapat menggunakannya dengan kebijakan keamanan backend Google Cloud Armor yang ada. Contoh berikut menunjukkan dua cara berbeda untuk menggunakan grup alamat.
Menolak sekelompok alamat IP
Untuk contoh ini, bayangkan Anda memiliki grup alamat IP bernama
BAD_IPS dengan 10.000 alamat IP yang Anda ketahui berbahaya. Anda
dapat menolak semua alamat IP ini menggunakan satu aturan deny
kebijakan keamanan
dengan kondisi kecocokan berikut:
evaluateAddressGroup('BAD_IPS', origin.ip)
Menggunakan kembali grup rentang alamat IP di beberapa kebijakan keamanan
Untuk contoh ini, bayangkan Anda memiliki daftar 10.000 alamat IP yang sama seperti
dalam contoh sebelumnya, tetapi beberapa alamat IP diketahui sebagai
crawler web. Anda ingin memblokir semua alamat IP ini dari beberapa layanan backend, tetapi mengizinkan crawler web mengakses layanan backend lainnya untuk meningkatkan pengoptimalan mesin telusur (SEO). Gunakan langkah-langkah berikut untuk menolak semua
akses alamat ke BACKEND_SERVICE_1, sekaligus mengizinkan rentang alamat IP
66.249.77.32/27
dan 66.249.77.64/27
untuk mengakses
BACKEND_SERVICE_2:
- Buat kebijakan keamanan backend yang disebut POLICY_1, dan lampirkan ke BACKEND_SERVICE_1.
Di POLICY_1, buat aturan
deny
dengan kondisi pencocokan berikut:evaluateAddressGroup('BAD_IPS', origin.ip)
Buat kebijakan keamanan backend kedua yang disebut POLICY_2, lalu lampirkan ke BACKEND_SERVICE_2.
Di POLICY_2, buat aturan
deny
dengan kondisi pencocokan berikut, yang mengecualikan66.249.77.32/27
dan66.249.77.64/27
:evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
Menggunakan grup alamat untuk dicocokkan dengan alamat IP pengguna
Untuk contoh ini, bayangkan Anda memiliki grup alamat IP bernama
BAD_IPS dengan 10.000 alamat IP yang Anda ketahui berbahaya. Selain itu, Anda menggunakan proxy upstream, yang menyertakan informasi tentang klien asal di header. Anda dapat menolak semua alamat IP ini menggunakan
satu aturan deny
kebijakan keamanan dengan kondisi cocok
berikut:
evaluateAddressGroup('BAD_IPS', origin.user_ip)
Untuk mengetahui informasi selengkapnya tentang alamat IP pengguna, lihat atribut bahasa aturan.