Amazon Simple Storage Service - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Amazon Simple Storage Service

Topik ini menyediakan informasi untuk mengirimkan log lalu lintas ACL web Anda ke bucket Amazon S3.

catatan

Anda dikenakan biaya untuk login selain biaya untuk menggunakanAWS WAF. Untuk informasi, lihat Harga untuk mencatat informasi lalu lintas ACL web.

Untuk mengirim log lalu lintas ACL web Anda ke Amazon S3, Anda perlu menyiapkan bucket Amazon S3 untuk log. Saat Anda mengaktifkan loginAWS WAF, Anda memberikan bucket ARN. Untuk informasi tentang membuat bucket logging Anda, lihat Membuat Bucket di Panduan Pengguna Amazon Simple Storage Service.

catatan

AWS WAFmendukung enkripsi dengan bucket Amazon S3 untuk kunci Amazon S3 (SSE-S3) dan untukAWS Key Management Service (SSE-KMS)AWS KMS keys. AWS WAFtidak mendukung enkripsi untukAWS Key Management Service kunci yang dikelola olehAWS.

ACL web Anda menerbitkan berkas log mereka ke bucket Amazon S3 dengan interval 5 menit. Setiap berkas log berisi catatan log untuk lalu lintas yang dicatat dalam 5 menit sebelumnya.

Ukuran file maksimum untuk berkas log adalah 75 MB. File log mencapai batas ukuran file dalam periode 5 menit, log berhenti menambahkan catatan ke dalamnya, menerbitkannya ke bucket Amazon S3, dan kemudian membuat file log baru.

Sebuah file log tunggal berisi entri interleaved dengan beberapa catatan. Untuk melihat semua file log untuk ACL web, cari entri yang digabungkan berdasarkan nama ACL web, Wilayah, dan ID akun Anda.

Persyaratan penamaan dan sintaks

Nama bucket Anda untukAWS WAF pencatatan harus dimulai denganaws-waf-logs- dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan. Sebagai contoh, aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX.

Lokasi bucket menggunakan sintaks berikut:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/

Format bucket Amazon Resource Name (ARN) adalah sebagai berikut:

arn:aws:s3:::aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX

Di dalam bucket Anda,AWS WAF log Anda ditulis di bawah struktur folder yang ditentukan oleh ID akun Anda, Wilayah, nama ACL web, dan tanggal dan waktu.

AWSLogs/account-id/WAFLogs/Region/web-acl-name/YYYY/MM/dd/HH/mm

Di dalam folder, nama file log mengikuti format yang sama:

account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz

Spesifikasi waktu yang digunakan dalam struktur folder dan dalam nama file log mematuhi spesifikasi format stempel waktuYYYYMMddTHHmmZ.

Berikut ini menunjukkan contoh file log dalam bucket Amazon S3 untuk bucket bernamaDOC-EXAMPLE-BUCKET. Akun AWSItu adalah11111111111. Web ACL adalahTEST-WEBACL dan Region adalahus-east-1.

s3://DOC-EXAMPLE-BUCKET/AWSLogs/11111111111/WAFLogs/us-east-1/TEST-WEBACL/2021/10/28/19/50/11111111111_waflogs_us-east-1_TEST-WEBACL_20211028T1950Z_e0ca43b5.log.gz
catatan

Nama bucket Anda untukAWS WAF pencatatan harus dimulai denganaws-waf-logs- dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan.

Izin untuk memublikasikan log ke Amazon S3

Mengkonfigurasi pencatatan lalu lintas ACL web untuk bucket Amazon S3 memerlukan pengaturan izin berikut. Izin ini ditetapkan untuk Anda saat Anda menggunakan salah satu kebijakan terkelola aksesAWS WAF penuh,AWSWAFConsoleFullAccess atauAWSWAFFullAccess. Jika Anda ingin mengelola akses yang lebih baik ke pencatatan danAWS WAF sumber daya Anda, Anda dapat mengatur izin ini sendiri. Untuk informasi tentang mengelola izin, lihat Manajemen akses untukAWS sumber daya di Panduan Pengguna IAM. Untuk informasi tentang kebijakan yangAWS WAF dikelola, lihatKebijakan yang dikelola oleh AWS untuk AWS WAF.

Izin berikut memungkinkan Anda mengubah konfigurasi pencatatan ACL web dan mengonfigurasi pengiriman log ke bucket Amazon S3 Anda. Izin ini harus dilampirkan ke pengguna yang Anda gunakan untuk mengelolaAWS WAF.

catatan

Ketika Anda menetapkan izin yang tercantum di bawah ini, Anda mungkin melihat kesalahan dalamAWS CloudTrail log Anda yang menunjukkan akses ditolak, tetapi izinnya benar untukAWS WAF pencatatan.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "wafv2:PutLoggingConfiguration", "wafv2:DeleteLoggingConfiguration" ], "Resource":[ "*" ], "Effect":"Allow", "Sid":"LoggingConfigurationAPI" }, { "Sid":"WebACLLogDelivery", "Action":[ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*", "Effect":"Allow" }, { "Sid":"WebACLLoggingS3", "Action":[ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::aws-waf-logs-example-bucket" ], "Effect":"Allow" } ] }

Ketika tindakan diizinkan pada semuaAWS sumber daya, itu ditunjukkan dalam kebijakan dengan"Resource" pengaturan"*". Ini berarti bahwa tindakan diizinkan pada semuaAWS sumber daya yang didukung setiap tindakan. Misalnya, tindakan hanyawafv2:PutLoggingConfiguration didukung untukwafv2 mencatat sumber daya konfigurasi.

Objek dan bucket Amazon S3 secara default bersifat privat. Hanya pemilik bucket yang bisa mengakses bucket dan objek yang tersimpan di dalamnya. Namun, pemilik bucket dapat memberikan akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

Jika pengguna yang membuat log memiliki bucket, layanan akan secara otomatis melampirkan kebijakan berikut ke bucket untuk memberikan izin log untuk mempublikasikan log ke dalamnya:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket/AWSLogs/account-id/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } } ] }
catatan

Nama bucket Anda untukAWS WAF pencatatan harus dimulai denganaws-waf-logs- dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan.

Jika pengguna yang membuat log tidak memiliki bucket, atau tidak memilikiPutBucketPolicy izinGetBucketPolicy dan untuk bucket, pembuatan log gagal. Dalam kasus ini, pemilik bucket harus secara manual menambahkan kebijakan sebelumnya ke bucket dan menentukanAkun AWS ID pembuat log. Untuk informasi selengkapnya, lihat Bagaimana Cara Menambahkan Kebijakan ember S3? dalam Panduan Pengguna Amazon Simple Storage Service. Jika bucket menerima log dari beberapa akun, tambahkan entriResource elemen ke pernyataanAWSLogDeliveryWrite kebijakan untuk setiap akun.

Misalnya, kebijakan bucket berikut memungkinkanAkun AWS111122223333 untuk mempublikasikan log ke bucket bernamaaws-waf-logs-doc-example:

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket/AWSLogs/111122223333/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } } ] }

Akses log Amazon S3

Selain kebijakan bucket yang diperlukan, Amazon S3 menggunakan daftar kontrol akses (ACL) untuk mengelola akses ke berkas log yang dibuat olehAWS WAF log. Secara default, pemilik bucket memiliki izin FULL_CONTROL pada setiap file berkas log. Pemilik pengiriman log, jika berbeda dari pemilik bucket, tidak memiliki izin. Akun pengiriman log memiliki izin READ dan WRITE. Untuk informasi selengkapnya, lihat Gambaran Umum Daftar Kontrol Akses (ACL) dalam Panduan Pengguna Amazon Simple Storage Service.

Berkas log dikompresi. Jika Anda membuka file menggunakan konsol Amazon S3, Amazon S3 mendekompresi catatan log dan menampilkannya. Jika mengunduh berkas log, Anda harus mendekompresi mereka untuk melihat catatan.