Enkripsi data saat istirahat untuk Amazon SES - Layanan Email Sederhana Amazon

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

Enkripsi data saat istirahat untuk Amazon SES

Secara default, Amazon SES mengenkripsi semua data saat istirahat. Enkripsi secara default membantu mengurangi overhead operasional dan kompleksitas yang terlibat dalam melindungi data. Enkripsi juga memungkinkan Anda untuk membuat arsip Mail Manager yang memenuhi kepatuhan enkripsi yang ketat dan persyaratan peraturan.

SESmenyediakan opsi enkripsi berikut:

  • AWS kunci yang dimiliki - SES menggunakan ini secara default. Anda tidak dapat melihat, mengelola, atau menggunakan AWS memiliki kunci, atau mengaudit penggunaannya. Namun, Anda tidak perlu mengambil tindakan apa pun atau mengubah program apa pun untuk melindungi kunci yang mengenkripsi data Anda. Untuk informasi selengkapnya, silakan lihat AWS kunci yang dimiliki di AWS Key Management Service Panduan Pengembang.

  • Kunci terkelola pelanggan — SES mendukung penggunaan kunci terkelola pelanggan simetris yang Anda buat, miliki, dan kelola. Karena Anda memiliki kontrol penuh atas enkripsi, Anda dapat melakukan tugas-tugas seperti:

    • Menetapkan dan memelihara kebijakan utama

    • Menetapkan dan memelihara IAM kebijakan dan hibah

    • Mengaktifkan dan menonaktifkan kebijakan utama

    • Memutar bahan kriptografi kunci

    • Menambahkan tanda

    • Membuat alias kunci

    • Kunci penjadwalan untuk penghapusan

    Untuk menggunakan kunci Anda sendiri, pilih kunci yang dikelola pelanggan saat Anda membuat SES sumber daya.

    Untuk informasi selengkapnya, lihat Kunci terkelola pelanggan di AWS Key Management Service Panduan Pengembang.

catatan

SESsecara otomatis mengaktifkan enkripsi saat istirahat menggunakan AWS kunci yang dimiliki tanpa biaya.

Namun, AWS KMS dikenakan biaya untuk menggunakan kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang harga, lihat AWS Key Management Service harga.

Buat kunci terkelola pelanggan

Anda dapat membuat kunci terkelola pelanggan simetris dengan menggunakan AWS Management Console, atau AWS KMS APIs.

Untuk membuat kunci terkelola pelanggan simetris

Ikuti langkah-langkah untuk Membuat KMS kunci enkripsi simetris di AWS Key Management Service Panduan Pengembang.

catatan

Untuk pengarsipan, kunci Anda harus memenuhi persyaratan berikut:

  • Kuncinya harus simetris.

  • Asal bahan utama harusAWS_KMS.

  • Penggunaan kunci harusENCRYPT_DECRYPT.

Kebijakan utama

Kebijakan utama mengontrol akses ke kunci yang dikelola pelanggan Anda. Setiap kunci yang dikelola pelanggan harus memiliki persis satu kebijakan utama, yang berisi pernyataan yang menentukan siapa yang dapat menggunakan kunci dan bagaimana mereka dapat menggunakannya. Saat membuat kunci terkelola pelanggan, Anda dapat menentukan kebijakan kunci. Untuk informasi selengkapnya, lihat Mengelola akses ke kunci terkelola pelanggan di AWS Key Management Service Panduan Pengembang.

Untuk menggunakan kunci yang dikelola pelanggan dengan pengarsipan Mail Manager, kebijakan kunci Anda harus mengizinkan API operasi berikut:

  • kms: DescribeKey — Memberikan detail kunci yang dikelola pelanggan yang memungkinkan SES untuk memvalidasi kunci.

  • kms: GenerateDataKey — Memungkinkan SES untuk menghasilkan kunci data untuk mengenkripsi data saat istirahat.

  • KMS: Decrypt — Memungkinkan SES untuk mendekripsi data yang disimpan sebelum mengembalikannya ke klien. API

Contoh berikut menunjukkan kebijakan kunci tipikal:

{ "Sid": "Allow SES to encrypt/decrypt", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" },

Untuk informasi selengkapnya, lihat menentukan izin dalam kebijakan, di AWS Key Management Service Panduan Pengembang.

Untuk informasi selengkapnya tentang pemecahan masalah, lihat pemecahan masalah akses kunci, di AWS Key Management Service Panduan Pengembang.

Menentukan kunci terkelola pelanggan untuk pengarsipan Mail Manager

Anda dapat menentukan kunci yang dikelola pelanggan sebagai alternatif untuk menggunakan AWS kunci yang dimiliki. Saat Anda membuat arsip, Anda dapat menentukan kunci data dengan memasukkan KMSkunci ARN, yang digunakan pengarsipan Mail Manager untuk mengenkripsi semua data pelanggan dalam arsip.

  • KMSkey ARN — Sebuah pengidentifikasi kunci untuk AWS KMS kunci yang dikelola pelanggan. Masukkan ID kunci, kunciARN, nama alias, atau aliasARN.

Konteks SES enkripsi Amazon

Konteks enkripsi adalah kumpulan opsional pasangan kunci-nilai yang berisi informasi kontekstual tambahan tentang data.

AWS KMS menggunakan konteks enkripsi sebagai data otentikasi tambahan untuk mendukung enkripsi yang diautentikasi. Bila Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda menyertakan konteks enkripsi yang sama dalam permintaan.

catatan

Amazon SES tidak mendukung konteks enkripsi untuk pembuatan arsip. Sebaliknya, Anda menggunakan KMS kebijakan IAM atau kebijakan. Misalnya kebijakan, lihatKebijakan pembuatan arsip, nanti di bagian ini.

Konteks SES enkripsi Amazon

SESmenggunakan konteks enkripsi yang sama di semua AWS KMS operasi kriptografi, di mana kuncinya aws:ses:arn dan nilainya adalah sumber daya Amazon Resource Name (ARN).

"encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }

Menggunakan konteks enkripsi untuk pemantauan

Saat Anda menggunakan kunci terkelola pelanggan simetris untuk mengenkripsi SES sumber daya Anda, Anda juga dapat menggunakan konteks enkripsi dalam catatan audit dan log untuk mengidentifikasi bagaimana kunci yang dikelola pelanggan digunakan. Konteks enkripsi juga muncul di log yang dihasilkan oleh AWS CloudTrail atau CloudWatch Log Amazon.

Menggunakan konteks enkripsi untuk mengontrol akses ke kunci terkelola pelanggan Anda

Anda dapat menggunakan konteks enkripsi dalam kebijakan dan IAM kebijakan utama conditions untuk mengontrol akses ke kunci terkelola pelanggan simetris Anda. Anda juga dapat menggunakan kendala konteks enkripsi dalam hibah.

SESmenggunakan batasan konteks enkripsi dalam hibah untuk mengontrol akses ke kunci yang dikelola pelanggan di akun atau wilayah Anda. Batasan hibah mengharuskan operasi yang diizinkan oleh hibah menggunakan konteks enkripsi yang ditentukan.

Berikut ini adalah contoh pernyataan kebijakan kunci untuk memberikan akses ke kunci yang dikelola pelanggan untuk konteks enkripsi tertentu. Kondisi dalam pernyataan kebijakan ini mengharuskan hibah memiliki batasan konteks enkripsi yang menentukan konteks enkripsi.

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" } } }

Kebijakan pembuatan arsip

Contoh kebijakan berikut menunjukkan cara mengaktifkan pembuatan arsip. Kebijakan bekerja pada semua aset.

IAMkebijakan

{ "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ses:CreateArchive", "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "ses.us-east-1.amazonaws.com", "kms:CallerAccount": "012345678910" } } }

AWS KMS kebijakan

{ "Sid": "Allow SES to encrypt/decrypt", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" },

Memantau kunci enkripsi Anda untuk Amazon SES

Saat Anda menggunakan AWS KMS kunci terkelola pelanggan dengan SES sumber daya Amazon Anda, Anda dapat menggunakan AWS CloudTrailatau Amazon CloudWatch Logs untuk melacak permintaan yang SES dikirim ke AWS KMS.

Contoh berikut adalah AWS CloudTrail peristiwa untukGenerateDataKey,Decrypt, dan DescribeKey untuk memantau KMS operasi yang dipanggil oleh SES untuk mengakses data yang dienkripsi oleh kunci yang dikelola pelanggan Anda:

GenerateDataKey

Saat Anda mengaktifkan AWS KMS kunci terkelola pelanggan untuk sumber daya Anda, SES membuat kunci tabel unik. Ini mengirimkan GenerateDataKey permintaan ke AWS KMS yang menentukan AWS KMS kunci yang dikelola pelanggan untuk sumber daya.

Saat Anda mengaktifkan AWS KMS kunci terkelola pelanggan untuk sumber daya arsip Manajer Mail Anda, itu akan digunakan GenerateDataKey saat mengenkripsi data arsip saat istirahat.

Contoh peristiwa berikut mencatat GenerateDataKey operasi:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
Decrypt

Saat Anda mengakses sumber daya terenkripsi, SES panggil Decrypt operasi untuk menggunakan kunci data terenkripsi yang disimpan untuk mengakses data terenkripsi.

Contoh peristiwa berikut mencatat Decrypt operasi:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
DescribeKey

SESmenggunakan DescribeKey operasi untuk memverifikasi apakah AWS KMS kunci terkelola pelanggan yang terkait dengan sumber daya Anda ada di akun dan wilayah.

Contoh peristiwa berikut mencatat DescribeKey operasi:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

Pelajari selengkapnya

Sumber daya berikut memberikan informasi lebih lanjut tentang enkripsi data saat istirahat.