Perlindungan data di AWS HealthOmics - AWS HealthOmics

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

Perlindungan data di AWS HealthOmics

Model tanggung jawab AWS bersama model tanggung berlaku untuk perlindungan data di AWS HealthOmics. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam Pertanyaan Umum Privasi Data. Lihat informasi tentang perlindungan data di Eropa di pos blog Model Tanggung Jawab Bersama dan GDPR AWS di Blog Keamanan AWS .

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensyal dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:

  • Gunakan autentikasi multi-faktor (MFA) pada setiap akun.

  • Gunakan SSL/TLS untuk berkomunikasi dengan AWS sumber daya. Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.

  • Siapkan API dan pencatatan aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat Bekerja dengan CloudTrail jejak di AWS CloudTrail Panduan Pengguna.

  • Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.

  • Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.

  • Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di Standar Pemrosesan Informasi Federal (FIPS) 140-3.

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang Nama. Ini termasuk saat Anda bekerja dengan AWS HealthOmics atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

Enkripsi diam

Untuk melindungi data pelanggan yang sensitif saat istirahat, AWS HealthOmics berikan enkripsi secara default menggunakan kunci AWS Key Management Service (AWS KMS) milik layanan. Kunci yang dikelola pelanggan juga didukung. Untuk mempelajari selengkapnya tentang kunci yang dikelola pelanggan, lihat Amazon Key Management Service.

Semua penyimpanan HealthOmics data (Storage and Analytics) mendukung penggunaan kunci yang dikelola pelanggan. Konfigurasi enkripsi tidak dapat diubah setelah penyimpanan data dibuat. Jika penyimpanan data menggunakan Kunci milik AWS, itu akan dilambangkan sebagai AWS_OWNED_KMS_KEY dan Anda tidak akan melihat kunci spesifik yang digunakan untuk enkripsi saat istirahat.

Untuk HealthOmics Alur Kerja, kunci yang dikelola pelanggan tidak didukung oleh sistem file sementara; namun, semua data dienkripsi saat istirahat secara otomatis menggunakan algoritme enkripsi sandi blok XTS-AES-256 untuk mengenkripsi sistem file. Pengguna dan peran IAM yang digunakan untuk memulai alur kerja juga harus memiliki akses ke AWS KMS kunci yang digunakan untuk bucket input dan output alur kerja. Alur kerja tidak menggunakan hibah, dan AWS KMS enkripsi terbatas pada bucket Amazon S3 input dan output. Peran IAM yang digunakan baik untuk alur kerja juga APIs harus memiliki akses ke AWS KMS kunci yang digunakan serta bucket input dan output Amazon S3. Anda dapat menggunakan peran dan izin IAM untuk mengontrol akses atau AWS KMS kebijakan. Untuk mempelajari lebih lanjut, lihat Otentikasi dan kontrol akses untuk AWS KMS.

Saat Anda menggunakan AWS Lake Formation HealthOmics Analytics, izin dekripsi apa pun yang terkait dengan Lake Formation juga diberikan ke bucket Amazon S3 input dan output. Informasi selengkapnya tentang cara AWS Lake Formation mengelola izin dapat ditemukan di AWS Lake Formation dokumentasi.

HealthOmics Analytics memberikan izin kms: Dekripsi Lake Formation untuk membaca data terenkripsi di bucket Amazon S3. Selama Anda memiliki izin untuk menanyakan data melalui Lake Formation, Anda akan dapat membaca data terenkripsi. Akses ke data dikendalikan melalui kontrol akses data di Lake Formation, bukan melalui kebijakan kunci KMS. Untuk mempelajari lebih lanjut, lihat permintaan layanan AWS AWS Terpadu dalam dokumentasi Lake Formation.

Kunci milik AWS

Secara default, HealthOmics digunakan Kunci milik AWS untuk mengenkripsi data secara otomatis saat istirahat, karena data ini dapat berisi informasi sensitif seperti informasi identitas pribadi (PII) atau Informasi Kesehatan yang Dilindungi (PHI). Kunci 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 digunakan Kunci milik AWS untuk melindungi data Anda. Anda tidak dapat melihat, mengelola, atau mengakses Kunci 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 untuk penggunaan Kunci milik AWS, dan biaya tersebut tidak dihitung terhadap kuota AWS KMS untuk akun Anda. Untuk informasi selengkapnya, lihat Kunci yang dikelola AWS.

Kunci yang dikelola pelanggan

HealthOmics mendukung penggunaan kunci terkelola pelanggan simetris yang Anda buat, miliki, dan kelola untuk menambahkan enkripsi lapisan kedua melalui 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 bahan kriptografi kunci

  • Mengaktifkan dan menonaktifkan kebijakan utama

  • Menambahkan tanda

  • Membuat alias kunci

  • Kunci penjadwalan untuk penghapusan

Anda juga dapat menggunakan CloudTrail untuk melacak permintaan yang HealthOmics dikirim AWS KMS atas nama Anda. AWS KMS Biaya tambahan berlaku. Untuk informasi selengkapnya, lihat kunci terkelola pelanggan.

Membuat kunci yang dikelola pelanggan

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

Ikuti langkah-langkah untuk Membuat kunci terkelola pelanggan simetris di Panduan Pengembang AWS Key Management Service.

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 Panduan Pengembang AWS Key Management Service.

Untuk menggunakan kunci yang dikelola pelanggan dengan sumber daya HealthOmics Analytics Anda, prinsipal panggilan memerlukan kms: CreateGrant operasi dalam kebijakan utama. Ini memungkinkan sistem untuk menggunakan Token FAS untuk membuat hibah ke kunci yang dikelola pelanggan yang mengontrol akses ke kunci KMS tertentu. Kunci ini memberi pengguna akses ke operasi kms:grant yang membutuhkan. HealthOmics Lihat Menggunakan hibah untuk informasi lebih lanjut.

Untuk HealthOmics analitik, operasi API berikut harus diizinkan untuk prinsipal panggilan:

  • kms: CreateGrant menambahkan hibah ke kunci terkelola pelanggan tertentu, yang memungkinkan akses ke operasi hibah di HealthOmics Analytics.

  • kms: DescribeKey memberikan detail kunci yang dikelola pelanggan yang diperlukan untuk memvalidasi kunci. Ini diperlukan untuk semua operasi.

  • kms: GenerateDataKey menyediakan akses untuk mengenkripsi sumber daya saat istirahat untuk semua operasi penulisan. Selain itu, tindakan ini memberikan detail kunci yang dikelola pelanggan yang dapat digunakan layanan untuk memvalidasi bahwa penelepon memiliki akses untuk menggunakan kunci.

  • KMS: Decrypt menyediakan akses untuk membaca atau mencari operasi untuk sumber daya terenkripsi.

Untuk menggunakan kunci yang dikelola pelanggan dengan sumber daya HealthOmics penyimpanan Anda, prinsipal HealthOmics layanan dan prinsipal panggilan harus diizinkan dalam kebijakan kunci. Hal ini memungkinkan layanan untuk memvalidasi bahwa penelepon memiliki akses ke kunci dan menggunakan prinsip layanan untuk menjalankan manajemen toko menggunakan kunci yang dikelola pelanggan. Untuk HealthOmics penyimpanan, kebijakan utama untuk prinsipal layanan harus mengizinkan operasi API berikut:

  • kms: DescribeKey memberikan detail kunci yang dikelola pelanggan yang diperlukan untuk memvalidasi kunci. Ini diperlukan untuk semua operasi.

  • kms: GenerateDataKey menyediakan akses untuk mengenkripsi sumber daya saat istirahat untuk semua operasi penulisan. Selain itu, tindakan ini memberikan detail kunci yang dikelola pelanggan yang dapat digunakan layanan untuk memvalidasi bahwa penelepon memiliki akses untuk menggunakan kunci.

  • KMS: Decrypt menyediakan akses untuk membaca atau mencari operasi untuk sumber daya terenkripsi.

Contoh berikut menunjukkan pernyataan kebijakan yang memungkinkan prinsipal layanan untuk membuat dan berinteraksi dengan toko HealthOmics urutan atau referensi yang dienkripsi menggunakan kunci yang dikelola pelanggan:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*" } ] }

Contoh berikut menunjukkan kebijakan yang membuat izin untuk penyimpanan data untuk mendekripsi data dari bucket Amazon S3.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:GetReference", "omics:GetReferenceMetadata" ], "Resource": [ "arn:AWS:omics:{{region}}:{{accountId}}:referenceStore/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:AWS:s3:::[[s3path]]/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:AWS:kms:{{region}}:{111122223333}:key/{{key_id}}" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.{{region}}.amazonAWS.com" ] } } } ] }

Izin IAM yang diperlukan untuk menggunakan kunci yang dikelola pelanggan

Saat membuat sumber daya seperti penyimpanan data dengan AWS KMS enkripsi menggunakan kunci yang dikelola pelanggan, ada izin yang diperlukan untuk kebijakan kunci dan kebijakan IAM untuk pengguna atau peran IAM.

Anda dapat menggunakan kms: ViaService condition key untuk membatasi penggunaan kunci KMS hanya untuk permintaan yang berasal dari. HealthOmics

Untuk informasi selengkapnya tentang kebijakan utama, lihat Mengaktifkan kebijakan IAM di Panduan Pengembang AWS Key Management Service.

Izin API Analytics

Untuk HealthOmics analitik, pengguna atau peran IAM yang membuat toko harus memiliki, kms: Dekripsi kms: CreateGrant kms:GenerateDataKey, dan kms: DescribeKey izin ditambah izin yang diperlukan. HealthOmics

Izin API penyimpanan

Untuk HealthOmics penyimpanan APIs, pengguna IAM atau peran yang memanggil operasi API berikut memerlukan izin yang tercantum:

CreateReferenceStore, CreateSequenceStore

Untuk membuat toko, pemanggil IAM harus memiliki kms:DescribeKey izin ditambah izin yang diperlukan. HealthOmics Prinsipal HealthOmics layanan memanggil kms:GenerateDataKeyWithoutPlaintext untuk melakukan pemeriksaan validasi akses untuk pemuatan dan akses data.

StartReadSetImportJob, StartReferenceImportJob

Untuk memulai pekerjaan impor data, pemanggil IAM harus memiliki kms:Decrypt dan kms:GenerateDataKey izin untuk kunci KMS di toko untuk impor, dan kms:Decrypt izin di bucket Amazon S3 yang berisi objek yang akan diimpor. Selain itu, peran yang diteruskan ke panggilan harus memiliki kms:Decrypt izin di bucket Amazon S3 yang berisi objek yang akan diimpor. Penelepon IAM juga harus memiliki izin untuk meneruskan peran ke pekerjaan.

CreateMultipartReadSetUpload, UploadReadSetPart, CompleteMultipartReadSetUpload

Untuk menyelesaikan unggahan multi-bagian, penelepon IAM harus memiliki kms:Decrypt dan kms:GenerateDataKey membuat, mengunggah, dan menyelesaikan unggahan multi-bagian.

StartReadSetExportJob

Untuk memulai pekerjaan ekspor data, pemanggil IAM harus memiliki kms:Decrypt izin untuk kunci KMS di toko untuk mengekspor dari dan kms:GenerateDataKey dan kms:Decrypt izin pada bucket Amazon S3 yang menerima objek. Selain itu, peran yang diteruskan ke panggilan harus memiliki kms:Decrypt izin di bucket Amazon S3 yang menerima objek. Penelepon IAM juga harus memiliki izin untuk meneruskan peran ke pekerjaan.

StartReadsetActivationJob

Untuk memulai pekerjaan aktivasi set baca, pemanggil IAM harus memiliki kms:Decrypt dan kms:GenerateDataKey izin untuk objek.

GetReference, GetReadSet

Untuk membaca objek dari toko, pemanggil IAM harus memiliki kms:Decrypt izin untuk objek.

Baca Set S3 GetObject

Untuk membaca objek dari toko menggunakan Amazon S3 GetObject API, pemanggil IAM harus memiliki kms:Decrypt izin untuk objek. Tetapkan izin ini untuk kunci dan Kunci milik AWS konfigurasi yang dikelola pelanggan.

Cara HealthOmics menggunakan hibah di AWS KMS

HealthOmics Analytics memerlukan hibah untuk menggunakan kunci KMS yang dikelola pelanggan Anda. Hibah tidak diperlukan atau digunakan untuk HealthOmics Alur Kerja. HealthOmics Penyimpanan menggunakan kunci yang dikelola pelanggan langsung dari kepala layanan, jadi jangan gunakan hibah. Saat Anda membuat toko analitik yang dienkripsi dengan kunci yang dikelola pelanggan, HealthOmics analitik akan membuat hibah atas nama Anda dengan mengirimkan CreateGrantpermintaan ke AWS KMS. Hibah di AWS KMS digunakan untuk HealthOmics memberikan akses ke kunci KMS di akun pelanggan.

Tidak disarankan untuk mencabut atau menghentikan hibah yang dibuat HealthOmics analitik atas nama Anda. Jika Anda mencabut atau menghentikan hibah yang memberikan HealthOmics izin untuk menggunakan kunci AWS KMS di akun Anda, HealthOmics tidak dapat mengakses data ini, mengenkripsi sumber daya baru yang didorong ke penyimpanan data, atau mendekripsi ketika ditarik.

Ketika Anda mencabut atau pensiun hibah untuk HealthOmics, perubahan terjadi segera. Untuk mencabut hak akses, kami sarankan Anda menghapus penyimpanan data daripada mencabut hibah. Saat Anda menghapus penyimpanan data, HealthOmics pensiun hibah atas nama Anda.

Memantau kunci enkripsi Anda untuk AWS HealthOmics

Anda dapat menggunakan CloudTrail untuk melacak permintaan yang AWS HealthOmics dikirim atas nama Anda saat menggunakan kunci yang dikelola pelanggan. AWS KMS Entri log di CloudTrail log HealthOmics menampilkan.amazonaws.com di bidang UserAgent untuk membedakan dengan jelas permintaan yang dibuat oleh. HealthOmics

Contoh berikut adalah CloudTrail peristiwa untuk CreateGrant,, Dekripsi GenerateDataKey, dan DescribeKey untuk memantau AWS KMS operasi yang dipanggil oleh HealthOmics untuk mengakses data yang dienkripsi oleh kunci yang dikelola pelanggan Anda.

Berikut ini juga menunjukkan cara menggunakan CreateGrant untuk memungkinkan HealthOmics analitik mengakses kunci KMS yang disediakan pelanggan, memungkinkan HealthOmics untuk menggunakan kunci KMS itu untuk mengenkripsi semua data pelanggan saat istirahat.

Anda tidak diharuskan untuk membuat hibah Anda sendiri. HealthOmics membuat hibah atas nama Anda dengan mengirimkan CreateGrant permintaan ke AWS KMS. Hibah AWS KMS digunakan untuk memberikan HealthOmics akses ke AWS KMS kunci di akun pelanggan.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "xx:test", "arn": "arn:AWS:sts::555555555555:assumed-role/user-admin/test", "accountId": "xx", "accessKeyId": "xxx", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "xxxx", "arn": "arn:AWS:iam::555555555555:role/user-admin", "accountId": "555555555555", "userName": "user-admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-11-11T01:36:17Z", "mfaAuthenticated": "false" } }, "invokedBy": "apigateway.amazonAWS.com" }, "eventTime": "2022-11-11T02:34:41Z", "eventSource": "kms.amazonAWS.com", "eventName": "CreateGrant", "AWSRegion": "us-west-2", "sourceIPAddress": "apigateway.amazonAWS.com", "userAgent": "apigateway.amazonAWS.com", "requestParameters": { "granteePrincipal": "AWS Internal", "keyId": "arn:AWS:kms:us-west-2:555555555555:key/a6e87d77-cc3e-4a98-a354-e4c275d775ef", "operations": [ "CreateGrant", "RetireGrant", "Decrypt", "GenerateDataKey" ] }, "responseElements": { "grantId": "4869b81e0e1db234342842af9f5531d692a76edaff03e94f4645d493f4620ed7", "keyId": "arn:AWS:kms:us-west-2:245126421963:key/xx-cc3e-4a98-a354-e4c275d775ef" }, "requestID": "d31d23d6-b6ce-41b3-bbca-6e0757f7c59a", "eventID": "3a746636-20ef-426b-861f-e77efc56e23c", "readOnly": false, "resources": [ { "accountId": "245126421963", "type": "AWS::KMS::Key", "ARN": "arn:AWS:kms:us-west-2:245126421963:key/xx-cc3e-4a98-a354-e4c275d775ef" } ], "eventType": "AWSApiCall", "managementEvent": true, "recipientAccountId": "245126421963", "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": "omics.amazonAWS.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonAWS.com", "eventName": "GenerateDataKey", "AWSRegion": "us-east-1", "sourceIPAddress": "omics.amazonAWS.com", "userAgent": "omics.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" }

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 dokumentasinya.

Untuk informasi selengkapnya tentang praktik terbaik Keamanan dalam AWS KMS dokumentasi.

Enkripsi bergerak

AWS HealthOmics menggunakan TLS 1.2+ untuk mengenkripsi data dalam perjalanan melalui titik akhir publik dan melalui layanan backend.