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 untuk pelestarian bukti.
Berbagi threat intelligence: tim keamanan Anda dapat menggunakan Cloud Storage untuk membagikan feed threat intelligence dengan aman, seperti daftar alamat IP dan domain berbahaya, 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 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 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 dan preservasi bukti secara terpusat untuk tindakan hukum yang mungkin akan ditempuh.
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 Credentials
Dari menu Create credentials, pilih Service account.
Masukkan nama di kolom Service account name, lalu klik Create and continue. y
Lewati layar penetapan peran opsional dan akses akun utama dengan mengklik Continue > Done.
Memberikan peran ke akun layanan Anda
Untuk mengizinkan integrasi 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 Add another role, lalu pilih berikut ini:
Storage Admin: 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 singkat, 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 dan buka Keys.
Klik Add key > Create new key.
Pilih JSON dan klik Create. File kunci akan didownload ke komputer Anda.
Mengonfigurasi kredensial Workload Identity
Dengan Workload Identity, Google SecOps dapat meniru 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 > Response Integrations.
Telusuri dan pilih integrasi Google Cloud Storage.
Konfigurasikan parameter wajib berikut:
API Root: 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 User's Service Account (JSON) kosong.
Klik Simpan.
Mengidentifikasi email identitas unik
Mengidentifikasi alamat identitas tertentu memerlukan pemicuan uji konektivitas karena Google SecOps menggunakan akun utama 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 Test.
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 kepercayaan memerlukan pemberian otoritas 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 Permissions.
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 ini 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 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.
Mendownload Objek dari Bucket
Gunakan tindakan ini untuk mendownload objek (file) tertentu dari bucket Cloud Storage.
Tindakan ini tidak berjalan di 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 dalam folder di 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 an Object From a 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 an Object From a Bucket:
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Pesan output
Di Case Wall, tindakan Download an Object From a 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 an Object From a 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 berjalan di entity.
Input tindakan
Tindakan Mendapatkan Daftar Kontrol Akses Bucket memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Bucket Name |
Wajib Nama bucket Cloud Storage yang ingin Anda ambil ACL-nya. Untuk mengambil ACL untuk 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 Case Wall, 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 Mendapatkan Daftar Kontrol Akses Bucket:
| 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 berjalan di entity.
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 Case Wall, 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 berjalan di 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 Case Wall, 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 Remove Public Access From 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 berjalan di entity.
Input tindakan
Tindakan Remove Public Access From 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 Case Wall, tindakan Remove Public Access From 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 mengupdate 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 Case Wall, tindakan Update an ACL entry on 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 berjalan di 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 an Object To a 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 Case Wall, 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 an Object To a Bucket:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.