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 tersebut ke Google SecOps untuk analisis dan pemantauan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS
Mengaktifkan Logging Akses Amazon API Gateway (ke CloudWatch Logs)
- Buka AWS Console > API Gateway.
Untuk REST API:
- Buka Stage > Logs/Tracing > aktifkan Access logging.
Log format: 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 Access logging.
- 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 > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik + Tambahkan Feed Baru.
- Di kolom Nama feed, masukkan
Amazon API Gateway - CloudWatch via Firehose. - Pilih Amazon Data Firehose sebagai Source type.
- Pilih Amazon API Gateway sebagai Log type.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Pemisah: Opsional
n - Namespace aset:
aws.api_gateway - Label penyerapan: Misalnya,
source=apigw_access,aws_region=<your-region>
- Pemisah: Opsional
- Klik Berikutnya.
- Tinjau konfigurasi feed, lalu klik Kirim.
- Di Detail feed, klik Buat Kunci Rahasia dan salin Kunci Rahasia.
- Salin Feed HTTPS endpoint URL dari Endpoint Information.
- Buat kunci API Google Cloud di APIs & Services > Credentials > Create credentials > API key, dan batasi 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.
- Destination: Pilih HTTP endpoint.
- HTTP endpoint URL: Masukkan
ENDPOINT_URL?key=API_KEY(gunakan URL endpoint HTTPS Feed dan kunci API dari langkah sebelumnya). - Metode HTTP: Pilih POST.
- Access key: Tempelkan Kunci Rahasia yang dibuat di feed.
- Petunjuk buffering: Tetapkan Ukuran buffer = 1 MiB, Interval buffer = 60 detik.
- Compression: Pilih Disabled.
- S3 backup: Pilih Disabled.
- Biarkan setelan retry dan logging sebagai default.
- Klik Create delivery stream. (Misalnya,
cwlogs-to-secops.)
Mengonfigurasi Izin IAM dan Berlangganan ke 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 dan ID akun AWS Anda.
Beri nama kebijakan
CWLtoFirehoseWritedan klik Create policy.Buka IAM > Roles > Create role.
Pilih Custom trust policy 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
CWLtoFirehoseRoledan klik Create role.Buka CloudWatch > Logs > Log groups.
Pilih grup log Gateway API yang Anda buat sebelumnya.
Buka tab Subscription filters, lalu klik Create.
Pilih Create Amazon Kinesis Data Firehose subscription filter.
Konfigurasi hal berikut ini:
- Destination: Delivery stream
cwlogs-to-secops. - Memberikan izin: Peran
CWLtoFirehoseRole. - Nama filter: Masukkan
all-events. - Pola filter: Biarkan kosong untuk mengirim semua peristiwa.
- Destination: Delivery stream
Klik Mulai streaming.
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.