Mengumpulkan log akses AWS API Gateway
Versi Parser: 7.0
Dokumen ini menjelaskan cara menyerap log akses Gateway API Amazon ke Google Security Operations menggunakan AWS CloudWatch Logs dan Kinesis Data Firehose. Amazon API Gateway menyediakan REST API dan HTTP API untuk membangun dan mengelola API dalam skala besar. Log akses membantu memantau penggunaan API dan memecahkan masalah. Integrasi ini mengalirkan log ini ke Google SecOps untuk analisis dan pemantauan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS
Aktifkan Logging Akses Amazon API Gateway (ke CloudWatch Logs)
- Buka AWS Console > Gateway API.
Untuk REST API:
- Buka Stage > Logs/Tracing > enable Access logging.
Format log: Pilih JSON.
{ "requestId":"$context.requestId", "ip":"$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod", "routeKey":"$context.routeKey", "status":"$context.status", "protocol":"$context.protocol", "responseLength":"$context.responseLength", "integrationLatency":"$context.integrationLatency", "error":"$context.error.message" }Grup log CloudWatch Logs: Pilih atau buat grup log (misalnya,
/aws/apigateway/access).
Untuk HTTP API:
- Pilih API > Monitor > Logging.
- Pilih Tahap > Edit.
- Aktifkan Logging akses.
- Gunakan format log JSON yang sama seperti di atas.
- Grup log CloudWatch Logs: Pilih atau buat grup log (misalnya,
/aws/apigateway/access).
Klik Simpan.
Mengonfigurasi Feed di Google SecOps untuk Menyerap log Amazon Gateway API
- Buka Setelan SIEM > Feed.
- Klik + Tambahkan Feed Baru.
- Di kolom Nama feed, masukkan
Amazon API Gateway - CloudWatch via Firehose. - Pilih Amazon Data Firehose sebagai Jenis sumber.
- Pilih Amazon API Gateway sebagai Log type.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Pemisah split: Opsional
n - Namespace aset:
aws.api_gateway - Label penyerapan: Misalnya,
source=apigw_access,aws_region=<your-region>
- Pemisah split: Opsional
- Klik Berikutnya.
- Tinjau konfigurasi feed, lalu klik Kirim.
- Di Detail feed, klik Generate Secret Key dan salin Secret Key.
- Salin URL endpoint HTTPS feed dari Endpoint Information.
- Buat kunci API Google Cloud di APIs & Services > Credentials > Create credentials > API key, dan batasi aksesnya ke Chronicle API.
- Salin dan simpan kunci API di lokasi yang aman.
Mengonfigurasi Amazon Kinesis Data Firehose (Langsung ke Google SecOps)
- Di AWS Console, buka Kinesis > Data Firehose > Create delivery stream.
- Berikan detail konfigurasi berikut:
- Sumber: Pilih PUT langsung atau sumber lainnya.
- Tujuan: Pilih Endpoint HTTP.
- URL endpoint HTTP: Masukkan
ENDPOINT_URL?key=API_KEY(gunakan URL endpoint HTTPS Feed dan kunci API dari langkah sebelumnya). - Metode HTTP: Pilih POST.
- Kunci akses: Tempelkan Kunci Rahasia yang dihasilkan di feed.
- Petunjuk buffering: Tetapkan Ukuran buffer = 1 MiB, Interval buffer = 60 detik.
- Kompresi: Pilih Dinonaktifkan.
- Pencadangan S3: Pilih Dinonaktifkan.
- Biarkan setelan coba lagi dan pencatatan log sebagai default.
- Klik Buat aliran pengiriman. (Misalnya,
cwlogs-to-secops.)
Mengonfigurasi Izin IAM dan Berlangganan Grup Log
- Di AWS Console, buka IAM > Policies > Create policy > JSON.
- Di editor JSON, masukkan kebijakan berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:<region>:<account-id>:deliverystream/cwlogs-to-secops" } ] }- Ganti
<region>dan<account-id>dengan Region AWS dan ID akun Anda.
Beri nama kebijakan
CWLtoFirehoseWrite, lalu klik Buat kebijakan.Buka IAM > Roles > Create role.
Pilih Kebijakan kepercayaan kustom dan masukkan hal berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.<your-region>.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Lampirkan kebijakan
CWLtoFirehoseWriteke peran.Beri nama peran
CWLtoFirehoseRole, lalu klik Buat peran.Buka CloudWatch > Logs > Log groups.
Pilih grup log Gateway API yang Anda buat sebelumnya.
Buka tab Filter langganan, lalu klik Buat.
Pilih Buat filter langganan Amazon Kinesis Data Firehose.
Konfigurasi hal berikut ini:
- Tujuan: Aliran pengiriman
cwlogs-to-secops. - Memberikan izin: Peran
CWLtoFirehoseRole. - Nama filter: Masukkan
all-events. - Pola filter: Biarkan kosong untuk mengirim semua peristiwa.
- Tujuan: Aliran pengiriman
Klik Mulai streaming.
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.