Panduan ini menjelaskan cara mengekspor log IoT Google Cloud ke Google Security Operations menggunakan Cloud Storage. Parser mengekstrak kolom dari log berformat JSON, lalu memetakan kolom tersebut ke kolom yang sesuai dalam skema UDM Google SecOps, yang pada akhirnya mengubah data log mentah menjadi format terstruktur yang sesuai untuk analisis keamanan.
Sebelum Memulai
Pastikan Anda memenuhi prasyarat berikut:
Instance Google SecOps.
IoT disiapkan dan aktif di lingkungan Google Cloud Anda.
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, cloudiot-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.
Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Buat.
Mengonfigurasi Ekspor Log di Google Cloud IoT
Login ke akun Google Cloud menggunakan akun istimewa Anda.
Telusuri dan pilih Logging di kotak penelusuran.
Di Log Explorer, filter log dengan memilih Cloud IoT Core, lalu klik Apply.
Klik Tindakan Lainnya.
Klik Create Sink.
Berikan konfigurasi berikut:
Sink Details: masukkan nama dan deskripsi.
Klik Berikutnya.
Tujuan Sink: pilih Bucket Cloud Storage.
Bucket Cloud Storage: pilih bucket yang dibuat sebelumnya atau buat bucket baru.
Klik Berikutnya.
Pilih Log untuk disertakan dalam Sink: log default akan diisi saat Anda memilih opsi di Bucket Cloud Storage.
Klik Berikutnya.
Opsional: Pilih Log untuk memfilter Sink: pilih log yang tidak ingin Anda sinkronkan.
Klik Create Sink.
Di konsol GCP, buka Logging > Log Router.
Klik Create Sink.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
Buka Setelan SIEM>Feed.
Klik Tambahkan Feed Baru.
Di halaman berikutnya, klik Konfigurasi satu feed.
Di kolom Feed name, masukkan nama untuk feed; misalnya, GCP Cloud IoT Logs.
Pilih Google Cloud Storage V2 sebagai Source type.
Pilih GCP Cloud IoT sebagai Jenis log.
Klik Dapatkan Akun Layanan sebagai Akun Layanan Chronicle.
Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
URI Bucket Penyimpanan:URL bucket penyimpanan Google Cloud dalam format gs://my-bucket/<value>.
Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom Log
Pemetaan UDM
Logika
insertId
metadata.product_log_id
Dipetakan langsung dari kolom insertId.
jsonPayload.eventType
metadata.product_event_type
Dipetakan langsung dari kolom jsonPayload.eventType.
jsonPayload.protocol
network.application_protocol
Dipetakan langsung dari kolom jsonPayload.protocol.
jsonPayload.serviceName
target.application
Dipetakan langsung dari kolom jsonPayload.serviceName.
jsonPayload.status.description
metadata.description
Dipetakan langsung dari kolom jsonPayload.status.description.
jsonPayload.status.message
security_result.description
Dipetakan langsung dari kolom jsonPayload.status.message.
labels.device_id
principal.asset_id
Nilai ditetapkan ke Device ID: yang digabungkan dengan nilai kolom labels.device_id.
receiveTimestamp
metadata.event_timestamp
Diuraikan dari kolom receiveTimestamp dan digunakan untuk mengisi events.timestamp dan metadata.event_timestamp.
resource.labels.device_num_id
target.resource.product_object_id
Dipetakan langsung dari kolom resource.labels.device_num_id.
resource.labels.location
target.location.name
Dipetakan langsung dari kolom resource.labels.location.
resource.labels.project_id
target.resource.name
Dipetakan langsung dari kolom resource.labels.project_id.
resource.type
target.resource.resource_subtype
Dipetakan langsung dari kolom resource.type.
tingkat keseriusan,
security_result.severity
Dipetakan dari kolom severity berdasarkan logika berikut: - Jika severity adalah DEFAULT, DEBUG, INFO, atau NOTICE, maka security_result.severity disetel ke INFORMATIONAL. - Jika severity adalah WARNING atau ERROR, maka security_result.severity disetel ke MEDIUM. - Jika severity adalah CRITICAL, ALERT, atau EMERGENCY, maka security_result.severity disetel ke HIGH.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eThis guide details how to export Cloud IoT logs to Google Security Operations (SecOps) by using Cloud Storage, enabling security analysis through structured log data.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating a Google Cloud Storage bucket, configuring log export in Cloud IoT, and setting up a feed in Google SecOps to ingest the logs.\u003c/p\u003e\n"],["\u003cp\u003eBefore beginning, users must have a Google SecOps instance, active Cloud IoT setup, and privileged access to Google Cloud.\u003c/p\u003e\n"],["\u003cp\u003eCloud IoT log fields are extracted and mapped to corresponding fields in the Google SecOps Unified Data Model (UDM) schema for structured security analysis.\u003c/p\u003e\n"],["\u003cp\u003eThe feature to collect cloud IoT logs is supported in Google SecOps and is covered under the Pre-GA Offerings Terms, which may have limited support and could change.\u003c/p\u003e\n"]]],[],null,["# Collect Google Cloud IoT logs\n=============================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nThis guide explains how to export Google Cloud IoT logs to Google Security Operations using Cloud Storage. The parser extracts fields from JSON-formatted logs and then maps those fields to the corresponding fields in the Google SecOps UDM schema, ultimately transforming raw log data into a structured format suitable for security analysis.\n\nBefore You Begin\n----------------\n\nEnsure that you have the following prerequisites:\n\n- Google SecOps instance.\n- IoT is set up and active in your Google Cloud environment.\n- Privileged access to Google Cloud.\n\nCreate a Google Cloud Storage Bucket\n------------------------------------\n\n1. Sign in to the [Google Cloud console](https://console.cloud.google.com/).\n2. Go to the **Cloud Storage Buckets** page.\n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n3. Click **Create**.\n\n4. On the **Create a bucket** page, enter your bucket information. After each of the following steps, click **Continue** to proceed to the next step:\n\n 1. In the **Get started** section, do the following:\n\n 1. Enter a unique name that meets the bucket name requirements; for example, **cloudiot-logs**.\n 2. To enable hierarchical namespace, click the expander arrow to expand the **Optimize for file oriented and data-intensive workloads** section, and then select **Enable Hierarchical namespace on this bucket**.\n\n | **Note:** You cannot enable hierarchical namespace in an existing bucket.\n 3. To add a bucket label, click the expander arrow to expand the **Labels** section.\n\n 4. Click **Add label**, and specify a key and a value for your label.\n\n 2. In the **Choose where to store your data** section, do the following:\n\n 1. Select a **Location type**.\n 2. Use the location type menu to select a **Location** where object data within your bucket will be permanently stored.\n\n | **Note:** If you select the **dual-region** location type, you can also choose to enable **turbo replication** by using the relevant checkbox.\n 3. To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.\n\n 3. In the **Choose a storage class for your data** section, either select a **default storage class** for the bucket, or select **Autoclass** for automatic storage class management of your bucket's data.\n\n 4. In the **Choose how to control access to objects** section, select **not** to enforce **public access prevention** , and select an **access control model** for your bucket's objects.\n\n | **Note:** If public access prevention is already enforced by your project's organization policy, the **Prevent public access** checkbox is locked.\n 5. In the **Choose how to protect object data** section, do the following:\n\n 1. Select any of the options under **Data protection** that you want to set for your bucket.\n 2. To choose how your object data will be encrypted, click the expander arrow labeled **Data encryption** , and select a **Data encryption method**.\n5. Click **Create**.\n\n| **Note:** Be sure to provide your Google SecOps Service Account with permissions to **Read** or **Read \\& Write** to the newly created bucket.\n\nConfigure Log Export in Google Cloud IoT\n----------------------------------------\n\n1. Sign in to **Google Cloud** account using your privileged account.\n2. Search and select **Logging** in the search bar.\n3. In **Log Explorer** , filter the logs by choosing **Cloud IoT Core** and click **Apply**.\n4. Click **More Actions**.\n5. Click **Create Sink**.\n6. Provide the following configurations:\n 1. **Sink Details**: enter a name and description.\n 2. Click **Next**.\n 3. **Sink Destination** : select **Cloud Storage Bucket**.\n 4. **Cloud Storage Bucket**: select the bucket created earlier or create a new bucket.\n 5. Click **Next**.\n 6. **Choose Logs to include in Sink**: a default log is populated when you select an option in Cloud Storage Bucket.\n 7. Click **Next**.\n 8. Optional: **Choose Logs to filter out of Sink**: select the logs that you would like not to sink.\n7. Click **Create Sink**.\n\n8. In the **GCP console** , go to **Logging \\\u003e Log Router**.\n\n9. Click **Create Sink**.\n\nSet up feeds\n------------\n\nTo configure a feed, follow these steps:\n\n1. Go to **SIEM Settings** \\\u003e **Feeds**.\n2. Click **Add New Feed**.\n3. On the next page, click **Configure a single feed**.\n4. In the **Feed name** field, enter a name for the feed; for example, **GCP Cloud IoT Logs**.\n5. Select **Google Cloud Storage V2** as the **Source type**.\n6. Select **GCP Cloud IoT** as the **Log type**.\n7. Click **Get Service Account** as the **Chronicle Service Account**.\n8. Click **Next**.\n9. Specify values for the following input parameters:\n\n - **Storage Bucket URI** : Google Cloud storage bucket URL in **`gs://my-bucket/\u003cvalue\u003e`** format.\n - **Source deletion options**: select deletion option according to your preference.\n\n | **Note:** If you select the `Delete transferred files` or `Delete transferred files and empty directories` option, make sure that you granted appropriate permissions to the service account.\n - **Maximum File Age**: Includes files modified in the last number of days. Default is 180 days\n\n10. Click **Next**.\n\n11. Review your new feed configuration in the **Finalize** screen, and then click **Submit**.\n\nUDM Mapping Table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]