Bagian berikut membahas cara Google Cloud Armor berinteraksi dengan fitur dan produk Google Cloud lainnya.
Aturan firewall VPC dan Google Cloud Armor
Kebijakan keamanan Google Cloud Armor dan aturan firewall VPC memiliki fungsi yang berbeda:
- Kebijakan keamanan Google Cloud Armor memberikan keamanan edge dan bertindak berdasarkan traffic klien ke Front End Google (GFE).
- Aturan firewall VPC mengizinkan atau menolak traffic ke dan dari backend Anda. Anda harus membuat aturan firewall izinkan ingress, yang targetnya adalah VM backend yang di-load balance, dan sumbernya adalah rentang IP yang digunakan oleh Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Aturan ini memungkinkan GFE dan sistem health check berkomunikasi dengan VM backend Anda.
Misalnya, pertimbangkan skenario saat Anda ingin mengizinkan traffic hanya dari rentang CIDR 100.1.1.0/24 dan rentang CIDR 100.1.2.0/24 untuk mengakses Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Tujuan Anda adalah memastikan bahwa traffic tidak dapat langsung menjangkau instance load balanced backend. Dengan kata lain, hanya traffic eksternal yang di-proxy melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik dengan kebijakan keamanan terkait yang akan menjangkau instance.
Pada ilustrasi sebelumnya, Anda mencapai tujuan keamanan dengan mengonfigurasi deployment Google Cloud sebagai berikut:
- Buat dua grup instance, satu di region
us-west1
dan satu lagi di regioneurope-west1
. - Deploy instance aplikasi backend ke VM dalam grup instance.
- Buat Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik di Tingkat Premium. Konfigurasikan peta URL sederhana dan satu layanan backend yang backend-nya adalah dua grup instance yang Anda buat di langkah sebelumnya. Pastikan aturan penerusan load balancer menggunakan alamat IP eksternal
120.1.1.1
. - Konfigurasikan kebijakan keamanan Google Cloud Armor yang mengizinkan traffic dari 100.1.1.0/24 dan 100.1.2.0/24 serta menolak semua traffic lainnya.
- Kaitkan kebijakan ini dengan layanan backend load balancer. Untuk mengetahui petunjuknya, lihat Mengonfigurasi kebijakan keamanan. Load balancer HTTP(S) eksternal dengan peta URL yang lebih kompleks dapat mereferensikan beberapa layanan backend. Anda dapat mengaitkan kebijakan keamanan dengan satu atau beberapa layanan backend sesuai kebutuhan.
- Konfigurasikan aturan firewall izinkan traffic masuk untuk mengizinkan traffic dari Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Untuk mengetahui informasi selengkapnya, lihat Aturan firewall.
Google Cloud Armor dengan Load Balancer Aplikasi eksternal dan IAP
Identity-Aware Proxy (IAP) memverifikasi identitas pengguna, lalu menentukan apakah pengguna tersebut harus diizinkan untuk mengakses aplikasi. Untuk mengaktifkan IAP bagi Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, Anda harus mengaktifkannya di layanan backend load balancer. Demikian pula, kebijakan keamanan Google Cloud Armor di edge disertakan ke layanan backend dari Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Jika kebijakan keamanan Google Cloud Armor dan IAP diaktifkan untuk layanan backend, urutan evaluasinya bergantung pada jenis load balancer:
Untuk layanan backend Load Balancer Aplikasi eksternal global, evaluasi Google Cloud Armor akan dilakukan terlebih dahulu. Jika Google Cloud Armor memblokir permintaan, IAP tidak akan mengevaluasi permintaan tersebut. Jika Google Cloud Armor mengizinkan permintaan, IAP akan mengevaluasi permintaan tersebut. Permintaan akan diblokir jika IAP tidak mengautentikasi permintaan.
Untuk layanan backend Load Balancer Aplikasi klasik, evaluasi IAP akan dilakukan terlebih dahulu. Jika IAP mengautentikasi permintaan, Google Cloud Armor akan mengevaluasi permintaan tersebut. Jika permintaan gagal dalam autentikasi IAP, Google Cloud Armor tidak akan mengevaluasi permintaan tersebut.
Untuk mengetahui informasi selengkapnya tentang IAP dan konfigurasi terkait, lihat dokumentasi Identity-Aware Proxy.
Google Cloud Armor dengan deployment hybrid
Dalam deployment campuran, Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik memerlukan akses ke aplikasi atau sumber konten yang berjalan di luar Google Cloud, misalnya, di infrastruktur penyedia cloud lain. Anda dapat menggunakan Google Cloud Armor untuk melindungi deployment tersebut.
Dalam diagram berikut, load balancer memiliki dua layanan backend. Salah satunya memiliki grup instance sebagai backend-nya. Layanan backend lainnya memiliki NEG internet sebagai backend-nya, dan NEG internet dikaitkan dengan aplikasi yang berjalan di pusat data penyedia pihak ketiga.
Saat Anda melampirkan kebijakan keamanan Google Cloud Armor ke layanan backend yang memiliki NEG internet sebagai backend, Google Cloud Armor akan memeriksa setiap permintaan L7 yang masuk ke Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik yang ditujukan untuk layanan backend tersebut.
Perlindungan Google Cloud Armor untuk deployment campuran tunduk pada batasan yang sama dengan yang berlaku untuk NEG internet.
Google Cloud Armor dengan Ingress Google Kubernetes Engine (GKE)
Setelah mengonfigurasi kebijakan keamanan Google Cloud Armor, Anda dapat menggunakan Ingress Kubernetes untuk mengaktifkannya dengan GKE.
Anda dapat mereferensikan kebijakan keamanan dengan resource BackendConfig
dengan menambahkan nama kebijakan keamanan ke BackendConfig
. Manifes BackendConfig
berikut menentukan kebijakan keamanan bernama example-security-policy
:
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
namespace: cloud-armor-how-to
name: my-backendconfig
spec:
securityPolicy:
name: "example-security-policy"
Untuk informasi selengkapnya tentang fitur Ingress, lihat Mengonfigurasi fitur Ingress.
Google Cloud Armor dengan Cloud CDN
Untuk melindungi server origin CDN, Anda dapat menggunakan Google Cloud Armor dengan Cloud CDN. Google Cloud Armor melindungi server origin CDN Anda dari serangan aplikasi, memitigasi 10 risiko teratas OWASP, dan menerapkan kebijakan pemfilteran lapis 7. Ada dua jenis kebijakan keamanan yang memengaruhi cara kerja Google Cloud Armor dengan Cloud CDN: kebijakan keamanan edge dan kebijakan keamanan backend.
Kebijakan keamanan Edge
Anda dapat menggunakan kebijakan keamanan edge untuk layanan backend yang mendukung Cloud CDN dan bucket backend Cloud Storage di balik Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Gunakan kebijakan keamanan edge untuk memfilter permintaan sebelum konten ditayangkan dari cache.
Kebijakan keamanan backend
Jika kebijakan keamanan backend Google Cloud Armor diterapkan ke layanan backend dengan Cloud CDN diaktifkan, kebijakan tersebut hanya berlaku untuk permintaan yang dirutekan ke layanan backend. Permintaan ini mencakup permintaan konten dinamis dan cache tidak ditemukan—yaitu, permintaan yang tidak menemukan atau mengabaikan cache Cloud CDN.
Jika kebijakan keamanan edge dan kebijakan keamanan backend dilampirkan ke layanan backend yang sama, kebijakan keamanan backend hanya diterapkan untuk permintaan cache tidak ditemukan yang telah lulus kebijakan keamanan edge
Diagram berikut secara eksklusif menunjukkan cara kerja kebijakan keamanan backend dengan origin Cloud CDN, setelah permintaan diizinkan oleh kebijakan keamanan edge.
Untuk mengetahui informasi selengkapnya tentang Cloud CDN, lihat dokumentasi Cloud CDN.
Google Cloud Armor dengan Cloud Run, App Engine, atau fungsi Cloud Run
Anda dapat menggunakan kebijakan keamanan Google Cloud Armor dengan backend NEG serverless yang mengarah ke layanan Cloud Run, App Engine, atau fungsi Cloud Run.
Namun, saat menggunakan Google Cloud Armor dengan NEG serverless, Cloud Run, atau fungsi Cloud Run, Anda harus melakukan langkah-langkah khusus untuk memastikan bahwa semua akses ke endpoint serverless difilter melalui kebijakan keamanan Google Cloud Armor.
Pengguna yang memiliki URL default untuk aplikasi serverless dapat mengabaikan load balancer dan langsung membuka URL layanan. Tindakan ini akan mengabaikan kebijakan keamanan Google Cloud Armor. Untuk mengatasi hal ini, nonaktifkan URL default yang ditetapkan Google Cloud secara otomatis ke layanan Cloud Run atau fungsi Cloud Run (generasi ke-2). Untuk melindungi aplikasi App Engine, Anda dapat menggunakan kontrol masuk.
Jika menggunakan kontrol masuk untuk memastikan kontrol akses diterapkan ke semua traffic masuk, Anda dapat menggunakan internal-and-gclb
saat mengonfigurasi fungsi Cloud Run atau Cloud Run. Hal ini hanya mengizinkan
traffic internal dan traffic yang dikirim ke alamat IP eksternal yang ditampilkan oleh
Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Traffic yang
dikirim ke URL default ini dari luar jaringan pribadi Anda akan diblokir. Hal ini mencegah pengguna mengakali kontrol akses apa pun (seperti kebijakan keamanan Google Cloud Armor) yang disiapkan melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Untuk informasi selengkapnya tentang NEG tanpa server, lihat Ringkasan grup endpoint jaringan tanpa server dan Menyiapkan NEG tanpa server.
Langkah selanjutnya
- Mengonfigurasi kebijakan, aturan, dan ekspresi keamanan
- Mempelajari fitur di tingkat Cloud Armor Enterprise
- Memecahkan masalah