Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Enkripsi di REST untuk AWS HealthLake
HealthLake menyediakan enkripsi secara default untuk melindungi data sensitif pelanggan saat diam dengan menggunakan kunci AWS Key Management Service (AWS KMS) milik layanan. Customer-managed Kunci KMS juga didukung dan diperlukan untuk mengimpor dan mengekspor file dari penyimpanan data. Untuk mempelajari lebih lanjut tentang Customer-managed KMS Key, lihat Amazon Key Management Service. Pelanggan dapat memilih kunci KMS milik AWS atau kunci Customer-managed KMS saat membuat penyimpanan data. Konfigurasi enkripsi tidak dapat diubah setelah penyimpanan data dibuat. Jika penyimpanan data menggunakan Kunci KMS milik AWS, itu akan dilambangkan sebagai AWS_OWNED_KMS_KEY dan Anda tidak akan melihat kunci spesifik yang digunakan untuk enkripsi saat diam.
Kunci KMS milik AWS
HealthLake menggunakan kunci ini secara default untuk secara otomatis mengenkripsi informasi yang berpotensi sensitif seperti data identitas pribadi atau Informasi Kesehatan Pribadi (PHI) saat istirahat. Kunci KMS milik AWS tidak disimpan di akun Anda. Mereka adalah bagian dari kumpulan kunci KMS yang dimiliki dan dikelola AWS untuk digunakan di beberapa akun AWS. Layanan AWS dapat menggunakan kunci KMS milik AWS untuk melindungi data Anda. Anda tidak dapat melihat, mengelola, menggunakan kunci KMS milik AWS, atau mengaudit penggunaannya. Namun, Anda tidak perlu melakukan pekerjaan apa pun atau mengubah program apa pun untuk melindungi kunci yang mengenkripsi data Anda.
Anda tidak dikenakan biaya bulanan atau biaya penggunaan jika menggunakan kunci KMS milik AWS, dan kunci tersebut tidak dihitung terhadap kuota AWS KMS untuk akun Anda. Untuk informasi selengkapnya, lihat kunci milik AWS.
Kunci KMS yang dikelola pelanggan
HealthLake mendukung penggunaan kunci KMS yang dikelola pelanggan simetris yang Anda buat, miliki, dan kelola untuk menambahkan lapisan enkripsi kedua di atas enkripsi milik AWS yang ada. Karena Anda memiliki kontrol penuh atas lapisan enkripsi ini, Anda dapat melakukan tugas-tugas seperti:
-
Menetapkan dan memelihara kebijakan utama, kebijakan IAM, dan hibah
-
Memutar materi kriptografi kunci
-
Mengaktifkan dan menonaktifkan kebijakan utama
-
Menambahkan tanda
-
Membuat alias kunci
-
Kunci penjadwalan untuk penghapusan
Anda juga dapat menggunakannya CloudTrail untuk melacak permintaan yang HealthLake dikirim AWS KMS atas nama Anda. AWS KMS Biaya tambahan berlaku.Untuk informasi selengkapnya, lihat kunci milik pelanggan.
Membuat kunci yang dikelola pelanggan
Anda dapat membuat kunci yang dikelola pelanggan simetris dengan menggunakan AWS Management Console, atau AWS KMS API.
Ikuti langkah-langkah untuk Membuat kunci yang dikelola pelanggan simetris di Panduan Pengembang Layanan Manajemen Kunci AWS.
Kebijakan utama mengontrol akses ke kunci yang dikelola pelanggan Anda. Setiap kunci yang dikelola pelanggan harus memiliki tepat satu kebijakan kunci, yang berisi pernyataan yang menentukan siapa yang dapat menggunakan kunci dan bagaimana mereka dapat menggunakannya. Saat membuat kunci yang dikelola pelanggan, Anda dapat menentukan kebijakan kunci. Untuk informasi selengkapnya, lihat Mengelola akses ke kunci yang dikelola pelanggan di Panduan Pengembang Layanan Manajemen Kunci AWS.
Untuk menggunakan kunci yang dikelola pelanggan dengan HealthLake sumber daya Anda, CreateGrant operasi kms: harus diizinkan dalam kebijakan kunci. Ini menambahkan hibah ke kunci yang dikelola pelanggan yang mengontrol akses ke kunci KMS tertentu, yang memberikan akses pengguna ke operasi kms:grant diperlukan. HealthLake Lihat Menggunakan hibah untuk informasi lebih lanjut.
Untuk menggunakan kunci KMS yang dikelola pelanggan dengan HealthLake sumber daya Anda, operasi API berikut harus diizinkan dalam kebijakan kunci:
-
kms: CreateGrant menambahkan hibah ke kunci KMS yang dikelola pelanggan tertentu yang memungkinkan akses ke operasi hibah.
-
kms: DescribeKey memberikan rincian kunci yang dikelola pelanggan yang diperlukan untuk memvalidasi kunci. Ini diperlukan untuk semua operasi.
-
kms: GenerateDataKey menyediakan akses untuk mengenkripsi sumber daya saat diam untuk semua operasi penulisan.
-
KMS:Decrypt menyediakan akses ke operasi baca atau pencarian untuk sumber daya terenkripsi.
Berikut ini adalah contoh pernyataan kebijakan yang memungkinkan pengguna untuk membuat dan berinteraksi dengan penyimpanan data AWS HealthLake yang dienkripsi oleh kunci tersebut:
"Statement": [ { "Sid": "Allow access to create data stores and do CRUD/search in AWS HealthLake", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:HealthLakeFullAccessRole" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "healthlake.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ]
Izin IAM yang diperlukan untuk menggunakan kunci KMS yang dikelola pelanggan
Saat membuat penyimpanan data dengan AWS KMS enkripsi diaktifkan menggunakan kunci KMS yang dikelola pelanggan, ada izin yang diperlukan untuk kebijakan kunci dan kebijakan IAM untuk pengguna atau peran yang membuat penyimpanan HealthLake data.
Anda dapat menggunakan kunci ViaService kondisi kms: untuk membatasi penggunaan kunci KMS hanya untuk permintaan yang berasal dari. HealthLake
Untuk informasi selengkapnya tentang kebijakan utama, lihat Mengaktifkan kebijakan IAM di Panduan Pengembang Layanan Manajemen Kunci AWS.
Pengguna IAM, peran IAM, atau akun AWS yang membuat repositori Anda harus memiliki izin kms:, kms: CreateGrantGenerateDataKey, dan kms: DescribeKey ditambah izin yang diperlukan. HealthLake
Cara HealthLake menggunakan hibah di AWS KMS
HealthLake memerlukan hibah untuk menggunakan kunci KMS yang dikelola pelanggan Anda. Saat Anda membuat Data Store yang dienkripsi dengan kunci KMS yang dikelola pelanggan HealthLake , buat hibah atas nama Anda dengan mengirimkan CreateGrant permintaan ke AWS KMS. Hibah di AWS KMS digunakan untuk memberikan HealthLake akses ke kunci KMS di akun pelanggan.
Hibah yang HealthLake dibuat atas nama Anda tidak boleh dicabut atau pensiun. Jika Anda mencabut atau menghentikan hibah yang memberikan HealthLake izin untuk menggunakan kunci AWS KMS di akun Anda, HealthLake tidak dapat mengakses data ini, mengenkripsi sumber daya FHIR baru yang didorong ke penyimpanan data, atau mendekripsi mereka saat ditarik. Ketika Anda mencabut atau menghentikan hibah untuk HealthLake, perubahan segera terjadi. Untuk mencabut hak akses, Anda harus menghapus penyimpanan data daripada mencabut hibah. Ketika penyimpanan data dihapus, HealthLake pensiun hibah atas nama Anda.
Memantau kunci enkripsi Anda untuk HealthLake
Anda dapat menggunakannya CloudTrail untuk melacak permintaan yang dikirim HealthLake atas nama Anda saat menggunakan kunci KMS yang dikelola pelanggan. AWS KMS Entri log di CloudTrail log menunjukkan healthlake.amazonaws.com di bidang UserAgent untuk membedakan permintaan yang dibuat dengan jelas oleh. HealthLake
Contoh berikut adalah CloudTrail peristiwa untuk CreateGrant,, Mendekripsi GenerateDataKey, dan DescribeKey untuk memantau AWS KMS operasi yang dipanggil oleh HealthLake untuk mengakses data yang dienkripsi oleh kunci yang dikelola pelanggan Anda.
Berikut ini menunjukkan cara menggunakan CreateGrant untuk mengiz HealthLake inkan mengakses kunci KMS yang disediakan pelanggan, memungkinkan HealthLake untuk menggunakan kunci KMS tersebut untuk mengenkripsi semua data pelanggan saat diam.
Pengguna tidak diharuskan membuat hibah mereka sendiri. HealthLake membuat hibah atas nama Anda dengan mengirimkan CreateGrant permintaan ke AWS KMS. Hibah AWS KMS digunakan untuk memberikan HealthLake akses ke AWS KMS kunci di akun pelanggan.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEROLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01, "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T19:33:37Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T20:31:15Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ], "granteePrincipal": "healthlake.us-east-1.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN", "retiringPrincipal": "healthlake.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "EXAMPLE_ID_01" }, "requestID": "EXAMPLE_ID_02", "eventID": "EXAMPLE_ID_03", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Contoh berikut menunjukkan cara menggunakan GenerateDataKey untuk memastikan pengguna memiliki izin yang diperlukan untuk mengenkripsi data sebelum menyimpannya.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Contoh berikut menunjukkan bagaimana HealthLake memanggil operasi Dekripsi untuk menggunakan kunci data terenkripsi yang disimpan untuk mengakses data terenkripsi.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:21:59Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Contoh berikut menunjukkan cara HealthLake menggunakan DescribeKey operasi untuk memverifikasi apakah AWS KMS kunci milik AWS KMS pelanggan berada dalam keadaan yang dapat digunakan dan untuk membantu pengguna memecahkan masalah jika tidak berfungsi.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T18:36:14Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-07-01T18:36:36Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Pelajari selengkapnya
Sumber daya berikut memberikan informasi lebih lanjut tentang enkripsi data saat istirahat.
Untuk informasi selengkapnya tentang konsep dasar AWS Key Management Service, lihat AWS KMS dokumentasi.
Untuk informasi selengkapnya tentang praktik terbaik Keamanan dalam AWS KMS dokumentasi.