View a markdown version of this page

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

Izin pengguna

Untuk mengaktifkan pengiriman log ke Amazon S3, Anda harus masuk dengan izin berikut.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:delivery:*", "arn:aws:logs:us-east-1:111122223333:delivery-source:*", "arn:aws:logs:us-east-1:111122223333:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

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": "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:delivery-source:*" ] } } } ] }

Di kebijakan sebelumnya, foraws:SourceAccount, tentukan daftar ID akun yang lognya dikirimkan ke bucket ini. Untukaws:SourceArn, tentukan daftar ARN dari 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 dalam kebijakan sebelumnya, dan pengguna yang mengatur logging memiliki S3:PutBucketPolicy izin S3:GetBucketPolicy dan untuk bucket, pernyataan tersebut 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 dalam 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”]

Enkripsi sisi server bucket Amazon S3

Anda dapat melindungi data di bucket Amazon S3 Anda dengan mengaktifkan Enkripsi sisi server dengan S3-managed kunci Amazon (SSE-S3) atau enkripsi sisi server dengan AWS KMS kunci yang disimpan di (). AWS Key Management Service SSE-KMS 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 ter AWS kelola, log akan dikirimkan dalam format yang tidak dapat dibaca.

Saat menggunakan AWS KMS kunci yang dikelola pelanggan, Anda dapat menentukan Nama Sumber Daya Amazon (ARN) dari kunci yang dikelola pelanggan saat mengaktifkan enkripsi bucket. Anda harus menambahkan yang berikut ini ke kebijakan kunci untuk kunci yang dikelola 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 yang dikelola pelanggan, Anda dapat menentukan Nama Sumber Daya Amazon (ARN) dari kunci yang dikelola pelanggan saat mengaktifkan enkripsi bucket. Anda harus menambahkan yang berikut ini ke kebijakan kunci untuk kunci yang dikelola 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:delivery-source:*"] } } }

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