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: Langsung blokir alamat IP atau rentang yang berbahaya di Google Cloud edge dengan memperbarui aturan kebijakan keamanan selama insiden.
Pengelolaan kebijakan keamanan: Buat daftar, ambil, dan perbarui kebijakan dan 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 mengorelasikan perlindungan edge dengan pemberitahuan keamanan internal.
Sebelum memulai
Sebelum mengonfigurasi integrasi Cloud Armor di Google SecOps, selesaikan langkah-langkah prasyarat berikut:
Buat dan konfigurasi peran Identity and Access Management kustom.
Pilih dan konfigurasi salah satu metode autentikasi berikut:
Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token berjangka pendek dengan menggunakan peniruan akun layanan.
Opsi 2: Kunci JSON akun layanan: Metode ini mengandalkan file kunci rahasia statis yang berlaku lama.
Membuat dan mengonfigurasi peran IAM
Untuk memberikan izin yang diperlukan bagi integrasi, buat peran khusus di project Google Cloud Anda:
Di konsol Google Cloud , buka Roles.
Klik tambahkanBuat peran kustom.
Berikan Judul, Deskripsi, dan ID unik.
Tetapkan Role Launch Stage ke General Availability.
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 addBuat akun layanan.
Berikan nama dan deskripsi, lalu klik Buat dan lanjutkan.
Pada langkah Grant this service account access to project, tetapkan peran IAM kustom 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 Anda 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 Simpan > Uji. Pengujian gagal.
Klik tombol close_small di samping Uji dan temukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini.
Memberikan otorisasi identitas instance di Google Cloud
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target, lalu buka Izin > Beri Akses.
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 dapat digunakan untuk jangka waktu lama 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, lalu klik Add key > Create new key.
Pilih JSON, lalu 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. Konfigurasi parameter ini untuk autentikasi Workload Identity. Jika dikonfigurasi, |
User Service Account |
Opsional. Konten lengkap file JSON kunci akun layanan. Konfigurasi 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 mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di 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 tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Menambahkan Aturan ke Kebijakan Keamanan
Tambahkan aturan baru ke kebijakan keamanan di layanan Cloud Armor.
Entity
Tindakan ini tidak dijalankan pada 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 akan ditambahkan aturannya. Jika tidak ada nilai yang diberikan, aturan akan ditambahkan ke kebijakan keamanan tingkat global. |
Rule JSON |
Wajib Definisi JSON 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 dijalankan pada 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 REST Resource: 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 diberikan di halaman konfigurasi integrasi.
Entity
Tindakan ini tidak dijalankan pada 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 Tambahkan Aturan ke Kebijakan Keamanan.
Entity
Tindakan ini tidak dijalankan pada 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 kebijakan yang akan diperbarui. Untuk informasi selengkapnya tentang pembaruan kebijakan, lihat Metode: securityPolicies.patch . Anda tidak dapat memperbarui aturan dengan tindakan ini. Untuk menambahkan aturan ke kebijakan, gunakan tindakan Tambahkan Aturan ke Kebijakan Keamanan. |
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.