Mengumpulkan log konteks Analisis Identity and Access Management (IAM)
Versi Parser: 1.0
Dokumen ini menjelaskan cara mengekspor dan menyerap log Analisis IAM ke Google Security Operations menggunakan Cloud Storage. Parser mengekstrak informasi pengguna dan resource dari data JSON IAM. Kemudian, parser memetakan kolom yang diekstrak ke UDM, membuat entity pengguna dengan peran terkait dan hubungan resource, yang pada akhirnya memperkaya konteks keamanan dalam platform Google SecOps.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- IAM disiapkan dan aktif di lingkungan Google Cloud Anda.
- Akses istimewa ke Google Cloud dan izin yang sesuai untuk mengakses log IAM.
Membuat bucket Cloud Storage
- Login ke Google Cloud konsol.
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 hal berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, google-cloud-iam-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimize for file oriented and data-intensive workloads, lalu pilih Enable Hierarchical namespace on this bucket.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.
Klik Add label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Choose where to store your data, lakukan hal berikut:
- Pilih Location type.
Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Set up cross-bucket replication.
Di bagian Choose a storage class for your data, pilih default storage class untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Di bagian Choose how to control access to objects, pilih not untuk menerapkan public access prevention, lalu pilih access control model untuk objek bucket Anda.
Di bagian Choose how to protect object data, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
- Untuk memilih cara data objek Anda akan dienkripsi, klik panah peluas berlabel Data encryption, lalu pilih Data encryption method.
Klik Buat.
Mengonfigurasi ekspor log Analisis IAM
- Login ke Google Cloud konsol.
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Nama Sink: masukkan nama yang bermakna; misalnya,
IAM-Analysis-Sink. - Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-iam-analysis-logs/. Log Filter:
logName="*iam*" resource.type="gce_instance"
- Nama Sink: masukkan nama yang bermakna; misalnya,
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin di bucket.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka SIEM Settings > Feeds.
- Klik Add New Feed.
- Di halaman berikutnya, klik Configure a single feed.
- Di kolom Feed name, masukkan nama untuk feed; misalnya, IAM Analysis Logs.
- Pilih Google Cloud Storage V2 sebagai Source type.
- Pilih GCP IAM Analysis sebagai Log type.
- Klik Get Service Account di samping kolom Chronicle Service Account.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Storage Bucket URI: URL bucket Cloud Storage; misalnya,
gs://gcp-iam-analysis-logs/. URL ini harus diakhiri dengan garis miring (/). Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Maximum File Age: Menyertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
- Storage Bucket URI: URL bucket Cloud Storage; misalnya,
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| accessControlLists.accesses.permission | relations.entity.resource.attribute.permissions.name | Langsung dari kolom accessControlLists.accesses.permission di log mentah. |
| attachedResourceFullName | relations.entity.resource.name | Langsung dari kolom attachedResourceFullName di log mentah, tetapi dengan nama resource akhir dihapus. |
| relations.entity.resource.attribute.cloud.environment | Tetapkan ke GOOGLE_CLOUD_PLATFORM. |
|
| relations.entity.resource.product_object_id | Untuk STORAGE_BUCKET, langsung dari kolom attachedResourceFullName di log mentah, tetapi dengan nama resource akhir dihapus. Untuk set data BigQuery, kolom ini adalah projectName (diekstrak dari attachedResourceFullName) diikuti dengan titik dua dan kolom datasetName (diekstrak dari attachedResourceFullName). |
|
| relations.entity.resource.resource_type | Ditentukan oleh pola kolom attachedResourceFullName di log mentah. |
|
| relations.entity_type | Tetapkan ke RESOURCE, kecuali untuk SERVICE_ACCOUNT, yang ditetapkan ke USER. |
|
| relations.relationship | Tetapkan ke MEMBER. |
|
| metadata.collected_timestamp | Langsung dari kolom timestamp di log mentah. |
|
| metadata.entity_type | Tetapkan ke USER. |
|
| metadata.product_name | Tetapkan ke GCP IAM ANALYSIS. |
|
| metadata.vendor_name | Tetapkan ke Google Cloud Platform. |
|
| iamBinding.role | entity.user.attribute.roles.name | Langsung dari kolom iamBinding.role di log mentah. |
| identityList.identities.name | entity.user.attribute.roles.type | Tetapkan ke SERVICE_ACCOUNT jika kolom identityList.identities.name berisi string serviceAccount. |
| entity.user.email_addresses | Jika kolom identityList.identities.name berisi simbol @, kolom tersebut akan diperlakukan sebagai alamat email. |
|
| entity.user.userid | Jika kolom identityList.identities.name tidak berisi simbol @, kolom tersebut akan diperlakukan sebagai userid. |
|
| identityList.identities.product_object_id | entity.user.product_object_id | Langsung dari kolom identityList.identities.product_object_id di log mentah. |
| timestamp | timestamp | Langsung dari kolom timestamp di log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.