Memperkenalkan pengalaman konsol baru untuk AWS WAF
Anda sekarang dapat menggunakan pengalaman yang diperbarui untuk mengakses AWS WAF fungsionalitas di mana saja di konsol. Untuk detail selengkapnya, lihat Bekerja dengan pengalaman konsol yang diperbarui.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim paket perlindungan atau log lalu lintas ACL web ke bucket Amazon Simple Storage Service
Topik ini memberikan informasi untuk mengirim paket perlindungan atau log lalu lintas ACL web ke bucket Amazon S3.
catatan
Anda dikenakan biaya untuk logging selain biaya untuk menggunakan AWS WAF. Untuk informasi, lihat Harga untuk paket perlindungan pencatatan atau informasi lalu lintas ACL web.
Untuk mengirim paket perlindungan atau log lalu lintas ACL web ke Amazon S3, Anda menyiapkan bucket Amazon S3 dari akun yang sama seperti yang Anda gunakan untuk mengelola paket perlindungan atau ACL web, dan beri nama bucket tersebut dimulai. aws-waf-logs-
Saat mengaktifkan login AWS WAF, Anda memberikan nama bucket. Untuk informasi tentang membuat bucket logging, lihat Membuat Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Anda dapat mengakses dan menganalisis log Amazon S3 Anda menggunakan layanan kueri interaktif Amazon Athena. Athena memudahkan untuk menganalisis data secara langsung di Amazon S3 menggunakan SQL standar. Dengan beberapa tindakan di dalamnya AWS Management Console, Anda dapat mengarahkan Athena ke data yang disimpan di Amazon S3 dan dengan cepat mulai menggunakan SQL standar untuk menjalankan kueri ad-hoc dan mendapatkan hasil. Untuk informasi selengkapnya, lihat Menanyakan AWS WAF log di panduan pengguna Amazon Athena. Untuk contoh tambahan kueri Amazon Athena, lihat waf-log-sample-athenaaws-samples/
catatan
AWS WAF mendukung enkripsi dengan bucket Amazon S3 untuk kunci jenis kunci Amazon S3 (SSE-S3) dan untuk (SSE-KMS). AWS Key Management Service AWS KMS keys AWS WAF tidak mendukung enkripsi untuk AWS Key Management Service kunci yang dikelola oleh AWS.
File log dari paket perlindungan atau ACL web Anda dipublikasikan ke bucket Amazon S3 dengan interval 5 menit. Setiap file log berisi catatan log untuk lalu lintas yang direkam dalam 5 menit sebelumnya.
Ukuran file maksimum untuk berkas log adalah 75 MB. Jika 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.
Berkas log dikompresi. Jika Anda membuka file menggunakan konsol Amazon S3, Amazon S3 mendekompresi catatan log dan menampilkannya. Jika Anda mengunduh file log, Anda harus mendekompresnya untuk melihat catatan.
Sebuah file log tunggal berisi entri interleaved dengan beberapa catatan. Untuk melihat semua file log untuk paket perlindungan atau ACL web, cari entri yang digabungkan berdasarkan paket perlindungan atau nama ACL web, Wilayah, dan ID akun Anda.
Persyaratan penamaan dan sintaks
Nama bucket untuk AWS WAF logging harus dimulai dengan aws-waf-logs-
dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan. Misalnya, aws-waf-logs-
. LOGGING-BUCKET-SUFFIX
Lokasi ember
Lokasi bucket menggunakan sintaks berikut:
s3://aws-waf-logs-
LOGGING-BUCKET-SUFFIX
/
ARN Bucket
Format bucket Amazon Resource Name (ARN) adalah sebagai berikut:
arn:aws:s3:::aws-waf-logs-
LOGGING-BUCKET-SUFFIX
Lokasi bucket dengan awalan
Jika Anda menggunakan awalan dalam nama kunci objek untuk mengatur data yang disimpan di bucket, Anda dapat memberikan awalan dalam nama bucket logging Anda.
catatan
Opsi ini tidak tersedia melalui konsol. Gunakan AWS WAF APIs, CLI, atau. AWS CloudFormation
Untuk informasi tentang menggunakan awalan di Amazon S3, lihat Mengatur objek menggunakan awalan di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Lokasi bucket dengan awalan menggunakan sintaks berikut:
s3://aws-waf-logs-
LOGGING-BUCKET-SUFFIX
/KEY-NAME-PREFIX
/
Folder bucket dan nama file
Di dalam bucket Anda, dan mengikuti awalan apa pun yang Anda berikan, AWS WAF log Anda ditulis di bawah struktur folder yang ditentukan oleh ID akun Anda, Wilayah, paket perlindungan atau nama ACL web, serta 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 nama file log mematuhi spesifikasi format stempel waktu. YYYYMMddTHHmmZ
Berikut ini menunjukkan contoh file log di bucket Amazon S3 untuk bucket bernama. aws-waf-logs-
Akun AWS adalahLOGGING-BUCKET-SUFFIX
11111111111
. Paket perlindungan atau web ACL adalah TEST-WEBACL
dan Wilayah adalahus-east-1
.
s3://aws-waf-logs-
LOGGING-BUCKET-SUFFIX
/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 untuk AWS WAF logging harus dimulai dengan aws-waf-logs-
dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan.
Izin diperlukan untuk mempublikasikan log ke Amazon S3
Mengonfigurasi paket perlindungan atau 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 akses AWS WAF penuh, AWSWAFConsoleFullAccess
atauAWSWAFFullAccess
. Jika Anda ingin mengelola akses lebih lanjut ke pencatatan dan AWS WAF sumber daya Anda, Anda dapat mengatur izin ini sendiri. Untuk informasi tentang mengelola izin, lihat Manajemen akses untuk AWS
sumber daya di Panduan Pengguna IAM. Untuk informasi tentang kebijakan yang AWS WAF dikelola, lihatAWS kebijakan terkelola untuk AWS WAF.
Izin berikut memungkinkan Anda mengubah paket perlindungan atau konfigurasi pencatatan ACL web dan mengonfigurasi pengiriman log ke bucket Amazon S3 Anda. Izin ini harus dilampirkan ke pengguna yang Anda gunakan untuk mengelola AWS WAF.
catatan
Saat Anda menetapkan izin yang tercantum di bawah ini, Anda mungkin melihat kesalahan dalam AWS CloudTrail log yang menunjukkan akses ditolak, tetapi izin tersebut benar untuk AWS 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-
LOGGING-BUCKET-SUFFIX
" ], "Effect":"Allow" } ] }
Ketika tindakan diizinkan pada semua AWS sumber daya, itu ditunjukkan dalam kebijakan dengan "Resource"
pengaturan"*"
. Ini berarti bahwa tindakan diizinkan pada semua AWS sumber daya yang didukung oleh setiap tindakan. Misalnya, tindakan hanya wafv2:PutLoggingConfiguration
didukung untuk wafv2
mencatat sumber daya konfigurasi.
Secara default, ember Amazon S3 dan objek yang dikandungnya bersifat pribadi. Hanya pemilik bucket yang bisa mengakses bucket dan objek yang tersimpan di dalamnya. Namun, pemilik bucket dapat memberikan akses ke 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 memublikasikan log ke bucket:
{ "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-
LOGGING-BUCKET-SUFFIX
/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-LOGGING-BUCKET-SUFFIX
", "Condition": { "StringEquals": { "aws:SourceAccount": ["account-id
"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region
:account-id
:*"] } } } ] }
catatan
Nama bucket Anda untuk AWS WAF logging harus dimulai dengan aws-waf-logs-
dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan.
Jika pengguna yang membuat log tidak memiliki bucket, atau tidak memiliki PutBucketPolicy
izin GetBucketPolicy
dan untuk bucket, pembuatan log gagal. Dalam hal ini, pemilik bucket harus menambahkan kebijakan sebelumnya secara manual ke bucket dan menentukan ID pembuat log. Akun AWS Untuk informasi selengkapnya, lihat Bagaimana Cara Menambahkan Kebijakan Bucket S3? di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon. Jika bucket menerima log dari beberapa akun, tambahkan entri Resource
elemen ke pernyataan AWSLogDeliveryWrite
kebijakan untuk setiap akun.
Misalnya, kebijakan bucket berikut memungkinkan Akun AWS
111122223333
untuk memublikasikan log ke bucket bernamaaws-waf-logs-
:LOGGING-BUCKET-SUFFIX
{ "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-
LOGGING-BUCKET-SUFFIX
/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-LOGGING-BUCKET-SUFFIX
", "Condition": { "StringEquals": { "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } } ] }
catatan
Dalam beberapa kasus, Anda mungkin melihat AccessDenied
kesalahan AWS CloudTrail jika s3:ListBucket
izin belum diberikandelivery.logs.amazonaws.com
. Untuk menghindari kesalahan ini di CloudTrail log Anda, Anda harus memberikan s3:ListBucket
izin delivery.logs.amazonaws.com
dan Anda harus menyertakan Condition
parameter yang ditampilkan dengan s3:GetBucketAcl
izin yang ditetapkan dalam kebijakan bucket sebelumnya. Untuk membuatnya lebih sederhana, alih-alih membuat yang baruStatement
, Anda dapat langsung memperbarui AWSLogDeliveryAclCheck
menjadi“Action”:
[“s3:GetBucketAcl”, “s3:ListBucket”]
.
Izin untuk menggunakan AWS Key Management Service dengan kunci KMS
Jika tujuan pencatatan Anda menggunakan enkripsi sisi server dengan kunci yang disimpan di AWS Key Management Service (SSE-KMS) dan Anda menggunakan kunci terkelola pelanggan (kunci KMS), Anda harus memberikan AWS WAF izin untuk menggunakan kunci KMS Anda. Untuk melakukan ini, Anda menambahkan kebijakan kunci ke kunci KMS untuk tujuan yang Anda pilih. Ini memungkinkan AWS WAF logging untuk menulis file log Anda ke tujuan Anda.
Tambahkan kebijakan kunci berikut ke kunci KMS Anda untuk memungkinkan masuk AWS WAF ke bucket Amazon S3 Anda.
{ "Sid": "Allow AWS WAF to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }
Izin diperlukan untuk mengakses file log Amazon S3
Amazon S3 menggunakan daftar kontrol akses (ACLs) untuk mengelola akses ke file log yang dibuat oleh log. AWS WAF
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 Ikhtisar Daftar Kontrol Akses (ACL) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.