Mengintegrasikan Cloud Armor dengan produk Google lainnya

Bagian berikut membahas cara Cloud Armor berinteraksi dengan fitur dan produk Google Cloud lainnya.

Aturan firewall VPC dan Cloud Armor

Kebijakan keamanan Cloud Armor dan aturan firewall VPC memiliki fungsi yang berbeda:

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. Sasaran Anda adalah memblokir traffic agar tidak langsung menjangkau instance backend yang di-load balance. 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 dapat mencapai instance.

Menggunakan kebijakan keamanan Cloud Armor dengan firewall ingress
       untuk membatasi akses.
Menggunakan kebijakan keamanan Cloud Armor dengan firewall ingress untuk membatasi akses (klik untuk memperbesar).

Diagram sebelumnya menunjukkan konfigurasi deployment berikut:

  1. Buat dua grup instance, satu di region us-west1 dan satu lagi di region europe-west1.
  2. Deploy instance aplikasi backend ke VM dalam grup instance.
  3. Buat Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik di Premium Tier. Konfigurasi peta URL dan satu layanan backend yang backend-nya adalah dua grup instance yang Anda buat pada langkah sebelumnya. Aturan penerusan load balancer harus menggunakan alamat IP eksternal 120.1.1.1.
  4. Konfigurasi kebijakan keamanan Cloud Armor yang mengizinkan traffic dari 100.1.1.0/24 dan 100.1.2.0/24 serta menolak semua traffic lainnya.
  5. Kaitkan kebijakan ini dengan layanan backend load balancer. Untuk mengetahui petunjuknya, lihat Mengonfigurasi kebijakan keamanan Cloud Armor. 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.
  6. Konfigurasi aturan firewall yang mengizinkan traffic masuk untuk mengizinkan traffic dari Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Untuk mengetahui informasi selengkapnya, lihat Aturan firewall.

Cloud Armor dengan Load Balancer Aplikasi eksternal dan IAP

Identity-Aware Proxy (IAP) memverifikasi identitas pengguna, lalu menentukan apakah pengguna tersebut dapat mengakses aplikasi. Untuk mengaktifkan IAP bagi Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, gunakan layanan backend load balancer. Demikian pula, kebijakan keamanan Cloud Armor edge dilampirkan ke layanan backend Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.

Jika kebijakan keamanan Cloud Armor dan IAP diaktifkan untuk layanan backend, urutan evaluasinya bergantung pada jenis load balancer:

  • Untuk layanan backend Load Balancer Aplikasi eksternal global, evaluasi Cloud Armor terjadi terlebih dahulu. Jika Cloud Armor memblokir permintaan, IAP tidak mengevaluasi permintaan tersebut. Jika Cloud Armor mengizinkan permintaan, IAP akan mengevaluasi permintaan tersebut. Permintaan diblokir jika IAP tidak mengautentikasi permintaan.

  • Untuk layanan backend Load Balancer Aplikasi klasik, evaluasi IAP dilakukan terlebih dahulu. Jika IAP mengautentikasi permintaan, Cloud Armor akan mengevaluasi permintaan tersebut. Jika permintaan gagal autentikasi IAP, maka Cloud Armor tidak akan mengevaluasi permintaan tersebut.

Menggunakan daftar alamat IP yang diizinkan dan tidak diizinkan dengan IAP.
Menggunakan daftar tolak dan daftar izinkan alamat IP dengan IAP (klik untuk memperbesar).

Untuk mengetahui informasi selengkapnya tentang IAP dan konfigurasi terkait, lihat dokumentasi Identity-Aware Proxy.

Cloud Armor dengan deployment hybrid

Dalam deployment hybrid, Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik memerlukan akses ke aplikasi atau sumber konten yang berjalan di luar, misalnya, di infrastruktur penyedia cloud lain. Google CloudAnda dapat menggunakan 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.

Cloud Armor untuk deployment hybrid.
Cloud Armor untuk deployment hybrid (klik untuk memperbesar).

Saat Anda melampirkan kebijakan keamanan Cloud Armor ke layanan backend yang memiliki NEG internet sebagai backend, Cloud Armor akan memeriksa setiap permintaan Layer 7 yang tiba di Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik yang ditujukan untuk layanan backend tersebut.

Perlindungan Cloud Armor untuk deployment hybrid tunduk pada batasan yang sama dengan yang berlaku untuk NEG internet.

Cloud Armor dengan Google Kubernetes Engine (GKE)

Bagian berikut menjelaskan cara kerja Cloud Armor dengan GKE.

Ingress GKE

Setelah mengonfigurasi kebijakan keamanan 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 mengetahui informasi selengkapnya tentang fitur Ingress, lihat Konfigurasi Ingress.

GKE Gateway

Setelah mengonfigurasi kebijakan keamanan Cloud Armor, Anda dapat menggunakan Kubernetes Gateway API untuk mengaktifkannya dengan GKE.

Anda dapat mereferensikan kebijakan keamanan dengan menambahkan nama kebijakan keamanan ke resource kebijakan GCPBackendPolicy. Manifes resource kebijakan GCPBackendPolicy berikut menentukan kebijakan keamanan backend bernama example-security-policy:

Layanan

apiVersion: networking.gke.io/v1
kind: GCPBackendPolicy
metadata:
  name: my-backend-policy
  namespace: lb-service-namespace
spec:
  default:
    securityPolicy: example-security-policy
  targetRef:
    group: ""
    kind: Service
    name: lb-service

Layanan Multi-cluster

apiVersion: networking.gke.io/v1
kind: GCPBackendPolicy
metadata:
  name: my-backend-policy
  namespace: lb-service-namespace
spec:
  default:
    securityPolicy: example-security-policy
  targetRef:
    group: net.gke.io
    kind: ServiceImport
    name: lb-service

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi kebijakan keamanan backend Cloud Armor, lihat Mengonfigurasi kebijakan keamanan backend Cloud Armor untuk mengamankan layanan backend Anda.

Cloud Armor dengan Cloud CDN

Untuk melindungi server asal CDN, Anda dapat menggunakan Cloud Armor dengan Cloud CDN. Cloud Armor melindungi server asal CDN Anda dari serangan aplikasi, memitigasi 10 risiko teratas OWASP, dan menerapkan kebijakan pemfilteran 7 lapis. Ada dua jenis kebijakan keamanan yang memengaruhi cara Cloud Armor berinteraksi 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 belakang 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 Cloud Armor diterapkan ke layanan backend dengan Cloud CDN yang 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 ditemukan atau melewati 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 melewati kebijakan keamanan edge

Diagram berikut menunjukkan secara eksklusif cara kerja kebijakan keamanan backend dengan asal Cloud CDN, setelah permintaan diizinkan oleh kebijakan keamanan edge.

Menggunakan kebijakan keamanan backend Cloud Armor dengan Cloud CDN.
Menggunakan kebijakan keamanan backend Cloud Armor dengan Cloud CDN (klik untuk memperbesar).

Untuk mengetahui informasi selengkapnya tentang Cloud CDN, lihat dokumentasi Cloud CDN.

Cloud Armor dengan Cloud Run, App Engine, atau Cloud Run functions

Anda dapat menggunakan kebijakan keamanan Cloud Armor dengan backend NEG serverless yang mengarah ke layanan Cloud Run, App Engine, atau Cloud Run Functions.

Namun, saat Anda menggunakan Cloud Armor dengan NEG serverless, Cloud Run, atau fungsi Cloud Run, semua akses ke endpoint serverless harus difilter melalui kebijakan keamanan Cloud Armor.

Pengguna yang memiliki URL default untuk aplikasi serverless dapat mengabaikan load balancer dan langsung membuka URL layanan. Hal ini mengabaikan kebijakan keamanan Cloud Armor. Untuk mengatasi hal ini, nonaktifkan URL default yang Google Cloud otomatis ditetapkan ke layanan Cloud Run atau fungsi Cloud Run (generasi ke-2). Untuk melindungi aplikasi App Engine, Anda dapat menggunakan kontrol ingress.

Jika Anda menggunakan kontrol ingress untuk menerapkan kontrol akses ke semua traffic masuk, Anda dapat menggunakan setelan ingress internal-and-gclb saat mengonfigurasi fungsi Cloud Run atau Cloud Run. Setelan ingress internal-and-gclb hanya mengizinkan traffic internal dan traffic yang dikirim ke alamat IP eksternal yang diekspos 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 Cloud Armor) yang disiapkan melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.

Untuk mengetahui informasi selengkapnya tentang NEG tanpa server, lihat Ringkasan grup endpoint jaringan tanpa server dan Menyiapkan NEG tanpa server.

Cloud Armor dengan Cloud Service Mesh

Anda dapat mengonfigurasi kebijakan keamanan layanan internal untuk mesh layanan guna menerapkan pembatasan frekuensi sisi server global per klien, sehingga membantu Anda membagikan kapasitas layanan yang tersedia secara adil dan mengurangi risiko klien yang berperilaku buruk atau berbahaya membebani layanan Anda secara berlebihan. Anda melampirkan kebijakan keamanan ke kebijakan endpoint Cloud Service Mesh untuk menerapkan pembatasan frekuensi pada traffic masuk di sisi server. Namun, Anda tidak dapat mengonfigurasi kebijakan keamanan Google Cloud Armor jika menggunakan perutean traffic TCP. Untuk mengetahui informasi selengkapnya tentang cara menggunakan Cloud Armor dengan Cloud Service Mesh, lihat Mengonfigurasi pembatasan kecepatan dengan Cloud Armor.

Langkah berikutnya