Bagaimana AWS CloudTrail menggunakan AWS KMS - AWS CloudTrail

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

Bagaimana AWS CloudTrail menggunakan AWS KMS

Bagian ini menjelaskan cara AWS KMS kerja dengan CloudTrail jejak yang dienkripsi dengan kunci SSE -KMS.

penting

AWS CloudTrail dan Amazon S3 hanya mendukung simetris. AWS KMS keys Anda tidak dapat menggunakan KMSkunci asimetris untuk mengenkripsi Log Anda CloudTrail . Untuk bantuan menentukan apakah KMS kunci simetris atau asimetris, lihat Mengidentifikasi tipe kunci yang berbeda dalam Panduan AWS Key Management Service Pengembang.

Anda tidak membayar biaya penggunaan kunci saat CloudTrail membaca atau menulis file log yang dienkripsi dengan kunci SSE -KMS. Namun, Anda membayar biaya penggunaan kunci saat mengakses file CloudTrail log yang dienkripsi dengan kunci SSE -KMS. Untuk informasi tentang AWS KMS harga, lihat AWS Key Management Service Harga. Untuk informasi tentang CloudTrail harga, lihat AWS CloudTrail harga.

Memahami kapan KMS kunci Anda digunakan untuk jejak Anda

Mengenkripsi file CloudTrail log dengan AWS KMS build pada fitur Amazon S3 yang disebut enkripsi sisi server dengan (-). AWS KMS key SSE KMS Untuk mempelajari lebih lanjut tentang SSE -KMS, lihat Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Ketika Anda mengonfigurasi AWS CloudTrail untuk menggunakan SSE - KMS untuk mengenkripsi file log Anda, CloudTrail dan Amazon S3 menggunakan AWS KMS keys Anda ketika Anda melakukan tindakan tertentu dengan layanan tersebut. Bagian berikut menjelaskan kapan dan bagaimana layanan tersebut dapat menggunakan KMS kunci Anda, dan memberikan informasi tambahan yang dapat Anda gunakan untuk memvalidasi penjelasan ini.

Anda mengonfigurasi CloudTrail untuk mengenkripsi file log dengan AWS KMS key

Saat Anda memperbarui CloudTrail konfigurasi untuk menggunakan KMS kunci Anda, CloudTrail kirimkan GenerateDataKeypermintaan AWS KMS untuk memverifikasi bahwa KMS kunci itu ada dan yang CloudTrail memiliki izin untuk menggunakannya untuk enkripsi. CloudTrail tidak menggunakan kunci data yang dihasilkan.

Permintaan GenerateDataKey tersebut mencakup informasi berikut untuk konteks enkripsi:

GenerateDataKeyPermintaan menghasilkan entri di CloudTrail log Anda yang mirip dengan contoh berikut. Ketika Anda melihat entri log seperti ini, Anda dapat menentukan yang CloudTrail disebut AWS KMS GenerateDataKey operasi untuk jejak tertentu. AWS KMS membuat kunci data di bawah KMS kunci tertentu.

{ "eventVersion": "1.09", "userIdentity": { "type": "AWSService", "invokedBy": "cloudtrail.amazonaws.com" }, "eventTime": "2024-12-06T20:14:46Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "cloudtrail.amazonaws.com", "userAgent": "cloudtrail.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:123456789012:key/example1-6736-4661-bf00-exampleeb770", "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket-123456789012-9af1fb49/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T2010Z_TO50OLMG1hIQ1png.json.gz" } }, "responseElements": null, "requestID": "a0555e85-7e8a-4765-bd8f-2222295558e1", "eventID": "e4f3557e-7dbd-4e37-a00a-d86c137d1111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example1-6736-4661-bf00-exampleeb770" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "sharedEventID": "ce71d6be-0846-498e-851f-111a1af9078f", "eventCategory": "Management" }

CloudTrail menempatkan file log ke bucket S3 Anda

Setiap kali CloudTrail memasukkan file log ke bucket S3 Anda, Amazon S3 mengirimkan GenerateDataKeypermintaan AWS KMS ke atas nama. CloudTrail Menanggapi permintaan ini, AWS KMS buat kunci data unik dan kemudian mengirimkan Amazon S3 dua salinan kunci data, satu dalam teks biasa dan satu yang dienkripsi dengan kunci yang ditentukan. KMS Amazon S3 menggunakan kunci data plaintext untuk mengenkripsi file CloudTrail log dan kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan. Amazon S3 menyimpan kunci data terenkripsi sebagai metadata dengan file log terenkripsi. CloudTrail

Permintaan GenerateDataKey tersebut mencakup informasi berikut untuk konteks enkripsi:

Setiap GenerateDataKey permintaan menghasilkan entri di CloudTrail log Anda yang mirip dengan contoh berikut. Ketika Anda melihat entri log seperti ini, Anda dapat menentukan yang CloudTrail disebut AWS KMS GenerateDataKey operasi untuk jejak tertentu untuk melindungi file log tertentu. AWS KMS membuat kunci data di bawah kunci yang ditentukanKMS, ditampilkan dua kali dalam entri log yang sama.

{ "eventVersion": "1.09", "userIdentity": { "type": "AWSService", "invokedBy": "cloudtrail.amazonaws.com" }, "eventTime": "2024-12-06T21:49:28Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "cloudtrail.amazonaws.com", "userAgent": "cloudtrail.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1::trail/insights-trail", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket1-123456789012-7867ab0c/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T2150Z_hVXmrJzjZk2wAM2V.json.gz" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" }, "responseElements": null, "requestID": "11117d14-9232-414a-b3d1-01bab4dc9f99", "eventID": "999e9a50-512c-4e2a-84a3-111a5f511111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "sharedEventID": "5e663acc-b7fd-4cdd-8328-0eff862952fa", "eventCategory": "Management" }

Anda mendapatkan berkas log yang dienkripsi dari bucket S3 Anda

Setiap kali Anda mendapatkan file CloudTrail log terenkripsi dari bucket S3 Anda, Amazon S3 mengirimkan Decryptpermintaan ke AWS KMS atas nama Anda untuk mendekripsi kunci data terenkripsi file log. Menanggapi permintaan ini, AWS KMS gunakan KMS kunci Anda untuk mendekripsi kunci data dan kemudian mengirimkan kunci data teks biasa ke Amazon S3. Amazon S3 menggunakan kunci data plaintext untuk mendekripsi file CloudTrail log dan kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.

Permintaan Decrypt tersebut mencakup informasi berikut untuk konteks enkripsi:

Setiap Decrypt permintaan menghasilkan entri di CloudTrail log Anda yang mirip dengan contoh berikut. Ketika Anda melihat entri log seperti ini, Anda dapat menentukan bahwa peran yang diasumsikan disebut AWS KMS Decrypt operasi untuk jejak tertentu dan file log tertentu. AWS KMS mendekripsi kunci data di bawah kunci tertentuKMS.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/Admin", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "attributes": { "creationDate": "2024-12-06T22:04:04Z", "mfaAuthenticated": "false" } }, "invokedBy": "AWS Internal" }, "eventTime": "2024-12-06T22:26:34Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1:123456789012:trail/insights-trail", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket1-123456789012-7867ab0c/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T0000Z_aAAsHbGBdye3jp2R.json.gz" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "1ab2d2d2-111a-2222-a59b-11a2b3832b53", "eventID": "af4d4074-2849-4b3d-1a11-a1aaa111a111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }