Log yang dikirim ke Amazon S3 - CloudWatch Log Amazon

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

Log yang dikirim ke Amazon S3

Saat Anda menyetel log untuk dikirim ke Amazon S3, AWS buat atau ubah kebijakan sumber daya yang terkait dengan bucket S3 yang menerima log, jika diperlukan.

Log yang diterbitkan langsung ke Amazon S3 diterbitkan ke bucket lama yang Anda tentukan. Satu atau lebih berkas log dibuat setiap lima menit dalam bucket yang ditetapkan.

Ketika Anda mengirimkan log untuk pertama kalinya ke bucket Amazon S3, layanan yang mengirimkan log mencatat pemilik bucket untuk memastikan bahwa log dikirim hanya untuk bucket milik akun ini. Oleh karenanya, untuk mengubah pemilik bucket Amazon S3, Anda harus membuat ulang atau memperbarui langganan log di layanan asal.

catatan

CloudFront menggunakan model izin yang berbeda dari layanan lain yang mengirim log vended ke S3. Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk mengonfigurasi pencatatan log standar dan untuk mengakses berkas log Anda.

Selain itu, jika Anda menggunakan bucket S3 yang sama untuk log CloudFront akses dan sumber log lainnya, mengaktifkan ACL di bucket CloudFront juga memberikan izin ke semua sumber log lain yang menggunakan bucket ini.

penting

Jika Anda mengirim log ke bucket Amazon S3 dan kebijakan bucket berisi NotPrincipal elemen NotAction atau, menambahkan izin pengiriman log ke bucket secara otomatis dan membuat langganan log akan gagal. Agar berhasil membuat langganan log, Anda perlu menambahkan izin pengiriman log secara manual ke kebijakan bucket, lalu membuat langganan log. Untuk informasi lebih lanjut, lihat petunjuk di bagian ini.

Jika bucket memiliki enkripsi sisi server menggunakan AWS KMS kunci yang dikelola pelanggan, Anda juga harus menambahkan kebijakan kunci untuk kunci terkelola pelanggan Anda. Untuk informasi selengkapnya, lihat Amazon S3.

Jika bucket tujuan mengaktifkan SSE-KMS dan Kunci Bucket, kebijakan kunci KMS terkelola pelanggan terlampir tidak lagi berfungsi seperti yang diharapkan untuk semua permintaan. Untuk informasi selengkapnya, lihat Mengurangi biaya SSE-KMS dengan Amazon S3 Bucket Keys.

Jika Anda menggunakan log penjual otomatis dan enkripsi S3 dengan AWS KMS kunci yang dikelola pelanggan, Anda harus menggunakan AWS KMS ARN kunci yang sepenuhnya memenuhi syarat alih-alih ID kunci saat mengonfigurasi bucket. Untuk informasi selengkapnya, lihat put-bucket-encryption.

Izin pengguna

Untuk dapat mengatur pengiriman salah satu jenis log ini ke Amazon S3 untuk pertama kalinya, Anda harus masuk ke akun dengan izin berikut.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Jika salah satu jenis log ini sudah dikirim ke bucket Amazon S3, untuk mengatur pengiriman dari salah satu jenis log ini ke bucket yang sama Anda hanya perlu memiliki izin logs:CreateLogDelivery.

Kebijakan sumber daya bucket S3

Bucket S3 tempat log dikirim harus memiliki kebijakan sumber daya yang mencakup izin tertentu. Jika saat ini bucket tidak memiliki kebijakan sumber daya, dan pengguna yang mengatur pencatatan memiliki izin S3:GetBucketPolicy dan S3:PutBucketPolicy untuk bucket, maka AWS secara otomatis membuat kebijakan berikut ini saat Anda mulai mengirim log ke Amazon S3.

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

Dalam kebijakan sebelumnya, untukaws:SourceAccount, tentukan daftar ID akun tempat log dikirimkan ke bucket ini. Untukaws:SourceArn, tentukan daftar ARNs sumber daya yang menghasilkan log, dalam formulirarn:aws:logs:source-region:source-account-id:*.

Jika bucket memiliki kebijakan sumber daya tetapi kebijakan tersebut tidak berisi pernyataan yang ditampilkan di kebijakan sebelumnya, dan pengguna yang menyiapkan logging memiliki S3:PutBucketPolicy izin S3:GetBucketPolicy dan untuk bucket, pernyataan tersebut akan ditambahkan ke kebijakan sumber daya bucket.

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 to be “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Enkripsi sisi server bucket Amazon S3

Anda dapat melindungi data di bucket Amazon S3 dengan mengaktifkan Enkripsi sisi server dengan kunci yang dikelola Amazon S3 (SSE-S3) atau enkripsi sisi server dengan kunci yang disimpan di (SSE-KMS). AWS KMS AWS Key Management Service Untuk informasi selengkapnya, silakan lihat Melindungi data menggunakan enkripsi sisi server.

Jika Anda memilih SSE-S3, tidak diperlukan konfigurasi tambahan. Amazon S3 menangani kunci enkripsi.

Awas

Jika Anda memilih SSE-KMS, Anda harus menggunakan kunci yang dikelola pelanggan, karena menggunakan kunci AWS terkelola tidak didukung untuk skenario ini. Jika Anda mengatur enkripsi menggunakan kunci AWS terkelola, log akan dikirimkan dalam format yang tidak dapat dibaca.

Saat menggunakan AWS KMS kunci terkelola pelanggan, Anda dapat menentukan Nama Sumber Daya Amazon (ARN) kunci terkelola pelanggan saat mengaktifkan enkripsi bucket. Anda harus menambahkan hal berikut ke kebijakan kunci untuk kunci terkelola pelanggan Anda (bukan ke kebijakan bucket untuk bucket S3 Anda), sehingga akun pengiriman log dapat menulis ke bucket S3 Anda.

Jika Anda memilih SSE-KMS, Anda harus menggunakan kunci yang dikelola pelanggan, karena menggunakan kunci AWS terkelola tidak didukung untuk skenario ini. Saat menggunakan AWS KMS kunci terkelola pelanggan, Anda dapat menentukan Nama Sumber Daya Amazon (ARN) kunci terkelola pelanggan saat mengaktifkan enkripsi bucket. Anda harus menambahkan hal berikut ke kebijakan kunci untuk kunci terkelola pelanggan Anda (bukan ke kebijakan bucket untuk bucket S3 Anda), sehingga akun pengiriman log dapat menulis ke bucket S3 Anda.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }

Untukaws:SourceAccount, tentukan daftar ID akun tempat log dikirim ke bucket ini. Untukaws:SourceArn, tentukan daftar ARNs sumber daya yang menghasilkan log, dalam formulirarn:aws:logs:source-region:source-account-id:*.