Mengaktifkan pencatatan audit - Amazon WorkMail

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

Mengaktifkan pencatatan audit

Anda dapat menggunakan log audit untuk menangkap informasi terperinci tentang penggunaan WorkMail organisasi Amazon Anda. Log audit dapat digunakan untuk memantau akses pengguna ke kotak pesan, mengaudit aktivitas mencurigakan, dan men-debug kontrol akses dan konfigurasi penyedia ketersediaan.

catatan

Kebijakan AmazonWorkMailFullAccessterkelola tidak mencakup semua izin yang diperlukan untuk mengelola pengiriman log. Jika Anda menggunakan kebijakan ini untuk mengelola WorkMail, pastikan prinsipal (misalnya, peran yang diasumsikan) yang digunakan untuk mengonfigurasi pengiriman log juga memiliki semua izin yang diperlukan.

Amazon WorkMail mendukung tiga tujuan pengiriman untuk log audit: CloudWatch Log, Amazon S3, dan Amazon Data Firehose. Untuk informasi selengkapnya, lihat Logging yang memerlukan izin tambahan [V2] di Panduan Pengguna Amazon CloudWatch Logs.

Selain izin yang tercantum dalam Logging yang memerlukan izin tambahan [V2], Amazon WorkMail memerlukan izin tambahan untuk mengonfigurasi pengiriman log:. workmail:AllowVendedLogDeliveryForResource

Pengiriman log kerja terdiri dari tiga elemen:

  • DeliverySource, objek logis yang mewakili sumber daya atau sumber daya yang mengirim log. Untuk Amazon WorkMail, ini adalah WorkMail Organisasi Amazon.

  • A DeliveryDestination, yang merupakan objek logis yang mewakili tujuan pengiriman yang sebenarnya.

  • Pengiriman, yang menghubungkan sumber pengiriman ke tujuan pengiriman.

Untuk mengonfigurasi pengiriman log antara Amazon WorkMail dan tujuan, Anda dapat melakukan hal berikut:

  • Buat sumber pengiriman dengan PutDeliverySource.

  • Buat tujuan pengiriman dengan PutDeliveryDestination.

  • Jika Anda mengirimkan log lintas akun, Anda harus menggunakan PutDeliveryDestinationPolicydi akun tujuan untuk menetapkan kebijakan IAM ke tujuan. Kebijakan ini mengizinkan pembuatan pengiriman dari sumber pengiriman di akun A ke tujuan pengiriman di akun B.

  • Buat pengiriman dengan memasangkan tepat satu sumber pengiriman dan satu tujuan pengiriman dengan menggunakan CreateDelivery.

Bagian berikut memberikan rincian izin yang harus Anda miliki saat masuk untuk menyiapkan pengiriman log ke setiap jenis tujuan. Izin ini dapat diberikan ke peran IAM yang Anda gunakan untuk masuk.

penting

Anda bertanggung jawab untuk menghapus sumber daya pengiriman log setelah menghapus sumber daya penghasil log.

Untuk menghapus sumber daya pengiriman log setelah menghapus sumber daya penghasil log, ikuti langkah-langkah berikut.

  1. Hapus Pengiriman dengan menggunakan DeleteDeliveryoperasi.

  2. Hapus DeliverySourcedengan menggunakan DeleteDeliverySourceoperasi.

  3. Jika yang DeliveryDestinationterkait dengan DeliverySourceyang baru saja Anda hapus hanya digunakan untuk spesifik ini DeliverySource, maka Anda dapat menghapusnya dengan menggunakan DeleteDeliveryDestinationsoperasi.

Mengonfigurasi pencatatan audit menggunakan konsol Amazon WorkMail

Anda dapat mengonfigurasi pencatatan audit di WorkMail konsol Amazon:

  1. Buka WorkMail konsol Amazon di https://console.aws.amazon.com/workmail/.

    Jika perlu, ubah AWS Wilayah. Di bilah di bagian atas jendela konsol, buka daftar Pilih Wilayah dan pilih Wilayah. Untuk informasi selengkapnya, lihat Wilayah dan titik akhir di Referensi Umum Amazon Web.

  2. Di panel navigasi, pilih Organizations, lalu pilih nama organisasi Anda.

  3. Pilih pengaturan Logging.

  4. Pilih tab Pengaturan log audit.

  5. Konfigurasikan pengiriman untuk jenis log yang diperlukan menggunakan widget yang sesuai.

  6. Pilih Simpan.

Log dikirim ke CloudWatch Log

Izin pengguna

Untuk mengaktifkan pengiriman CloudWatch log ke Log, Anda harus masuk dengan izin berikut.

{ "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" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:*" ] } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

Kebijakan sumber daya grup log

Grup log tempat log dikirim harus memiliki kebijakan sumber daya yang mencakup izin tertentu. Jika grup log saat ini tidak memiliki kebijakan sumber daya, dan pengguna yang mengatur logging memilikilogs:PutResourcePolicy,logs:DescribeResourcePolicies, dan logs:DescribeLogGroups izin untuk grup log, maka AWS secara otomatis membuat kebijakan berikut untuk itu ketika Anda mulai mengirim CloudWatch log ke Log.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AWSLogDeliveryWrite20150319", "Effect":"Allow", "Principal":{ "Service":[ "delivery.logs.amazonaws.com" ] }, "Action":[ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":[ "arn:aws:logs:region:account-id:log-group:my-log-group:log-stream:*" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:*" ] } } } ] }

Pertimbangan batas ukuran kebijakan sumber daya grup log

Layanan ini harus mencantumkan setiap grup log tempat mereka mengirim log ke dalam kebijakan sumber daya. CloudWatch Kebijakan sumber daya log dibatasi hingga 5.120 karakter. Layanan yang mengirimkan log ke sejumlah besar grup log mungkin mengalami batas ini.

Untuk mengurangi hal ini, CloudWatch Log memantau ukuran kebijakan sumber daya yang digunakan oleh layanan yang mengirim log. Ketika mendeteksi bahwa kebijakan mendekati batas ukuran 5.120 karakter, CloudWatch Log secara otomatis mengaktifkan /aws/vendedlogs/* kebijakan sumber daya untuk layanan tersebut. Anda kemudian dapat mulai menggunakan grup log dengan nama yang dimulai dengan /aws/vendedlogs/ sebagai tujuan log dari layanan-layanan ini.

Log yang dikirim ke Amazon S3

Izin pengguna

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

{ "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" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

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

{ "Version":"2012-10-17", "Id":"AWSLogDeliveryWrite20150319", "Statement":[ { "Sid":"AWSLogDeliveryAclCheck", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::my-bucket", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:delivery-source:*" ] } } }, { "Sid":"AWSLogDeliveryWrite", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::my-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:delivery-source:*" ] } } } ] }

Dalam kebijakan sebelumnya, 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:*.

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 untukdelivery.logs.amazonaws.com. Anda juga harus menyertakan Condition parameter yang ditampilkan dengan s3:GetBucketAcl izin yang ditetapkan dalam kebijakan bucket sebelumnya. Untuk merampingkan ini, 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 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 yang dikelola AWS 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. Tambahkan 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. Tambahkan 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":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:delivery-source:*" ] } } }

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

Log dikirim ke Firehose

Izin pengguna

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

{ "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" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyFH", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": [ "arn:aws:firehose:region:account-id:deliverystream/*" ] }, { "Sid": "CreateServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::account-id:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

Peran IAM yang digunakan untuk izin sumber daya

Karena Firehose tidak menggunakan kebijakan sumber daya, AWS menggunakan peran IAM saat menyiapkan log ini untuk dikirim ke Firehose. AWS membuat peran terkait layanan bernama. AWSServiceRoleForLogDelivery Peran terkait layanan ini mencakup izin berikut.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

Peran terkait layanan ini memberikan izin untuk semua aliran pengiriman Firehose yang memiliki tag yang disetel ke. LogDeliveryEnabled true AWS memberikan tag ini ke aliran pengiriman tujuan saat Anda mengatur logging.

Peran terkait layanan ini juga memiliki kebijakan kepercayaan yang memungkinkan layanan delivery.logs.amazonaws.com utama untuk mengasumsikan peran yang terhubung dengan layanan yang diperlukan. Kebijakan kepercayaan tersebut adalah sebagai berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Izin khusus konsol

Selain izin yang tercantum di bagian sebelumnya, jika Anda menyiapkan pengiriman log menggunakan konsol alih-alih API, Anda juga memerlukan izin berikut:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowLogDeliveryActions", "Effect":"Allow", "Action":[ "firehose:DescribeDeliveryStream", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:logs:region:account-id:log-group:*", "arn:aws:firehose:region:account-id:deliverystream/*", "arn:aws:s3:::*" ] }, { "Sid":"ListAccessForDeliveryDestinations", "Effect":"Allow", "Action":[ "logs:DescribeLogGroups", "firehose:ListDeliveryStreams", "s3:ListAllMyBuckets" ], "Resource":"*" } ] }