Mengumpulkan log AWS IAM
Parser Version: 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 Konsol AWS
- Izin untuk membuat pengguna dan kebijakan IAM
Mendapatkan rentang IP Google SecOps
- Buka SIEM Settings > Feeds.
- Klik Tambahkan Feed Baru.
- Catat rentang IP yang ditampilkan di bagian atas halaman.
- Atau, ambil rentang IP secara terprogram menggunakan Feed Management API.
Buat 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 yang dikelola AWS (Direkomendasikan)
- Buat Pengguna dengan mengikuti petunjuk dalam panduan ini: Membuat pengguna IAM.
- Pilih Pengguna 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 file .csv untuk menyimpan ID Kunci Akses dan Kunci Akses Rahasia untuk referensi di masa mendatang.
- Klik Done.
- Pilih tab Izin.
- Klik Add permissions di bagian Permissions policies.
- Pilih Tambahkan izin.
- Pilih Attach policies directly.
- Cari 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: Buat kebijakan kustom (hak istimewa terendah)
Jika kebijakan keamanan Anda memerlukan izin minimal, bukan kebijakan terkelola:
- Di konsol AWS, buka IAM > Policies > Create policy > JSON tab.
Tempelkan 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 file .csv untuk menyimpan ID Kunci Akses dan Kunci Akses Rahasia untuk referensi di masa mendatang.
Klik Done.
Pilih tab Izin.
Klik Add permissions di bagian Permissions policies.
Pilih Tambahkan izin.
Pilih Attach policies directly.
Telusuri dan pilih
chronicle-iam-api-read-policy.Klik Berikutnya.
Klik Add permissions.
Mengonfigurasi feed di Google SecOps untuk memproses 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 telah 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 keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Menggunakan setelan SIEM
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
AWS IAM API Configuration). - Pilih Third party API sebagai Source type.
- Pilih AWS IAM sebagai Jenis log.
- 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 baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
Group.CreateDate |
entity.group.attribute.creation_time |
Diuraikan 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 |
Diuraikan sebagai ISO8601 |
PasswordLastUsed |
entity.user.last_login_time |
Diuraikan 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.