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 mengumpulkan dan menyimpan bukti terkait insiden seperti log dan sampel malware secara otomatis di bucket Cloud Storage untuk menyediakan repositori yang tahan terhadap gangguan untuk penyimpanan bukti.
Berbagi informasi ancaman: tim keamanan Anda dapat menggunakan Cloud Storage untuk membagikan feed informasi ancaman 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 secara otomatis mengirimkan file mencurigakan dari insiden ke sandbox analisis malware berbasis cloud. Anda dapat menyimpan hasil analisis di Cloud Storage untuk ditinjau dan tindakan lebih lanjut guna memberikan analisis malware yang efisien dan skalabel.
Pencadangan konfigurasi keamanan: gunakan kemampuan SOAR Google SecOps untuk mengotomatiskan pencadangan rutin konfigurasi keamanan penting seperti aturan firewall dan tanda tangan sistem deteksi intrusi ke Cloud Storage. Pencadangan otomatis memberikan kelangsungan bisnis dan pemulihan yang lebih cepat jika terjadi perubahan yang tidak disengaja atau berbahaya.
Penyimpanan artefak kampanye phishing: gunakan kemampuan SOAR Google SecOps untuk menyimpan email phishing, lampiran, dan artefak lainnya di Cloud Storage saat menyelidiki kampanye phishing. Penyimpanan artefak memungkinkan analisis dan pengawetan bukti secara terpusat 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 Buat kredensial, pilih Akun layanan.
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 yang 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 Tambahkan kunci > Buat kunci baru.
Pilih JSON, lalu klik Buat. 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 Identitas Workload Anda.
Mengonfigurasi instance integrasi
Untuk memicu proses penemuan identitas, Anda harus mengonfigurasi parameter koneksi dasar di Google SecOps terlebih dahulu:
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).Email Workload Identity: Masukkan alamat email akun layanan yang Anda buat sebelumnya.
Verifikasi 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 prinsipal internal tertentu untuk berkomunikasi dengan resource Anda. Google Cloud Langkah ini memastikan Anda memberikan izin kepada entitas 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 berjangka 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, ID project akan
diambil dari konten file JSON yang diberikan dalam parameter |
Quota Project ID |
Opsional Google Cloud Project ID yang Anda gunakan untuk
Google Cloud API dan penagihan. Parameter ini mengharuskan Anda memberikan
peran Jika tidak ada nilai yang diberikan, ID project 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 di 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 tertunda dari Ruang 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 entitas.
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 Dapatkan Daftar Kontrol Akses Bucket untuk mengambil dan menampilkan ACL untuk bucket Cloud Storage yang ditentukan.
Tindakan ini tidak dijalankan pada entitas.
Input tindakan
Tindakan Dapatkan Daftar Kontrol Akses Bucket 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 Dapatkan Daftar Kontrol Akses 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 |
Hasil JSON
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
Pesan output
Di Dinding Kasus, tindakan Dapatkan Daftar Kontrol Akses Bucket 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 |
Mencantumkan Objek Bucket
Gunakan tindakan List Bucket Objects untuk mencantumkan objek yang disimpan di bucket Cloud Storage.
Tindakan ini tidak dijalankan pada entitas.
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 Dinding Kasus, 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 |
Mencantumkan Bucket
Gunakan tindakan List Buckets untuk mengambil daftar bucket dari Cloud Storage.
Tindakan ini tidak dijalankan pada entitas.
Input tindakan
Tindakan List Buckets memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Max Results |
Opsional Jumlah maksimum bucket yang akan ditampilkan. Secara default, tindakan ini 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 Dinding 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 entitas.
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 Dinding 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 entitas.
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 Hapus Akses Publik 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 | 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 Hapus Akses Publik Dari 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 Perbarui entri ACL di 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 entitas, lihat Representasi resource. |
Role |
Wajib Izin akses yang diperlukan untuk entitas. 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 Perbarui entri ACL di Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Mengupload Objek ke Bucket
Gunakan tindakan Upload Objek ke Bucket untuk mengupload objek ke bucket Cloud Storage.
Tindakan ini tidak dijalankan pada entitas.
Input tindakan
Tindakan Upload Objek Ke 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 Dinding Kasus, tindakan Upload Objek Ke 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.