Mengumpulkan log konteks Google Cloud Compute
Dokumen ini menjelaskan cara mengekspor dan menyerap log konteks Compute ke Google Security Operations menggunakan Cloud Storage. Google Cloud Parser mengekstrak informasi dari log dalam format JSON. Kemudian, data yang diekstrak dinormalisasi dan disusun ke dalam format UDM Google SecOps, dengan berfokus pada detail tentang mesin virtual seperti spesifikasi hardware, konfigurasi jaringan, setelan keamanan, dan hubungan dengan entitas lain.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps.
- Compute disiapkan dan aktif di lingkungan Google Cloud Anda.
- Akses istimewa ke Google Cloud dan izin yang sesuai.
Membuat bucket Cloud Storage
- Login ke konsolGoogle Cloud .
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:
Di bagian Mulai, lakukan tindakan berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, compute-context-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja berorientasi file dan intensif data, lalu pilih Aktifkan namespace Hierarkis di bucket ini.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label.
Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Pilih lokasi untuk menyimpan data Anda, lakukan hal berikut:
- Pilih Jenis lokasi.
Gunakan menu jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Siapkan replikasi lintas bucket.
Di bagian Pilih kelas penyimpanan untuk data Anda, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Di bagian Pilih cara mengontrol akses ke objek, pilih tidak untuk menerapkan pencegahan akses publik, dan pilih model kontrol akses untuk objek bucket Anda.
Di bagian Pilih cara melindungi data objek, lakukan tindakan berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
- Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Buat.
Mengonfigurasi ekspor log Google Cloud Compute
- Login ke konsolGoogle Cloud .
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Sink Name: masukkan nama yang bermakna; misalnya,
Compute-Context-Sink
. - Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://compute-context-logs
. Filter Log:
logName="*compute*" resource.type="gce_instance"
- Sink Name: masukkan nama yang bermakna; misalnya,
Klik Buat.
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin pada bucket.
Menyiapkan feed
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed > Tambahkan Baru
- Hub Konten > Paket Konten > Mulai
Cara menyiapkan feed Konteks Komputasi Google Cloud
- Klik paket Google Cloud Compute platform.
- Cari jenis log GCP Compute Context.
Tentukan nilai berikut:
- Jenis Sumber: Google Cloud Storage V2.
- URI Bucket Penyimpanan: URL bucket Cloud Storage; misalnya,
gs://compute-context-logs
. Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Usia File Maksimum: File yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari.
Akun Layanan Chronicle: Salin Akun Layanan. Anda akan memerlukannya untuk menambahkan izin di bucket bagi Akun Layanan ini agar Google SecOps dapat membaca atau menghapus data di bucket.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Buat feed.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa feed untuk berbagai jenis log dalam keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
leluhur | event.idm.entity.entity.asset.attribute.labels.value | Setiap nilai ancestor dalam array ancestor dipetakan ke label terpisah dengan kunci ancestors . |
assetType | event.idm.entity.entity.asset.category | Dipetakan langsung dari kolom assetType. |
asset_type | event.idm.entity.entity.asset.category | Dipetakan langsung dari kolom asset_type. |
nama | event.idm.entity.entity.resource.name | Dipetakan langsung dari kolom nama. |
resource.data.cpuPlatform | event.idm.entity.entity.asset.hardware.cpu_platform | Dipetakan langsung dari kolom resource.data.cpuPlatform. |
resource.data.creationTimestamp | event.idm.entity.entity.asset.attribute.creation_time | Diuraikan ke format stempel waktu dari kolom resource.data.creationTimestamp. |
resource.data.id | event.idm.entity.entity.asset.product_object_id | Dipetakan langsung dari kolom resource.data.id. |
resource.data.labels.business_function | event.idm.entity.entity.asset.attribute.labels.value | Dipetakan langsung dari kolom resource.data.labels.business_function, dengan kunci yang ditetapkan ke business_function . |
resource.data.labels.environment | event.idm.entity.entity.asset.attribute.labels.value | Dipetakan langsung dari kolom resource.data.labels.environment, dengan kunci yang ditetapkan ke environment . |
resource.data.labels.infra_location | event.idm.entity.entity.asset.attribute.labels.value | Dipetakan langsung dari kolom resource.data.labels.infra_location, dengan kunci yang ditetapkan ke infra_location . |
resource.data.labels.instance_group | event.idm.entity.user.group_identifiers | Dipetakan langsung dari kolom resource.data.labels.instance_group. |
resource.data.labels.os | event.idm.entity.entity.asset.platform_software.platform_version | Dipetakan langsung dari kolom resource.data.labels.os. |
resource.data.labels.primary_application | event.idm.entity.entity.asset.attribute.labels.value | Dipetakan langsung dari kolom resource.data.labels.primary_application, dengan kunci yang ditetapkan ke primary_application . |
resource.data.labels.project_code | event.idm.entity.entity.asset.attribute.labels.value | Dipetakan langsung dari kolom resource.data.labels.project_code, dengan kunci yang ditetapkan ke project_code . |
resource.data.lastStartTimestamp | event.idm.entity.entity.asset.last_boot_time | Diuraikan ke format stempel waktu dari kolom resource.data.lastStartTimestamp. |
resource.data.machineType | event.idm.entity.entity.asset.hardware.model | Jenis mesin diekstrak dari kolom resource.data.machineType menggunakan ekspresi reguler. |
resource.data.name | event.idm.entity.entity.asset.hostname | Dipetakan langsung dari kolom resource.data.name. |
resource.data.networkInterfaces.0.accessConfigs.0.natIP | event.idm.entity.entity.asset.nat_ip | Alamat IP NAT pertama dari antarmuka jaringan pertama dipetakan. |
resource.data.networkInterfaces.0.network | event.idm.entity.entity.asset.attribute.cloud.vpc.name | ID jaringan diekstrak dari kolom resource.data.networkInterfaces.0.network menggunakan ekspresi reguler. |
resource.data.networkInterfaces.0.networkIP | event.idm.entity.entity.asset.ip | Alamat IP antarmuka jaringan pertama dipetakan. |
resource.data.networkInterfaces.1.networkIP | event.idm.entity.entity.asset.ip | Alamat IP antarmuka jaringan kedua dipetakan. |
resource.data.selfLink | event.idm.entity.entity.url | Dipetakan langsung dari kolom resource.data.selfLink. |
resource.data.serviceAccounts.0.email | event.idm.entity.relations.entity.user.email_addresses | Alamat email akun layanan pertama dipetakan. |
resource.data.status | event.idm.entity.entity.asset.deployment_status | Dipetakan ke ACTIVE jika statusnya adalah salah satu dari RUNNING , PROVISIONING , STAGING , STOPPING , SUSPENDING , SUSPENDED , REPAIRING , TERMINATED . Jika tidak, dipetakan ke DEPLOYMENT_STATUS_UNSPECIFIED . |
event.idm.entity.entity.asset.attribute.cloud.availability_zone | Zona ketersediaan dibuat dengan menggabungkan kolom region dan zone_suffix. | |
event.idm.entity.entity.asset.attribute.cloud.environment | Tetapkan ke GOOGLE_CLOUD_PLATFORM . |
|
event.idm.entity.entity.asset.attribute.cloud.project.name | Project ID diekstrak dari kolom nama menggunakan ekspresi reguler. | |
event.idm.entity.entity.asset.attribute.cloud.project.resource_type | Tetapkan ke CLOUD_PROJECT . |
|
event.idm.entity.entity.asset.attribute.cloud.vpc.resource_type | Tetapkan ke VPC_NETWORK . |
|
event.idm.entity.entity.resource.resource_type | Disetel ke VIRTUAL_MACHINE jika asset_type atau assetType berisi Instance . |
|
event.idm.entity.entity.resource.type | Disetel ke VIRTUAL_MACHINE jika asset_type atau assetType berisi Instance . |
|
event.idm.entity.metadata.collected_timestamp | Disetel ke stempel waktu peristiwa Logstash. | |
event.idm.entity.metadata.entity_type | Tetapkan ke ASSET . |
|
event.idm.entity.metadata.product_name | Tetapkan ke GCP Compute Context . |
|
event.idm.entity.metadata.vendor_name | Tetapkan ke Google Cloud Platform . |
|
event.idm.entity.relations.entity.user.attribute.cloud.environment | Tetapkan ke GOOGLE_CLOUD_PLATFORM . |
|
event.idm.entity.relations.entity_type | Tetapkan ke USER . |
|
event.idm.entity.relations.relationship | Tetapkan ke ADMINISTERS . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.