Mengintegrasikan Security Command Center dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Security Command Center dengan Google Security Operations.
Sebelum memulai
Sebelum mengonfigurasi integrasi Security Command Center di Google SecOps, selesaikan langkah-langkah prasyarat berikut:
Buat peran Identity and Access Management kustom dengan izin yang diperlukan.
Pilih dan konfigurasi salah satu metode autentikasi berikut:
Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token akses sementara yang berlaku singkat menggunakan peniruan identitas akun layanan, sehingga tidak perlu menyimpan rahasia apa pun.
Opsi 2: Kunci JSON akun layanan: Metode ini mengandalkan file kunci rahasia statis yang berlaku lama. Gunakan metode ini hanya jika Workload Identity tidak tersedia di lingkungan Anda.
Membuat dan mengonfigurasi peran IAM
Untuk membuat dan mengonfigurasi peran kustom untuk integrasi, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM & Admin > Roles.
Klik Buat peran untuk membuat peran khusus dengan izin yang diperlukan untuk integrasi.
Masukkan Judul, Deskripsi, dan ID unik.
Tetapkan Tahap Peluncuran Peran ke
General Availability.Tambahkan izin berikut ke peran yang dibuat:
securitycenter.assets.listsecuritycenter.findings.listsecuritycenter.findings.setMutesecuritycenter.findings.setStateserviceusage.services.use(diperlukan untuk penggunaan API dan atribusi kuota)
Klik Create.
Membuat akun layanan
Untuk membuat akun layanan bagi integrasi, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Klik Create service account.
Berikan nama dan deskripsi, lalu klik Buat dan lanjutkan.
Pada langkah Grant this service account access to project, tambahkan peran kustom yang Anda buat.
Klik Selesai untuk menyelesaikan pembuatan akun. Alamat email akun layanan ini digunakan selama proses konfigurasi autentikasi.
Mengonfigurasi kredensial Workload Identity
Pilih metode ini atau metode kunci JSON untuk mengautentikasi integrasi. Workload Identity adalah pendekatan yang direkomendasikan dan lebih aman karena menggunakan token akses sementara berjangka pendek menggunakan peniruan identitas akun layanan, sehingga tidak perlu menyimpan atau merotasi secret berjangka panjang.
Mengidentifikasi identitas instance yang unik
Untuk menggunakan Workload Identity, Anda harus memberikan izin kepada instance Google SecOps Anda untuk meniru identitas akun layanan Anda. Ini adalah langkah terakhir yang memungkinkan instance mengakses resource Google Cloud secara aman.
Di Google SecOps, buka Content Hub > Response Integrations.
Pilih integrasi yang Anda konfigurasi, lalu masukkan email akun layanan Anda di kolom
Workload Identity Email.Masukkan project ID yang valid di kolom
Quota Project ID.Klik Simpan > Uji. Pengujian diperkirakan akan gagal.
Klik close_small di sebelah kanan Test dan telusuri pesan error untuk menemukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini dan tempelkan ke
Workload Identity Emailselama konfigurasi integrasi.
Memberikan otorisasi identitas instance di Google Cloud
Setelah mengambil identitas unik untuk instance Google SecOps, Anda harus memberi otorisasi identitas tersebut untuk mengakses resource Google Cloud Anda. Langkah ini mengaktifkan peniruan akun layanan, sehingga platform dapat membuat token berjangka pendek dan bertindak atas nama Anda tanpa memerlukan kunci statis.
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target, lalu buka Izin > Beri Akses.
Tempel alamat email unik ke kolom New principals.
Tetapkan peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
Memberikan akses project kuota
Saat melakukan autentikasi dengan Workload Identity, Anda harus menentukan
Quota Project ID di setelan integrasi untuk melacak penggunaan dan penagihan API.
Untuk mengizinkan hal ini, Anda harus memberikan peran berikut kepada akun layanan Anda di project kuota yang ditentukan:
Di konsol Google Cloud , buka IAM & Admin > IAM, lalu pilih project Anda.
Temukan akun layanan Anda dalam daftar principal, lalu klik edit(Edit principal) untuk akun tersebut.
Klik Add another role, lalu pilih Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer).Klik Simpan.
Mengonfigurasi kunci JSON
Pilih metode ini atau metode Workload Identity untuk mengautentikasi integrasi. Gunakan metode kunci JSON hanya jika Workload Identity tidak tersedia di lingkungan Anda, karena Workload Identity adalah pendekatan yang direkomendasikan dan lebih aman. Metode ini mengandalkan file kunci rahasia statis yang berumur panjang yang memerlukan pengelolaan dan rotasi manual.
Gunakan prosedur berikut untuk membuat file kunci JSON yang diperlukan untuk mengautentikasi integrasi:
Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih akun layanan yang Anda buat.
Buka tab Kunci.
Klik Tambahkan kunci > Buat kunci baru.
Pilih
JSONsebagai jenis kunci, lalu klik Buat. File JSON akan didownload ke komputer Anda.Salin seluruh konten file ini dan tempelkan ke
User's service accountselama konfigurasi integrasi.
Parameter integrasi
Integrasi Security Command Center memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
API Root |
Wajib. Root API instance Security Command Center. |
Organization ID |
Opsional. ID organisasi Google Cloud yang akan digunakan untuk mencakup kueri integrasi Security Command Center. |
Project ID |
Opsional. Google Cloud Project ID yang digunakan untuk mencakup kueri instance Security Command Center. |
Quota Project ID |
Opsional. Google Cloud Project ID yang digunakan untuk tujuan penagihan dan penggunaan API. Parameter ini wajib diisi jika Anda melakukan autentikasi menggunakan Workload Identity. |
User's Service Account |
Opsional. Konten lengkap file JSON kunci akun layanan. Konfigurasi parameter ini hanya jika Anda melakukan autentikasi menggunakan kunci JSON. |
Workload Identity Email |
Opsional. Alamat email klien akun layanan Anda. Konfigurasi parameter ini hanya jika Anda melakukan autentikasi menggunakan Workload Identity. Jika mengonfigurasi parameter ini, Anda juga harus mengonfigurasi
|
Verify SSL |
Wajib. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Security Command Center. 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.
Mendapatkan Detail Temuan
Gunakan tindakan Get Finding Details untuk mengambil detail tentang temuan di Security Command Center.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan Get Finding Details memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Finding Name |
Wajib. Nama lengkap resource temuan untuk menampilkan detail, dalam format
Parameter ini menerima beberapa nilai sebagai daftar yang dipisahkan koma. |
Output tindakan
Tindakan Get Finding Details memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Tabel repositori kasus
Tindakan Get Finding Details dapat menampilkan tabel berikut:
Judul tabel: Detail Temuan
Kolom tabel:
- Kategori
- Status
- Keparahan
- Jenis
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Get Finding Details:
{
{
"finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "Discovery: Service Account Self-Investigation",
"sourceProperties": {
"sourceId": {
"projectNumber": "PROJECT_ID",
"customerOrganizationNumber": "ORGANIZATION_ID"
},
"detectionCategory": {
"technique": "discovery",
"indicator": "audit_log",
"ruleName": "iam_anomalous_behavior",
"subRuleName": "service_account_gets_own_iam_policy"
},
"detectionPriority": "LOW",
"affectedResources": [
{
"gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
}
],
"evidence": [
{
"sourceLogId": {
"projectId": "PROJECT_ID",
"resourceContainer": "projects/PROJECT_ID",
"timestamp": {
"seconds": "1622678907",
"nanos": 448368000
},
"insertId": "ID"
}
}
],
"properties": {
"serviceAccountGetsOwnIamPolicy": {
"principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
"projectId": "PROJECT_ID",
"callerIp": "192.0.2.41",
"callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
"rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
}
},
"contextUris": {
"mitreUri": {
"displayName": "Permission Groups Discovery: Cloud Groups",
"url": "https://attack.mitre.org/techniques/ID/003/"
},
"cloudLoggingQueryUri": [
{
"displayName": "Cloud Logging Query Link",
"url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
}
]
}
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2021-06-03T00:08:27.448Z",
"createTime": "2021-06-03T00:08:31.074Z",
"severity": "LOW",
"canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
"mute": "UNDEFINED",
"findingClass": "THREAT",
"mitreAttack": {
"primaryTactic": "DISCOVERY",
"primaryTechniques": [
"PERMISSION_GROUPS_DISCOVERY",
"CLOUD_GROUPS"
]
}
},
"resource": {
"name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectDisplayName": "PROJECT_ID",
"parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
"parentDisplayName": "example.net",
"type": "google.cloud.resourcemanager.Project",
"displayName": "PROJECT_ID"
}
}
}
Pesan output
Tindakan Get Finding Details dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Get Finding Details". Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Get Finding Details:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Mencantumkan Kerentanan Aset
Gunakan tindakan List Asset Vulnerabilities untuk mencantumkan kerentanan yang terkait dengan entitas di Security Command Center.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan List Asset Vulnerabilities memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Asset Resource Names |
Wajib. Daftar ID unik (nama resource lengkap) yang dipisahkan koma untuk aset yang datanya akan diambil. |
Timeframe |
Opsional. Rentang waktu untuk menelusuri kerentanan atau kesalahan konfigurasi. Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Record Types |
Opsional. Jenis data yang akan ditampilkan. Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Output Type |
Opsional. Jenis output yang akan ditampilkan dalam hasil JSON untuk setiap aset. Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Max Records To Return |
Opsional. Jumlah maksimum data yang akan ditampilkan untuk setiap jenis data. Nilai defaultnya adalah |
Output tindakan
Tindakan List Asset Vulnerabilities memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Tabel repositori kasus
Tindakan List Asset Vulnerabilities dapat menampilkan tabel berikut:
Judul tabel: ASSET_ID Kerentanan
Kolom tabel:
- Kategori
- Deskripsi
- Keparahan
- Waktu Peristiwa
- CVE
Judul tabel: ASSET_ID Kesalahan Konfigurasi
Kolom tabel:
- Kategori
- Deskripsi
- Keparahan
- Waktu Peristiwa
- Rekomendasi
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan List Asset Vulnerabilities:
{
."siemplify_asset_display_name":[1] [2] ""
"vulnerabilities": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"cve_id": "CVE_ID"
"event_time": "EVENT_TIME"
"related_references": "RELATED_REFERENCES"
"severity": "SEVERITY"
}
]
},
"misconfigurations": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"recommendation": "RECOMMENDATION"
"event_time": "EVENT_TIME"
"severity": "SEVERITY"
}
]
},
}
Pesan output
Tindakan List Asset Vulnerabilities dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "List Asset Vulnerabilities". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan List Asset Vulnerabilities:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke Security Command Center.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tidak ada.
Output tindakan
Tindakan Ping memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Pesan output
Tindakan Ping dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully connected to the Security Command Center server
with the provided connection parameters! |
Tindakan berhasil. |
Failed to connect to the Security Command Center server! Error
is ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Memperbarui Temuan
Gunakan tindakan Perbarui Temuan untuk memperbarui temuan yang ada di Security Command Center.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan Update Finding memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Finding Name |
Wajib. Nama lengkap resource temuan untuk menampilkan detail, dalam format
Parameter ini menerima beberapa nilai sebagai daftar yang dipisahkan koma. |
Mute Status |
Opsional. Status nonaktif temuan. Kemungkinan nilainya adalah sebagai berikut:
|
State Status |
Opsional. Status temuan. Kemungkinan nilainya adalah sebagai berikut:
|
Output tindakan
Tindakan Update Finding memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Pesan output
Tindakan Update Finding dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Update Finding". Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Perbarui Temuan:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Konektor
Untuk mempelajari lebih lanjut cara mengonfigurasi konektor di Google SecOps, lihat Menyerap data Anda (konektor).
Security Command Center - Findings Connector
Gunakan Security Command Center - Findings Connector untuk mengambil informasi tentang temuan dari Security Command Center.
Konektor ini mendukung pemfilteran temuan menurut kategori menggunakan daftar dinamis.
Input konektor
Security Command Center - Findings Connector memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Product Field Name |
Wajib. Nama kolom tempat nama produk disimpan. Nama produk terutama memengaruhi pemetaan. Untuk menyederhanakan dan meningkatkan proses pemetaan untuk konektor, nilai default di-resolve ke nilai penggantian yang dirujuk dari kode. Input yang tidak valid untuk parameter ini akan diselesaikan ke nilai penggantian secara default. Nilai defaultnya adalah |
Event Field Name |
Wajib. Nama kolom yang menentukan nama peristiwa (subjenis). |
Environment Field Name |
Opsional. Nama kolom tempat nama lingkungan disimpan. Jika kolom environment tidak ada, konektor akan menggunakan nilai default. Nilai defaultnya adalah |
Environment Regex Pattern |
Opsional. Pola ekspresi reguler untuk dijalankan pada nilai yang ditemukan di kolom
Gunakan nilai default Jika pola ekspresi reguler adalah null atau kosong, atau nilai lingkungan adalah null, hasil lingkungan akhir adalah lingkungan default. |
API Root |
Wajib. Root API instance Security Command Center. |
Organization ID |
Opsional. ID organisasi yang akan digunakan Google Cloud |
Project ID |
Opsional. Project ID Google Cloud yang akan digunakan. |
Quota Project ID |
Opsional. Project ID Google Cloud yang akan digunakan. |
Location ID |
Opsional. ID lokasi yang akan digunakan. Nilai defaultnya adalah |
User's Service Account |
Wajib. Konten lengkap file JSON kunci akun layanan. Gunakan parameter ini hanya jika Anda melakukan autentikasi menggunakan kunci JSON. |
Workload Identity Email |
Opsional. Alamat email klien akun layanan Anda. Gunakan parameter ini hanya jika Anda melakukan autentikasi menggunakan Workload Identity. Jika mengonfigurasi parameter ini, Anda juga harus mengonfigurasi
|
Finding Class Filter |
Opsional. Daftar jenis temuan keamanan yang dipisahkan koma untuk disertakan saat memasukkan data dari sumber. Kemungkinan nilainya adalah sebagai berikut:
Jika tidak ada nilai yang diberikan, temuan dari semua class akan diproses. |
Lowest Severity To Fetch |
Opsional. Tingkat keparahan terendah dari pemberitahuan yang akan diambil. Jika Anda tidak mengonfigurasi parameter ini, konektor akan menyerap pemberitahuan dengan semua tingkat keparahan. Kemungkinan nilainya adalah sebagai berikut:
Jika temuan dengan tingkat keparahan yang tidak ditentukan diberi level
Jika tidak ada nilai yang diberikan, semua jenis tingkat keparahan akan diproses. |
Fallback Severity |
Opsional. Tingkat keparahan yang akan ditetapkan ke temuan keamanan yang di-ingest tanpa peringkat keparahan yang ditentukan atau dapat dikenali dari sumber. Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Max Hours Backwards |
Opsional. Jumlah jam sebelum sekarang untuk mengambil temuan. Parameter ini dapat berlaku untuk iterasi konektor awal setelah Anda mengaktifkan konektor untuk pertama kalinya, atau nilai penggantian untuk stempel waktu konektor yang telah berakhir. Nilai maksimum adalah Nilai defaultnya adalah |
Max Findings To Fetch |
Opsional. Jumlah temuan yang akan diproses dalam setiap iterasi konektor. Nilai maksimum adalah Nilai defaultnya adalah |
Use dynamic list as a blacklist |
Wajib. Jika dipilih, konektor akan menggunakan daftar dinamis sebagai daftar blokir. Dinonaktifkan secara default. |
Verify SSL |
Wajib. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Security Command Center. Dinonaktifkan secara default. |
Proxy Server Address |
Opsional. Alamat server proxy yang akan digunakan. |
Proxy Username |
Opsional. Nama pengguna proxy untuk melakukan autentikasi. |
Proxy Password |
Opsional. Sandi proxy untuk mengautentikasi. |
PythonProcessTime |
Wajib. Batas waktu, dalam detik, untuk proses Python yang menjalankan skrip saat ini. Nilai defaultnya adalah |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.