Google Cloud Storage
Dokumen ini memberikan panduan tentang cara mengintegrasikan Cloud Storage dengan modul SOAR Google Security Operations.
Integrasi ini menggunakan satu atau beberapa komponen open source. Anda dapat mendownload salinan kode sumber integrasi ini dari bucket Cloud Storage.
Kasus penggunaan
Di platform Google SecOps SOAR, integrasi Google Cloud Storage menyelesaikan kasus penggunaan berikut:
Penyimpanan bukti insiden: playbook dapat otomatis mengumpulkan dan menyimpan bukti terkait insiden seperti log dan sampel malware di bucket Cloud Storage untuk menyediakan repositori yang kebal modifikasi guna mempertahankan bukti.
Berbagi threat intelligence: tim keamanan Anda dapat menggunakan Cloud Storage untuk membagikan feed threat intelligence seperti daftar alamat IP dan domain berbahaya dengan aman kepada tim atau organisasi lain. Berbagi feed memungkinkan pertahanan ancaman kolaboratif dan waktu respons yang lebih cepat.
Integrasi sandbox analisis malware: playbook dapat otomatis mengirimkan file mencurigakan dari insiden ke sandbox analisis malware berbasis cloud. Anda dapat menyimpan hasil analisis di Cloud Storage untuk ditinjau dan ditindaklanjuti lebih lanjut guna memberikan analisis malware yang efisien dan skalabel.
Pencadangan konfigurasi keamanan: gunakan kapabilitas SOAR Google SecOps untuk mengotomatiskan pencadangan rutin konfigurasi keamanan penting seperti aturan firewall dan signature sistem deteksi penyusupan ke Cloud Storage. Mengotomatiskan pencadangan memberikan kelangsungan bisnis dan pemulihan yang lebih cepat jika terjadi perubahan yang tidak disengaja atau berbahaya.
Penyimpanan artefak kampanye phishing: menggunakan kemampuan SOAR Google SecOps untuk menyimpan email phishing, lampiran, dan artefak lainnya di Cloud Storage saat menyelidiki kampanye phishing. Penyimpanan artefak memungkinkan analisis terpusat dan preservasi bukti untuk potensi tindakan hukum.
Sebelum memulai
Sebelum mengonfigurasi integrasi Cloud Storage di Google SecOps, selesaikan langkah-langkah prasyarat berikut:
Membuat akun layanan
Untuk membuat akun layanan, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka Credentials. Buka Kredensial
Dari menu Create credentials, pilih Service account.
Masukkan nama di kolom Service account name, lalu klik Create and continue. y
Lewati layar penetapan peran dan akses prinsipal opsional dengan mengklik Lanjutkan > Selesai.
Memberikan peran ke akun layanan Anda
Agar integrasi dapat mengakses dan mengelola bucket dan objek penyimpanan Anda, berikan peran yang diperlukan ke akun layanan Anda:
Di konsol Google Cloud , buka IAM & Admin > IAM.
Temukan akun layanan Anda, lalu klik editEdit principal.
Klik Tambahkan peran lain, lalu pilih opsi berikut:
Admin Penyimpanan: Memberikan kontrol penuh atas bucket dan objek.
Service Usage Consumer: Hanya diperlukan jika Anda menggunakan
Quota Project IDuntuk tujuan penagihan.
Klik Simpan.
Memilih dan mengonfigurasi metode autentikasi
Workload Identity adalah metode autentikasi yang direkomendasikan karena menggunakan token berumur pendek, bukan secret statis.
Kunci JSON: Mengandalkan file kunci rahasia statis.
Workload Identity (direkomendasikan): Menggunakan token akses sementara.
Mengonfigurasi kunci JSON
Gunakan prosedur berikut untuk membuat file kunci akun layanan dalam format JSON:
Pilih akun layanan Anda di konsol Google Cloud , lalu buka Kunci.
Klik Add key > Create new key.
Pilih JSON, lalu klik Create. File kunci akan didownload ke komputer Anda.
Mengonfigurasi kredensial Workload Identity
Dengan Workload Identity, Google SecOps dapat meniru identitas akun layanan Anda dengan aman. Selesaikan langkah-langkah berikut untuk mengonfigurasi Workload Identity Anda.
Mengonfigurasi instance integrasi
Untuk memicu proses penemuan identitas, Anda harus mengonfigurasi parameter koneksi dasar terlebih dahulu di Google SecOps:
Buka Content Hub > Integrasi Respons.
Telusuri dan pilih integrasi Google Cloud Storage.
Konfigurasi parameter wajib berikut:
Root API: Masukkan URL dasar (seperti
https://storage.googleapis.com).Workload Identity Email: Masukkan alamat email akun layanan yang Anda buat sebelumnya.
Verify SSL: Pastikan opsi ini diaktifkan.
Biarkan kolom Akun Layanan Pengguna (JSON) kosong.
Klik Simpan.
Mengidentifikasi email identitas unik
Mengidentifikasi alamat identitas tertentu memerlukan pemicuan uji koneksi karena Google SecOps menggunakan pokok internal tertentu untuk berkomunikasi dengan resource Google Cloud Anda. Langkah ini memastikan Anda memberikan izin ke akun utama backend yang benar.
Klik Uji. Pengujian diperkirakan akan gagal.
Klik tombol close_small di samping Uji.
Telusuri pesan error untuk menemukan alamat email yang diawali dengan
gke-init-python@...atausoar-python@.... Salin email unik ini.
Memberikan izin peniruan identitas
Membangun hubungan tepercaya memerlukan pemberian otorisasi kepada identitas unik untuk bertindak atas nama akun layanan Anda. Langkah terakhir ini membuat jembatan aman yang memungkinkan integrasi mengakses resource Anda menggunakan token sementara yang berumur pendek.
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target dan buka Izin.
Klik Grant access.
Di kolom New principals, tempel email identitas unik yang Anda salin dari Google SecOps.
Di kolom Assign roles, pilih peran
Service Account Token Creator(roles/iam.serviceAccountTokenCreator).Klik Simpan.
Mengintegrasikan Cloud Storage dengan Google SecOps
Integrasi memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Service Account |
Opsional
Konten lengkap file kunci JSON akun layanan. |
Workload Identity Email |
Opsional.
Alamat email klien akun layanan yang digunakan untuk peniruan identitas Workload Identity. |
Project ID |
Opsional Project ID yang akan digunakan untuk integrasi Cloud Storage. Jika Anda tidak menetapkan nilai untuk parameter ini, project ID akan diambil dari konten file JSON yang disediakan dalam parameter |
Quota Project ID |
Opsional Project ID Google Cloud yang Anda gunakan untuk API dan penagihan Google Cloud . Parameter ini mengharuskan Anda memberikan
peran Jika tidak ada nilai yang diberikan, project ID akan diambil dari konten file JSON yang diberikan dalam parameter |
Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan pada tahap berikutnya, 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 Melakukan tindakan manual.
Mendownload Objek dari Bucket
Gunakan tindakan ini untuk mendownload objek (file) tertentu dari bucket Cloud Storage.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tindakan Download an Object From a Bucket memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket Cloud Storage yang berisi objek yang akan didownload. |
Object Name |
Wajib Nama lengkap objek yang akan didownload. Jika
objek berada di dalam folder dalam bucket, sertakan jalur folder, seperti
|
Download Path |
Wajib Jalur absolut untuk objek yang didownload yang mengarah ke direktori yang ada, misalnya, |
Output tindakan
Tindakan Download Objek dari Bucket 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan Download Objek dari Bucket:
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Pesan output
Di Repositori Kasus, tindakan Download Objek dari Bucket memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Download Objek dari Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Mendapatkan Daftar Kontrol Akses Bucket
Gunakan tindakan Get a Bucket's Access Control List untuk mengambil dan menampilkan ACL untuk bucket Cloud Storage yang ditentukan.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tindakan Get a Bucket's Access Control List memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket Cloud Storage yang ACL-nya ingin Anda ambil. Untuk mengambil ACL beberapa bucket,
masukkan nama bucket sebagai string yang dipisahkan koma, seperti
|
Output tindakan
Tindakan Get a Bucket's Access Control List 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 |
Hasil JSON
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
Pesan output
Di Dinding Kasus, tindakan Get a Bucket's Access Control List memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Get a Bucket's Access Control List:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Membuat Daftar Objek Bucket
Gunakan tindakan List Bucket Objects untuk mencantumkan objek yang disimpan di bucket Cloud Storage.
Tindakan ini tidak berjalan di entity.
Input tindakan
Tindakan List Bucket Objects memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket tempat mengambil objek. |
Max Objects to Return |
Opsional Jumlah objek yang akan ditampilkan. Secara default, tindakan ini menampilkan 50 objek untuk setiap eksekusi tindakan. |
Retrieves the Access Control List of an object |
Opsional Jika dipilih, tindakan akan mengambil ACL objek. Tidak dipilih secara default. |
Output tindakan
Tindakan List Bucket Objects 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan List Bucket Objects:
Jika parameter
Retrieves the Access Control List of an objecttidak dipilih:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }Jika parameter
Retrieves the Access Control List of an objectdipilih:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
Pesan output
Di Case Wall, tindakan List Bucket Objects memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan List Bucket Objects:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Membuat Daftar Bucket
Gunakan tindakan List Buckets untuk mengambil daftar bucket dari Cloud Storage.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tindakan List Buckets memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Max Results |
Opsional Jumlah maksimum bucket yang akan ditampilkan. Secara default, tindakan ini akan menampilkan 50 bucket. |
Output tindakan
Tindakan List Buckets 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan List Buckets:
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
Pesan output
Di Repositori Kasus, tindakan List Buckets memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "List Buckets". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan List Buckets:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke Cloud Storage.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tidak ada.
Output tindakan
Tindakan ini 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
Di Repositori Kasus, tindakan Ping memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
Tindakan berhasil. |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Menghapus Akses Publik dari Bucket
Gunakan tindakan Hapus Akses Publik dari Bucket untuk menghapus akses publik dari bucket Cloud Storage.
Tindakan ini mengharuskan Anda memberikan peran Storage Admin ke akun layanan
yang Anda gunakan dalam integrasi.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tindakan Hapus Akses Publik Dari Bucket memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Resource Name |
Wajib Nama resource bucket. |
Prevent Public Access From Bucket |
Wajib Jika dipilih, tindakan ini akan mengonfigurasi bucket untuk mencegah kemungkinan akses publik. |
Output tindakan
Tindakan Remove Public Access From Bucket 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
Di Repositori Kasus, tindakan Hapus Akses Publik Dari Bucket memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
Tindakan berhasil. |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Remove Public Access From Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Memperbarui entri ACL di Bucket
Gunakan tindakan Update an ACL entry on Bucket untuk memperbarui entri ACL di bucket Cloud Storage yang ditentukan.
Input tindakan
Tindakan Update an ACL entry on Bucket memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket yang ACL-nya akan diubah. |
Entity |
Wajib Entitas yang memiliki izin. Kemungkinan nilainya adalah sebagai berikut:
Untuk mengetahui informasi selengkapnya tentang entity, lihat Representasi resource. |
Role |
Wajib Izin akses yang diperlukan untuk entity. Kemungkinan nilainya adalah sebagai berikut:
|
Output tindakan
Tindakan Update an ACL entry on Bucket 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
Di Dinding Kasus, tindakan Perbarui entri ACL di Bucket memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. Peran yang ada tidak cocok dengan nilai parameter Role. Periksa nilai parameter Role. |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
Tindakan berhasil. |
|
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Update an ACL entry on Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Mengupload Objek ke Bucket
Gunakan tindakan Upload an Object To a Bucket untuk mengupload objek ke bucket Cloud Storage.
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Tindakan Upload an Object To a Bucket memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket tempat objek akan diupload. |
Source File Path |
Wajib Jalur absolut ke file yang akan diupload, seperti
|
Object Name |
Wajib Nama objek yang diupload di bucket. |
Output tindakan
Tindakan Upload Objek Ke Bucket 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Pesan output
Di Repositori Kasus, tindakan Upload an Object To a Bucket memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Upload Objek Ke Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.