Mengintegrasikan Cloud Armor dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Google Cloud Armor dengan Google Security Operations.
Kasus penggunaan
Integrasi Cloud Armor mendukung kasus penggunaan berikut:
Pemblokiran ancaman otomatis: Blokir alamat atau rentang IP berbahaya secara instan di Google Cloud edge dengan memperbarui aturan kebijakan keamanan selama insiden.
Pengelolaan kebijakan keamanan: Buat daftar, ambil, dan perbarui kebijakan serta aturan keamanan di seluruh lingkungan Anda untuk memastikan perlindungan WAF yang konsisten.
Mitigasi DDoS dinamis: Merespons serangan volumetrik atau berbasis protokol dengan menyesuaikan setelan kebijakan keamanan secara terprogram.
Audit forensik: Ambil detail konfigurasi kebijakan keamanan yang ada untuk menghubungkan perlindungan edge dengan notifikasi keamanan internal.
Sebelum memulai
Sebelum mengonfigurasi integrasi Cloud Armor di Google SecOps, selesaikan langkah-langkah prasyarat berikut:
Buat dan konfigurasi peran pengelolaan akses dan identitas pelanggan (CIAM) kustom.
Pilih dan konfigurasi salah satu metode autentikasi berikut:
Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token berumur singkat dengan menggunakan peniruan akun layanan.
Opsi 2: Kunci JSON akun layanan: Metode ini mengandalkan file kunci rahasia statis yang berumur panjang.
Membuat dan mengonfigurasi peran IAM
Untuk memberikan izin yang diperlukan kepada integrasi, buat peran khusus di project Google Cloud Anda:
Di konsol Google Cloud , buka Roles.
Klik addCreate custom role.
Berikan Title, Description, dan ID yang unik.
Tetapkan Role Launch Stage ke Ketersediaan Umum.
Tambahkan izin berikut ke peran:
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
Klik Create.
Membuat akun layanan
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Klik addCreate service account.
Berikan nama dan deskripsi, lalu klik Buat dan lanjutkan.
Pada langkah Grant this service account access to project, tetapkan peran IAM khusus yang Anda buat.
Klik Done. Catat Alamat email akun layanan.
Mengonfigurasi kredensial Workload Identity
Workload Identity adalah pendekatan yang direkomendasikan karena menggunakan token berumur pendek dengan menggunakan peniruan akun layanan.
Mengidentifikasi identitas instance yang unik
Untuk membuat koneksi, Anda harus memberikan izin kepada instance Google SecOps untuk meniru identitas akun layanan Anda.
Di Google SecOps, buka Content Hub > Response Integrations.
Pilih integrasi Cloud Armor dan masukkan email akun layanan Anda di
Workload Identity Email.Klik Save > Test. Pengujian gagal.
Klik tombol close_small di samping Test dan temukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini.
Mengizinkan identitas instance di Google Cloud
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target dan buka Permissions > Grant Access.
Tempelkan alamat email unik ke kolom New principals dan tetapkan peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
Mengonfigurasi kunci JSON
File kunci rahasia statis yang berumur panjang memerlukan rotasi manual. Gunakan metode ini hanya jika autentikasi Workload Identity tidak tersedia.
Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih akun layanan Anda.
Buka tab Keys dan klik Add key > Create new key.
Pilih JSON dan klik Create. File kunci akan didownload ke komputer Anda.
Parameter integrasi
Integrasi Cloud Armor memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
API Root |
Wajib. Root API layanan Cloud Armor. Nilai defaultnya adalah
|
Project ID |
Opsional. Project ID yang akan ditargetkan untuk Cloud Armor. Jika tidak ada nilai yang diberikan, integrasi akan mengambil ID dari kredensial akun layanan. |
Workload Identity Email |
Opsional. Alamat email klien akun layanan Anda. Konfigurasikan parameter ini untuk autentikasi Workload Identity. Jika dikonfigurasi, |
User Service Account |
Opsional. Konten lengkap file JSON kunci akun layanan. Konfigurasikan parameter ini untuk autentikasi kunci akun layanan. Jika dikonfigurasi, integrasi akan mengabaikan
|
Verify SSL |
Wajib. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Google Cloud . Diaktifkan secara default. |
Untuk mendapatkan petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan pada tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan yang tertunda dari meja kerja Anda dan Menjalankan tindakan manual dalam kasus Anda.
Menambahkan Aturan ke Kebijakan Keamanan
Tambahkan aturan baru ke kebijakan keamanan di layanan Cloud Armor.
Entity
Tindakan ini tidak berjalan di entity.
Input tindakan
Untuk mengonfigurasi tindakan, gunakan parameter berikut:
| Parameter | |
|---|---|
Policy Name |
Wajib Nama kebijakan keamanan untuk menambahkan aturan baru. |
Region |
Opsional Region untuk kebijakan tempat aturan akan ditambahkan. Jika tidak ada nilai yang diberikan, aturan akan ditambahkan ke kebijakan keamanan tingkat global. |
Rule JSON |
Wajib Definisi JSON dari aturan yang akan ditambahkan. Untuk mengetahui informasi selengkapnya tentang cara menambahkan aturan ke kebijakan, lihat Metode: securityPolicies.addRule. |
Output tindakan
| Jenis output tindakan | |
|---|---|
| Lampiran repositori kasus | T/A |
| Link repositori kasus | T/A |
| Tabel repositori kasus | T/A |
| Tabel pengayaan | T/A |
| Hasil JSON | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
| Nama hasil skrip | Nilai |
|---|---|
| is_success | Benar atau Salah |
Hasil JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Repositori kasus
Tindakan ini memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully added a new rule to the security policy! |
Tindakan berhasil. |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, kredensial, nama region, konten file JSON, atau nama kebijakan. |
Membuat Kebijakan Keamanan
Buat kebijakan keamanan di layanan Cloud Armor.
Entity
Tindakan ini tidak berjalan di entity.
Input tindakan
Untuk mengonfigurasi tindakan, gunakan parameter berikut:
| Parameter | |
|---|---|
Region |
Opsional Region tempat kebijakan akan dibuat. Jika tidak ada nilai yang diberikan, kebijakan keamanan tingkat global akan dibuat. |
Policy JSON |
Wajib Definisi JSON dari kebijakan yang akan dibuat. Untuk mengetahui informasi selengkapnya tentang kebijakan, lihat Resource REST: securityPolicies. |
Output tindakan
| Jenis output tindakan | |
|---|---|
| Lampiran repositori kasus | T/A |
| Link repositori kasus | T/A |
| Tabel repositori kasus | T/A |
| Tabel pengayaan | T/A |
| Hasil JSON | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
| Nama hasil skrip | Nilai |
|---|---|
| is_success | Benar atau Salah |
Hasil JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Repositori kasus
Tindakan ini memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully created a new security policy! |
Tindakan berhasil. |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, kredensial, nama region, atau konten file JSON. |
Ping
Uji konektivitas ke layanan Cloud Armor dengan parameter yang disediakan di halaman konfigurasi integrasi.
Entity
Tindakan ini tidak berjalan di entity.
Input tindakan
T/A
Output tindakan
| Jenis output tindakan | |
|---|---|
| Lampiran repositori kasus | T/A |
| Link repositori kasus | T/A |
| Tabel repositori kasus | T/A |
| Tabel pengayaan | T/A |
| Hasil JSON | T/A |
| Hasil skrip | Tersedia |
Hasil skrip
| Nama hasil skrip | Nilai |
|---|---|
| is_success | Benar atau Salah |
Repositori kasus
Tindakan ini memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
Tindakan berhasil. |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Memperbarui Kebijakan Keamanan
Perbarui kebijakan keamanan yang ada di layanan Cloud Armor.
Tindakan ini tidak dapat memperbarui aturan dalam kebijakan. Untuk menambahkan aturan ke kebijakan terkait, gunakan tindakan Add a Rule to a Security Policy.
Entity
Tindakan ini tidak berjalan di entity.
Input tindakan
Untuk mengonfigurasi tindakan, gunakan parameter berikut:
| Parameter | |
|---|---|
Policy Name |
Wajib Nama kebijakan keamanan untuk menambahkan aturan baru. |
Region |
Opsional Region untuk kebijakan yang diperbarui. Jika tidak ada nilai yang diberikan, kebijakan keamanan tingkat global akan dibuat. |
Rule JSON |
Wajib Definisi JSON dari kebijakan yang akan diperbarui. Untuk mengetahui informasi selengkapnya tentang update kebijakan, lihat Metode: securityPolicies.patch . Anda tidak dapat memperbarui aturan dengan tindakan ini. Untuk menambahkan aturan ke kebijakan, gunakan tindakan Add a Rule to a Security Policy. |
Output tindakan
| Jenis output tindakan | |
|---|---|
| Lampiran repositori kasus | T/A |
| Link repositori kasus | T/A |
| Tabel repositori kasus | T/A |
| Tabel pengayaan | T/A |
| Hasil JSON | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
| Nama hasil skrip | Nilai |
|---|---|
| is_success | Benar atau Salah |
Hasil JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Repositori kasus
Tindakan ini memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
Tindakan berhasil. |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.