Mengumpulkan log AWS IAM
Versi Parser: 1.0
Dokumen ini menjelaskan cara menyerap data konfigurasi AWS Identity and Access Management (IAM) ke Google Security Operations menggunakan feed API Pihak Ketiga.
Parser AWS IAM mengubah data entity IAM (pengguna, grup, peran, dan kebijakan) menjadi Unified Data Model (UDM) terstruktur, mengekstrak kolom seperti detail pengguna, informasi peran, izin, dan stempel waktu untuk analisis keamanan yang konsisten.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS Console
- Izin untuk membuat pengguna dan kebijakan IAM
Mendapatkan rentang IP Google SecOps
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Catat rentang IP yang ditampilkan di bagian atas halaman.
- Atau, ambil rentang IP secara terprogram menggunakan Feed Management API.
Membuat pengguna IAM dengan izin yang diperlukan
PENTING: Agar Google SecOps dapat mengambil data AWS IAM menggunakan API, Anda harus membuat pengguna IAM dengan izin baca yang sesuai.
Opsi A: Menggunakan kebijakan terkelola AWS (Direkomendasikan)
- Buat Pengguna dengan mengikuti petunjuk dalam panduan ini: Membuat pengguna IAM.
- Pilih User yang dibuat.
- Pilih tab kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: Tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download .csv file untuk menyimpan Access Key ID dan Secret Access Key sebagai referensi di masa mendatang.
- Klik Done.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan Izin.
- Pilih Add permissions.
- Pilih Attach policies directly.
- Telusuri IAMReadOnlyAccess (kebijakan yang dikelola AWS).
- Pilih kebijakan.
- Klik Berikutnya.
- Klik Add permissions.
Penting: Kebijakan IAMReadOnlyAccess mencakup semua izin yang diperlukan:
iam:GetUseriam:ListUsersiam:GetGroupiam:ListGroupsiam:GetPolicyiam:ListPoliciesiam:GetRoleiam:ListRolesiam:ListAttachedUserPoliciesiam:ListAttachedGroupPoliciesiam:ListAttachedRolePoliciesiam:GetAccountSummary
Opsi B: Membuat kebijakan khusus (hak istimewa terendah)
Jika kebijakan keamanan Anda memerlukan izin minimal, bukan kebijakan terkelola:
- Di konsol AWS, buka IAM > Policies > Create policy > tab JSON.
Tempel kebijakan berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetUser", "iam:ListUsers", "iam:GetGroup", "iam:ListGroups", "iam:GetPolicy", "iam:ListPolicies", "iam:GetRole", "iam:ListRoles", "iam:ListAttachedUserPolicies", "iam:ListAttachedGroupPolicies", "iam:ListAttachedRolePolicies", "iam:GetAccountSummary" ], "Resource": "*" } ] }Klik Berikutnya.
Beri nama kebijakan
chronicle-iam-api-read-policy.Klik Create policy.
Buat Pengguna dengan mengikuti petunjuk dalam panduan ini: Membuat pengguna IAM.
Pilih User yang dibuat.
Pilih tab kredensial keamanan.
Klik Create Access Key di bagian Access Keys.
Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
Klik Berikutnya.
- Opsional: Tambahkan tag deskripsi.
Klik Create access key.
Klik Download .csv file untuk menyimpan Access Key ID dan Secret Access Key sebagai referensi di masa mendatang.
Klik Done.
Pilih tab Izin.
Klik Tambahkan izin di bagian Kebijakan Izin.
Pilih Add permissions.
Pilih Attach policies directly.
Telusuri dan pilih
chronicle-iam-api-read-policy.Klik Berikutnya.
Klik Add permissions.
Mengonfigurasi feed di Google SecOps untuk menyerap data konfigurasi IAM
Feed AWS IAM mengumpulkan satu daftar entitas IAM per feed, yang dipilih oleh kolom API type (Users, Roles, atau Groups). Untuk mengumpulkan semua entity IAM, buat satu feed untuk setiap jenis API, semuanya menggunakan jenis log AWS IAM.
Menggunakan Hub Konten (direkomendasikan)
- Buka Hub Konten > Paket Konten > Mulai.
- Klik paket Amazon Cloud Platform.
- Temukan jenis log AWS IAM dalam daftar.
- Pilih Third party API dari drop-down Source Type.
- Berikan detail konfigurasi berikut:
- Username: ID Kunci Akses dari pengguna IAM yang dibuat sebelumnya.
- Secret: Kunci Akses Rahasia dari pengguna IAM yang dibuat sebelumnya.
- Jenis API: Pilih daftar entitas IAM yang akan dikumpulkan: Pengguna, Peran, atau Grup.
- Nama Feed: Nilai yang diisi otomatis yang mengidentifikasi feed (misalnya,
AWS IAM Users). - 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 kelompok produk ini, lihat Mengonfigurasi feed menurut produk.
Menggunakan setelan SIEM
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
AWS IAM API Configuration). - Pilih API pihak ketiga sebagai Jenis sumber.
- Pilih AWS IAM sebagai Log type.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Username: ID Kunci Akses dari pengguna IAM yang dibuat sebelumnya.
- Secret: Kunci Akses Rahasia dari pengguna IAM yang dibuat sebelumnya.
- Jenis API: Pilih daftar entitas IAM yang akan dikumpulkan: Pengguna, Peran, atau Grup.
- Namespace aset: Namespace aset.
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.
- Klik Berikutnya.
- Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
Group.CreateDate |
entity.group.attribute.creation_time |
Diurai sebagai ISO8601 |
Group.Path |
entity.group.attribute.labels.value |
Dipetakan secara langsung |
IsTruncated |
entity.group.attribute.labels.value |
Dipetakan secara langsung |
Marker |
entity.group.attribute.labels.value |
Dipetakan secara langsung |
Group.GroupName |
entity.group.email_addresses |
Digabung |
Group.GroupName |
entity.group.group_display_name |
Dipetakan secara langsung |
Group.GroupID |
entity.group.product_object_id |
Dipetakan secara langsung |
RoleLastUsed.Region |
entity.location.name |
Dipetakan secara langsung |
CreateDate |
entity.resource.attribute.creation_time |
Diurai sebagai ISO8601 |
MaxSessionDuration |
entity.resource.attribute.labels.value |
Dipetakan secara langsung |
Path |
entity.resource.attribute.labels.value |
Dipetakan secara langsung |
RoleLastUsed.LastUsedDate |
entity.resource.attribute.labels.value |
Dipetakan secara langsung |
AssumeRolePolicyDocument |
entity.resource.attribute.permissions.name |
Dipetakan secara langsung |
Description |
entity.resource.attribute.roles.description |
Dipetakan secara langsung |
RoleName |
entity.resource.attribute.roles.name |
Dipetakan secara langsung |
Arn |
entity.resource.name |
Dipetakan secara langsung |
Group.Arn |
entity.resource.name |
Dipetakan secara langsung |
RoleID |
entity.resource.product_object_id |
Dipetakan secara langsung |
CreateDate |
entity.user.attribute.creation_time |
Diurai sebagai ISO8601 |
PasswordLastUsed |
entity.user.last_login_time |
Diurai sebagai ISO8601 |
UserID |
entity.user.product_object_id |
Dipetakan secara langsung |
UserName |
entity.user.userid |
Dipetakan secara langsung |
PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Dipetakan secara langsung |
PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Dipetakan secara langsung |
user.PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Dipetakan secara langsung |
user.PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Dipetakan secara langsung |
user.Arn |
relations.entity.resource.name |
Dipetakan secara langsung |
user.CreateDate |
relations.entity.user.attribute.creation_time |
Diurai sebagai ISO8601 |
tag.Key |
relations.entity.user.attribute.labels.key |
Dipetakan secara langsung |
Path |
relations.entity.user.attribute.labels.value |
Dipetakan secara langsung |
tag.Value |
relations.entity.user.attribute.labels.value |
Dipetakan secara langsung |
user.Path |
relations.entity.user.attribute.labels.value |
Dipetakan secara langsung |
user.PasswordLastUsed |
relations.entity.user.last_login_time |
Diurai sebagai ISO8601 |
user.UserID |
relations.entity.user.product_object_id |
Dipetakan secara langsung |
user.UserName |
relations.entity.user.userid |
Dipetakan secara langsung |
| T/A | entity.group.attribute.labels.key |
Konstanta: is_truncated |
| T/A | entity.resource.attribute.cloud.environment |
Konstanta: AMAZON_WEB_SERVICES |
| T/A | entity.resource.attribute.labels.key |
Konstanta: max_session_duration |
| T/A | entity.resource.resource_subtype |
Konstanta: User |
| T/A | entity.resource.resource_type |
Konstanta: ACCESS_POLICY |
| T/A | metadata.entity_type |
Konstanta: USER |
| T/A | metadata.product_name |
Konstanta: AWS IAM |
| T/A | metadata.vendor_name |
Konstanta: AWS |
| T/A | relations.direction |
Konstanta: UNIDIRECTIONAL |
| T/A | relations.entity.resource.attribute.labels.key |
Konstanta: permissions_boundary_arn |
| T/A | relations.entity.resource.resource_subtype |
Konstanta: User |
| T/A | relations.entity.user.attribute.labels.key |
Konstanta: path |
| T/A | relations.entity_type |
Konstanta: USER |
| T/A | relations.relationship |
Konstanta: MEMBER |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.