Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengaktifkan pencatatan akses server Amazon S3
Pencatatan akses server menyediakan catatan terperinci untuk permintaan yang dilakukan ke bucket Amazon S3 Anda. Log akses server bermanfaat untuk berbagai macam aplikasi. Misalnya, informasi log akses dapat berguna dalam audit keamanan dan akses. Informasi ini juga dapat membantu Anda untuk mempelajari basis pelanggan Anda, serta memahami tagihan Amazon S3.
Secara default, Amazon S3 tidak mengumpulkan log akses server. Saat Anda mengaktifkan pencatatan log, Amazon S3 mengirimkan pencatatan akses untuk bucket sumber ke bucket tujuan (juga dikenal sebagai bucket target) yang Anda pilih. Bucket tujuan harus sama Wilayah AWS dan Akun AWS sebagai ember sumber.
Catatan log akses berisi detail tentang permintaan yang dilakukan ke bucket. Informasi ini dapat mencakup jenis permintaan, sumber daya yang ditentukan dalam permintaan, dan waktu serta tanggal pemrosesan permintaan. Untuk informasi lebih lanjut tentang dasar pencatatan log, lihat Pencatatan permintaan dengan pencatatan akses server.
penting
-
Tidak ada biaya tambahan untuk mengaktifkan pencatatan akses server di bucket Amazon S3. Namun, semua file log yang dikirim sistem kepada Anda akan dikenakan biaya penyimpanan yang biasa. (Anda dapat menghapus file log ini kapan saja.) Kami tidak menilai biaya transfer data untuk pengiriman file log, tetapi kami memang mengenakan tarif transfer data normal untuk mengakses file log.
-
bucket tujuan Anda seharusnya tidak memiliki akses server pencatatan yang diaktifkan. Anda dapat mengirimkan log ke bucket mana pun milik Anda yang berada di Wilayah yang sama dengan bucket sumber, termasuk bucket sumber itu sendiri. Namun, mengirimkan log ke bucket sumber akan menyebabkan loop log yang tak terbatas dan tidak disarankan. Tetapi untuk manajemen log yang lebih sederhana, kami sarankan agar Anda menyimpan log akses dalam bucket yang berbeda. Untuk informasi selengkapnya, silakan lihat Bagaimana cara mengaktifkan log pengiriman?
-
Bucket S3 yang mengaktifkan Kunci Objek S3 tidak dapat digunakan sebagai bucket tujuan untuk pencatatan akses server. Bucket tujuan Anda tidak boleh memiliki konfigurasi periode retensi default.
-
Bucket tujuan tidak boleh mengaktifkan Pembayaran oleh Pemohon.
-
Anda dapat menggunakan enkripsi bucket default pada bucket tujuan hanya jika Anda menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3), yang menggunakan Standar Enkripsi Lanjutan 256 bit (AES-256). Enkripsi sisi server default dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS) tidak didukung.
Anda dapat mengaktifkan atau menonaktifkan pencatatan akses server dengan menggunakan konsol Amazon S3, Amazon S3 API,AWS CLI(), AWS Command Line Interface atau. AWS SDKs
Izin untuk pengiriman log
Amazon S3 menggunakan akun pengiriman log kustom untuk menulis log akses server. Penulisan ini tunduk pada pembatasan kontrol akses biasa. Untuk pengiriman log akses, Anda harus memberikan akses kepada pengguna utama layanan pencatatan (logging.s3.amazonaws.com
) ke bucket tujuan Anda.
Untuk memberikan izin ke Amazon S3 untuk pengiriman log, Anda dapat menggunakan kebijakan bucket atau daftar kontrol akses bucket ACLs (), tergantung pada setelan Kepemilikan Objek S3 bucket tujuan. Namun, kami menyarankan Anda menggunakan kebijakan bucket sebagai gantinya ACLs.
Pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan Objek S3
Jika bucket tujuan menggunakan setelan diberlakukan pemilik Bucket untuk Kepemilikan Objek, akan ACLs dinonaktifkan dan tidak lagi memengaruhi izin. Dalam hal ini, Anda harus memperbarui kebijakan bucket untuk bucket tujuan untuk memberikan akses ke pengguna utama layanan logging. Anda tidak dapat memperbarui ACL bucket untuk memberikan akses ke grup pengiriman log S3. Anda juga tidak dapat memasukkan hibah tujuan (juga dikenal sebagai hibah target) di PutBucketLoggingkonfigurasi.
Untuk informasi tentang memigrasi bucket yang ada ACLs untuk pengiriman log akses ke kebijakan bucket, lihatBerikan akses ke grup pengiriman log S3 untuk pencatatan akses server. Untuk informasi selengkapnya tentang Kepemilikan Objek, lihat Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda. Saat Anda membuat bucket baru, dinonaktifkan ACLs secara default.
memberikan akses dengan menggunakan kebijakan bucket
Untuk memberikan akses dengan menggunakan kebijakan bucket di bucket tujuan, perbarui kebijakan bucket untuk memberikan izin s3:PutObject
kepada pengguna utama layanan logging. Jika Anda menggunakan konsol Amazon S3 untuk mengaktifkan pencatatan akses server, konsol secara otomatis memperbarui kebijakan bucket pada bucket tujuan untuk memberikan izin ini kepada pengguna utama layanan pencatatan. Jika Anda mengaktifkan pencatatan akses server secara terprogram, Anda harus memperbarui kebijakan bucket secara manual untuk bucket tujuan untuk memberikan akses ke pengguna utama layanan logging.
Untuk contoh kebijakan bucket yang memberikan akses ke pengguna utama layanan logging, lihat Berikan izin kepada pengguna utama layanan logging dengan menggunakan kebijakan bucket.
Memberikan akses dengan menggunakan bucket ACLs
Anda dapat menggunakan bucket secara bergantian ACLs untuk memberikan akses untuk pengiriman log akses. Anda menambahkan entri pemberian ke ACL bucket yang memberikan izin WRITE
dan READ_ACP
ke grup pengiriman log S3. Namun, pemberian akses ke grup pengiriman log S3 dengan menggunakan bucket tidak ACLs disarankan. Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda. Untuk informasi tentang memigrasi bucket yang ada ACLs untuk pengiriman log akses ke kebijakan bucket, lihatBerikan akses ke grup pengiriman log S3 untuk pencatatan akses server. Untuk contoh ACL yang memberikan akses ke pengguna utama layanan logging, lihat Berikan izin ke grup pengiriman log dengan menggunakan bucket ACL.
Berikan izin kepada pengguna utama layanan logging dengan menggunakan kebijakan bucket
Contoh kebijakan bucket ini memberikan s3:PutObject
izin kepada pengguna utama layanan logging (logging.s3.amazonaws.com
). Untuk menggunakan kebijakan bucket ini, ganti
dengan informasi Anda sendiri. Dalam kebijakan berikut, user input placeholders
adalah bucket tujuan tempat log akses server akan dikirimkan, dan amzn-s3-demo-destination-bucket
merupakan bucket sumber. amzn-s3-demo-source-bucket
adalah awalan tujuan opsional (juga dikenal sebagai awalan target) yang ingin Anda gunakan untuk objek log Anda. EXAMPLE-LOGGING-PREFIX
adalah Akun AWS yang memiliki ember sumber. SOURCE-ACCOUNT-ID
catatan
Jika terdapat pernyataan Deny
dalam kebijakan bucket Anda, pastikan pernyataan tersebut tidak mencegah Amazon S3 mengirimkan pencatatan akses.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
amzn-s3-demo-destination-bucket
/EXAMPLE-LOGGING-PREFIX
*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-ACCOUNT-ID
" } } } ] }
Berikan izin ke grup pengiriman log dengan menggunakan bucket ACL
catatan
Sebagai praktik keamanan terbaik, Amazon S3 menonaktifkan daftar kontrol akses (ACLs) secara default di semua bucket baru. Untuk informasi selengkapnya tentang izin ACL di konsol Amazon S3, lihat Mengkonfigurasi ACLs.
Meskipun kami tidak merekomendasikan pendekatan ini, Anda dapat memberikan izin ke grup pengiriman log dengan menggunakan bucket ACL. Namun, jika bucket tujuan menggunakan setelan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, Anda tidak dapat menyetel bucket atau objek ACLs. Anda juga tidak dapat memasukkan hibah tujuan (juga dikenal sebagai hibah target) di PutBucketLoggingkonfigurasi. Sebagai gantinya, Anda harus menggunakan kebijakan bucket untuk memberikan akses ke pengguna utama layanan logging (logging.s3.amazonaws.com
). Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.
Di bucket ACL, grup pengiriman log direpresentasikan dengan URL berikut:
http://acs.amazonaws.com/groups/s3/LogDelivery
Untuk memberikan izin WRITE
dan READ_ACP
(ACL baca), menambahkan pemberian berikut ini ke ACL bucket tujuan:
<Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>READ_ACP</Permission> </Grant>
Untuk contoh penambahan pemberian ACL secara terprogram, lihat Mengkonfigurasi ACLs.
penting
Saat Anda mengaktifkan pencatatan akses server Amazon S3 dengan menggunakan AWS CloudFormation pada bucket dan Anda gunakan ACLs untuk memberikan akses ke grup pengiriman log S3, Anda juga harus menambahkan "AccessControl": "LogDeliveryWrite"
ke template Anda. CloudFormation Melakukannya penting karena Anda dapat memberikan izin tersebut hanya dengan membuat ACL untuk bucket, tetapi Anda tidak dapat membuat custom ACLs untuk bucket. CloudFormation Anda hanya dapat menggunakan kaleng ACLs dengan CloudFormation.
Untuk mengaktifkan pencatatan log akses server
Untuk mengaktifkan pencatatan akses server menggunakan konsol Amazon S3, Amazon S3 REST API AWS SDKs, AWS CLI dan, gunakan prosedur berikut.
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi kiri, pilih Bucket tujuan umum.
-
Dalam daftar bucket, pilih nama bucket yang ingin Anda aktifkan pencatatan akses server.
-
Pilih Properti.
-
Di Pencatatan akses server bagian, pilih Edit.
-
Di bawah Pencatatan akses server, pilih Aktifkan.
-
Di Bucket tujuan, tentukan bucket dan prefiks opsional. Jika Anda menentukan prefiks, sebaiknya sertakan garis miring ke depan (
/
) setelah prefiks agar lebih mudah untuk menemukan log Anda.catatan
Menentukan prefiks dengan garis miring (
/
) membuatnya lebih mudah bagi Anda untuk menemukan objek log. Misalnya, jika Anda menentukan nilai prefikslogs/
, setiap objek log yang dibuat Amazon S3 dimulai dengan prefikslogs/
pada kuncinya, sebagai berikut:logs/2013-11-01-21-32-16-E568B2907131C0C0
Jika Anda menentukan nilai prefiks
logs
, objek log muncul sebagai berikut:logs2013-11-01-21-32-16-E568B2907131C0C0
-
Di bawah Format kunci objek log , lakukan salah satu langkah berikut:
-
Untuk memilih non-date-based partisi, pilih [DestinationPrefix] [YYYY] - [MM] - [DD] - [hh] - [mm] - [ss] - []. UniqueString
-
Untuk memilih partisi berbasis tanggal, pilih [DestinationPrefix] []/[]/[SourceAccountId]/[SourceRegionYYYYSourceBucket]/[MM]/[DD]/[YYYY] - [MM] - [DD] - [hh] - [mm] - [ss] - [], lalu pilih waktu acara S3 atau Waktu pengiriman file log. UniqueString
-
-
Pilih Simpan perubahan.
Saat Anda mengaktifkan pencatatan log akses server pada bucket, konsol keduanya memungkinkan pencatatan log pada bucket sumber dan memperbarui kebijakan bucket untuk bucket tujuan guna memberikan izin
s3:PutObject
kepada pengguna utama layanan pencatatan log (logging.s3.amazonaws.com
). Untuk informasi lebih lanjut tentang kebijakan bucket ini, lihat Berikan izin kepada pengguna utama layanan logging dengan menggunakan kebijakan bucket.Anda dapat melihat pencatatan di dalam bucket tujuan. Setelah Anda mengaktifkan pencatatan akses server, mungkin perlu beberapa jam sebelum pencatatan dikirim ke bucket target. Untuk informasi selengkapnya tentang bagaimana dan kapan log dikirim, lihat Bagaimana log dikirimkan?
Untuk informasi selengkapnya, lihat Melihat properti untuk bucket S3.
Untuk mengaktifkan pencatatan, Anda mengirimkan PutBucketLoggingpermintaan untuk menambahkan konfigurasi logging pada bucket sumber. Permintaan menentukan bucket tujuan (juga dikenal sebagai bucket target) dan, secara opsional, prefiks yang akan digunakan dengan semua kunci objek log.
Contoh berikut mengidentifikasi
sebagai bucket tujuan, dan amzn-s3-demo-destination-bucket
sebagai prefiks. logs/
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <LoggingEnabled> <TargetBucket>
amzn-s3-demo-destination-bucket
</TargetBucket> <TargetPrefix>logs/
</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>
Contoh berikut mengidentifikasi
sebagai bucket tujuan, amzn-s3-demo-destination-bucket
sebagai prefiks, dan logs/
EventTime
sebagai format kunci objek log.
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <LoggingEnabled> <TargetBucket>
amzn-s3-demo-destination-bucket
</TargetBucket> <TargetPrefix>logs/
</TargetPrefix> <TargetObjectKeyFormat> <PartitionedPrefix> <PartitionDateSource>EventTime</PartitionDateSource> </PartitionedPrefix> </TargetObjectKeyFormat> </LoggingEnabled> </BucketLoggingStatus>
Objek log ditulis dan dimiliki oleh akun pengiriman log S3, dan pemilik bucket diberi izin penuh pada objek log. Anda dapat secara opsional menggunakan pemberian tujuan (juga dikenal sebagai pemberian target) untuk memberikan izin kepada pengguna lain sehingga mereka dapat mengakses log. Untuk informasi selengkapnya, silakan lihat PutBucketLogging.
catatan
Jika bucket tujuan menggunakan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, Anda tidak dapat menggunakan pemberian tujuan untuk memberikan izin kepada pengguna lain. Untuk memberikan izin kepada orang lain, Anda dapat memperbarui kebijakan bucket di bucket tujuan. Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.
Untuk mengambil konfigurasi logging pada bucket, gunakan GetBucketLoggingOperasi API.
Untuk menghapus konfigurasi pencatatan log, Anda mengirimkan PutBucketLogging
permintaan dengan BucketLoggingStatus
yang kosong:
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> </BucketLoggingStatus>
Untuk mengaktifkan logging pada bucket, Anda dapat menggunakan Amazon S3 API atau pustaka pembungkus AWS SDK.
Contoh berikut mengaktifkan pencatatan log ke bucket. Anda harus membuat dua bucket, satu bucket sumber, dan satu bucket tujuan (target). Contoh ini memperbarui bucket ACL di bucket tujuan terlebih dahulu. Mereka kemudian memberikan ke grup pengiriman log izin yang diperlukan untuk menulis log ke bucket tujuan, dan kemudian mereka mengaktifkan pencatatan log ke bucket sumber.
Contoh ini tidak akan berfungsi pada bucket tujuan yang menggunakan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek.
Jika bucket tujuan (target) menggunakan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, Anda tidak dapat menyetel bucket atau objek ACLs. Anda juga tidak dapat menyertakan hibah tujuan (target) dalam PutBucketLoggingkonfigurasi Anda. Anda harus menggunakan kebijakan bucket untuk memberikan akses ke pengguna utama layanan pencatatan (logging.s3.amazonaws.com
). Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.
Kami menyarankan Anda membuat bucket logging khusus di setiap bucket S3 Wilayah AWS yang Anda miliki. Kemudian, mintalah log akses Amazon S3 dikirimkan ke bucket S3 tersebut. Untuk informasi dan contoh selengkapnya, lihat put-bucket-logging
Jika bucket tujuan (target) menggunakan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, Anda tidak dapat menyetel bucket atau objek ACLs. Anda juga tidak dapat menyertakan hibah tujuan (target) dalam PutBucketLoggingkonfigurasi Anda. Anda harus menggunakan kebijakan bucket untuk memberikan akses ke pengguna utama layanan pencatatan (logging.s3.amazonaws.com
). Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.
contoh — Mengaktifkan pencatatan akses dengan lima bucket di dua Wilayah
Dalam contoh ini, Anda memiliki lima bucket berikut:
-
amzn-s3-demo-source-bucket
-us-east-1 -
amzn-s3-demo-source-bucket1
-us-east-1 -
amzn-s3-demo-source-bucket2
-us-east-1 -
amzn-s3-demo-bucket1
-us-west-2 -
amzn-s3-demo-bucket2
-us-west-2
catatan
Langkah terakhir dari prosedur berikut memberikan contoh skrip bash yang dapat Anda gunakan untuk membuat bucket logging Anda dan mengaktifkan log akses server pada bucket ini. Untuk menggunakan skrip tersebut, Anda harus membuat file policy.json
dan logging.json
, seperti yang dijelaskan dalam prosedur berikut.
-
Buat dua bucket pencatatan di Wilayah AS Barat (Oregon) dan AS Timur (Virginia Utara), dan beri mereka nama-nama berikut ini:
-
amzn-s3-demo-destination-bucket
-logs-us-east-1 -
amzn-s3-demo-destination-bucket1
-logs-us-west-2
-
-
Kemudian dalam langkah-langkah ini, Anda akan mengaktifkan pencatatan akses server sebagai berikut:
-
menyimpan log ke bucket S3amzn-s3-demo-source-bucket
-us-east-1
dengan prefiksamzn-s3-demo-destination-bucket
-logs-us-east-1amzn-s3-demo-source-bucket
-us-east-1 -
menyimpan log ke bucket S3amzn-s3-demo-source-bucket1
-us-east-1
dengan prefiksamzn-s3-demo-destination-bucket
-logs-us-east-1amzn-s3-demo-source-bucket1
-us-east-1 -
menyimpan log ke bucket S3amzn-s3-demo-source-bucket2
-us-east-1
dengan prefiksamzn-s3-demo-destination-bucket
-logs-us-east-1amzn-s3-demo-source-bucket2
-us-east-1 -
menyimpan log ke bucket S3amzn-s3-demo-bucket1
-us-west-2
dengan prefiksamzn-s3-demo-destination-bucket1
-logs-us-west-2amzn-s3-demo-bucket1
-us-west-2 -
menyimpan log ke bucket S3amzn-s3-demo-bucket2
-us-west-2
dengan prefiksamzn-s3-demo-destination-bucket1
-logs-us-west-2amzn-s3-demo-bucket2
-us-west-2
-
-
Untuk setiap bucket logging tujuan, berikan izin untuk pengiriman log akses server dengan menggunakan bucket ACL atau kebijakan bucket:
-
Perbarui kebijakan bucket (Disarankan)–Untuk memberikan izin kepada pengguna utama layanan logging, gunakan perintah
put-bucket-policy
berikut. Ganti
dengan nama bucket tujuan Anda.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-policy --bucket
--policy file://policy.jsonamzn-s3-demo-destination-bucket
-logsPolicy.json
adalah dokumen JSON di dalam folder saat ini, yang berisi kebijakan bucket berikut. Untuk menggunakan kebijakan bucket ini, ganti
dengan informasi Anda sendiri. Dalam kebijakan berikut,user input placeholders
adalah bucket tujuan tempat log akses server akan dikirimkan, danamzn-s3-demo-destination-bucket
-logs
merupakan bucket sumber.amzn-s3-demo-source-bucket
adalah Akun AWS yang memiliki bucket sumber.SOURCE-ACCOUNT-ID
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
amzn-s3-demo-destination-bucket
-logs
/*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-ACCOUNT-ID
" } } } ] } -
Perbarui bucket ACL—Untuk memberikan izin ke grup pengiriman log S3, gunakan perintah
put-bucket-acl
berikut. Ganti
dengan nama bucket tujuan (target) Anda.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-acl --bucket
--grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDeliveryamzn-s3-demo-destination-bucket
-logs
-
-
Kemudian, buat file
logging.json
yang berisi konfigurasi logging Anda (berdasarkan salah satu dari tiga contoh berikut). Setelah Anda membuat filelogging.json
, Anda dapat menerapkan konfigurasi logging dengan menggunakan perintahput-bucket-logging
berikut. Ganti
dengan nama bucket tujuan (target) Anda.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-logging --bucket
--bucket-logging-status file://logging.jsonamzn-s3-demo-destination-bucket
-logscatatan
Alih-alih menggunakan perintah
put-bucket-logging
ini untuk menerapkan konfigurasi logging pada setiap bucket tujuan, Anda dapat menggunakan salah satu skrip bash yang disediakan di langkah berikutnya. Untuk menggunakan skrip tersebut, Anda harus membuat filepolicy.json
danlogging.json
, seperti yang dijelaskan dalam prosedur ini.File
logging.json
ini adalah dokumen JSON di folder saat ini yang berisi konfigurasi pencatatan log. Jika bucket tujuan menggunakan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, konfigurasi logging Anda tidak dapat berisi pemberian tujuan (target). Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.contoh –
logging.json
tanpa pemberian tujuan (target)File contoh
logging.json
berikut tidak berisi pemberian tujuan (target). Oleh karena itu, Anda dapat menerapkan konfigurasi ini ke bucket tujuan (target) yang menggunakan pengaturan yang diterapkan pemilik Bucket untuk Kepemilikan Objek.{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/" } }contoh –
logging.json
dengan pemberian tujuan (target)File contoh
logging.json
berikut berisi pemberian tujuan (target).Jika bucket tujuan menggunakan setelan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek, Anda tidak dapat menyertakan hibah tujuan (target) di PutBucketLoggingkonfigurasi. Untuk informasi selengkapnya, lihat Izin untuk pengiriman log.
{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "user@example.com
" }, "Permission": "FULL_CONTROL" } ] } }contoh -
logging.json
dengan format kunci objek log yang diatur ke waktu peristiwa S3File
logging.json
berikut mengubah format kunci objek log ke waktu peristiwa S3. Untuk informasi selengkapnya tentang pengaturan format kunci objek log, lihat Bagaimana cara mengaktifkan log pengiriman?{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/", "TargetObjectKeyFormat": { "PartitionedPrefix": { "PartitionDateSource": "EventTime" } } } } -
Gunakan salah satu skrip bash berikut untuk menambahkan pencatatan log akses untuk semua bucket dalam akun Anda. Ganti
dengan nama bucket tujuan (target) Anda, dan gantiamzn-s3-demo-destination-bucket
-logs
dengan nama Wilayah tempat bucket Anda berada.us-west-2
catatan
Script ini hanya berfungsi jika semua bucket Anda berada di Wilayah yang sama. Jika Anda memiliki bucket di beberapa Wilayah, Anda harus menyesuaikan skrip-nya.
contoh – Memberikan akses dengan kebijakan bucket dan menambahkan logging untuk bucket di akun Anda
loggingBucket='
amzn-s3-demo-destination-bucket
-logs
' region='us-west-2
' # Create the logging bucket. aws s3 mb s3://$loggingBucket --region $region aws s3api put-bucket-policy --bucket $loggingBucket --policy file://policy.json # List the buckets in this account. buckets="$(aws s3 ls | awk '{print $3}')" # Put a bucket logging configuration on each bucket. for bucket in $buckets do # This if statement excludes the logging bucket. if [ "$bucket" != "$loggingBucket" ] ; then continue; fi printf '{ "LoggingEnabled": { "TargetBucket": "%s", "TargetPrefix": "%s/" } }' "$loggingBucket" "$bucket" > logging.json aws s3api put-bucket-logging --bucket $bucket --bucket-logging-status file://logging.json echo "$bucket done" done rm logging.json echo "Complete"contoh — Berikan akses dengan bucket ACLs dan tambahkan logging untuk bucket di akun Anda
loggingBucket='
amzn-s3-demo-destination-bucket
-logs
' region='us-west-2
' # Create the logging bucket. aws s3 mb s3://$loggingBucket --region $region aws s3api put-bucket-acl --bucket $loggingBucket --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery # List the buckets in this account. buckets="$(aws s3 ls | awk '{print $3}')" # Put a bucket logging configuration on each bucket. for bucket in $buckets do # This if statement excludes the logging bucket. if [ "$bucket" != "$loggingBucket" ] ; then continue; fi printf '{ "LoggingEnabled": { "TargetBucket": "%s", "TargetPrefix": "%s/" } }' "$loggingBucket" "$bucket" > logging.json aws s3api put-bucket-logging --bucket $bucket --bucket-logging-status file://logging.json echo "$bucket done" done rm logging.json echo "Complete"
Memverifikasi penyiapan log akses server Anda
Setelah Anda mengaktifkan pencatatan akses server, lakukan langkah berikut:
-
Akses bucket tujuan dan verifikasi bahwa file log sedang dikirim. Setelah log akses disiapkan, Amazon S3 segera mulai menangkap permintaan dan mencatatnya. Namun, mungkin perlu beberapa jam sebelum log dikirim ke ember tujuan. Untuk informasi selengkapnya, silakan lihat Perubahan status pencatatan log bucket memerlukan waktu dan Pengiriman log server dengan upaya terbaik.
Anda juga dapat memverifikasi pengiriman log secara otomatis dengan menggunakan metrik permintaan Amazon S3 dan menyiapkan CloudWatch alarm Amazon untuk metrik ini. Untuk informasi selengkapnya, lihat Memantau metrik dengan Amazon CloudWatch.
-
Verifikasi bahwa Anda dapat membuka dan membaca isi file log.
Untuk informasi pemecahan masalah pencatatan akses server, lihat Memecahkan masalah pencatatan akses server.