Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bucket Layanan Penyimpanan Sederhana Amazon
Topik ini memberikan informasi untuk mengirim log ACL lalu lintas web Anda ke bucket Amazon S3.
catatan
Anda dikenakan biaya untuk logging selain biaya untuk menggunakan AWS WAF. Untuk informasi, lihat Harga untuk mencatat informasi lalu lintas ACL web.
Untuk mengirim log ACL lalu lintas web Anda ke Amazon S3, Anda menyiapkan bucket Amazon S3 dari akun yang sama seperti yang Anda gunakan untuk mengelola ACL web, dan Anda memberi nama bucket 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 standar. SQL 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 (-). AWS Key Management Service SSE KMS AWS KMS keys AWS WAF tidak mendukung enkripsi untuk AWS Key Management Service kunci yang dikelola oleh AWS.
Web Anda ACLs mempublikasikan file log mereka 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 yang disisipkan dengan beberapa catatan. Untuk melihat semua file log untuk webACL, cari entri yang digabungkan berdasarkan ACL nama web, Wilayah, dan ID akun Anda.
Persyaratan penamaan dan sintaks
Nama bucket Anda untuk AWS WAF logging harus dimulai dengan aws-waf-logs-
dan dapat diakhiri dengan akhiran apa pun yang Anda inginkan. Misalnya, aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX
.
Lokasi ember
Lokasi bucket menggunakan sintaks berikut:
s3://aws-waf-logs-
DOC-EXAMPLE-BUCKET-SUFFIX
/
Ember ARN
Format bucket Amazon Resource Name (ARN) adalah sebagai berikut:
arn:aws:s3:::aws-waf-logs-
DOC-EXAMPLE-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-
DOC-EXAMPLE-BUCKET-SUFFIX
/DOC-EXAMPLE-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, ACL nama 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 nama file log mematuhi spesifikasi format stempel waktu. YYYYMMddTHHmmZ
Berikut ini menunjukkan contoh file log di bucket Amazon S3 untuk bucket bernama. DOC-EXAMPLE-BUCKET
Akun AWS adalah11111111111
. Web ACL adalah TEST-WEBACL
dan Wilayah 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 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 pencatatan ACL lalu lintas 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 berbutir halus ke pencatatan dan AWS WAF sumber daya, Anda dapat mengatur izin ini sendiri. Untuk informasi tentang mengelola izin, lihat Manajemen akses untuk AWS
sumber daya di Panduan IAM Pengguna. Untuk informasi tentang kebijakan AWS WAF terkelola, lihatAWS kebijakan terkelola untuk AWS WAF.
Izin berikut memungkinkan Anda mengubah konfigurasi ACL pencatatan 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-
amzn-s3-demo-bucket
" ], "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-
amzn-s3-demo-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-amzn-s3-demo-bucket
", "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-
:amzn-s3-demo-bucket
{ "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-
amzn-s3-demo-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-amzn-s3-demo-bucket
", "Condition": { "StringEquals": { "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } } ] }
Izin untuk menggunakan AWS Key Management Service dengan kunci KMS
Jika tujuan logging Anda menggunakan enkripsi sisi server dengan kunci yang disimpan di AWS Key Management Service (SSE-KMS) dan Anda menggunakan kunci terkelola pelanggan (KMSkunci), Anda harus memberikan AWS WAF izin untuk menggunakan kunci Anda. KMS Untuk melakukan ini, Anda menambahkan kebijakan kunci ke KMS kunci untuk tujuan yang Anda pilih. Ini memungkinkan AWS WAF logging untuk menulis file log Anda ke tujuan Anda.
Tambahkan kebijakan kunci berikut ke KMS kunci 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 Daftar Kontrol Akses (ACL) Ringkasan di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.