Protezione dei dati in AWS HealthOmics - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Protezione dei dati in AWS HealthOmics

Il modello di responsabilità AWS condivisa modello di si applica alla protezione dei dati in AWS HealthOmics. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che gestisce tutto il Cloud AWS. L'utente è responsabile del controllo dei contenuti ospitati su questa infrastruttura. L'utente è inoltre responsabile della configurazione della protezione e delle attività di gestione per i Servizi AWS utilizzati. Per ulteriori informazioni sulla privacy dei dati, vedi le Domande frequenti sulla privacy dei dati. Per informazioni sulla protezione dei dati in Europa, consulta il post del blog relativo al Modello di responsabilità condivisa AWS e GDPR nel Blog sulla sicurezza AWS .

Ai fini della protezione dei dati, consigliamo di proteggere Account AWS le credenziali e configurare i singoli utenti con AWS IAM Identity Center or AWS Identity and Access Management (IAM). In tal modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere i suoi compiti. Ti suggeriamo, inoltre, di proteggere i dati nei seguenti modi:

  • Utilizza l'autenticazione a più fattori (MFA) con ogni account.

  • SSL/TLS Da utilizzare per comunicare con AWS le risorse. È richiesto TLS 1.2 ed è consigliato TLS 1.3.

  • Configura l'API e la registrazione delle attività degli utenti con AWS CloudTrail. Per informazioni sull'utilizzo dei CloudTrail percorsi per acquisire AWS le attività, consulta Lavorare con i CloudTrail percorsi nella Guida per l'AWS CloudTrail utente.

  • Utilizza soluzioni di AWS crittografia, insieme a tutti i controlli di sicurezza predefiniti all'interno Servizi AWS.

  • Utilizza i servizi di sicurezza gestiti avanzati, come Amazon Macie, che aiutano a individuare e proteggere i dati sensibili archiviati in Amazon S3.

  • Se hai bisogno di moduli crittografici convalidati FIPS 140-3 per accedere AWS tramite un'interfaccia a riga di comando o un'API, usa un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il Federal Information Processing Standard (FIPS) 140-3.

Ti consigliamo di non inserire mai informazioni riservate o sensibili, ad esempio gli indirizzi e-mail dei clienti, nei tag o nei campi di testo in formato libero, ad esempio nel campo Nome. Ciò include quando lavori con AWS HealthOmics o altri Servizi AWS utenti utilizzando la console, l'API o AWS SDKs. AWS CLI I dati inseriti nei tag o nei campi di testo in formato libero utilizzati per i nomi possono essere utilizzati per i la fatturazione o i log di diagnostica. Quando fornisci un URL a un server esterno, ti suggeriamo vivamente di non includere informazioni sulle credenziali nell'URL per convalidare la tua richiesta al server.

Crittografia dei dati a riposo

Per proteggere i dati sensibili dei clienti archiviati, AWS HealthOmics fornisce la crittografia di default utilizzando una chiave AWS Key Management Service (AWS KMS) di proprietà del servizio. Sono supportate anche le chiavi gestite dal cliente. Per ulteriori informazioni sulla chiave gestita dal cliente, consulta Amazon Key Management Service.

Tutti gli archivi HealthOmics dati (Storage e Analytics) supportano l'uso di chiavi gestite dal cliente. La configurazione di crittografia non può essere modificata dopo la creazione di un archivio dati. Se un data store utilizza un Chiave di proprietà di AWS, verrà contrassegnato come «inattivo» AWS_OWNED_KMS_KEY e la chiave specifica utilizzata per la crittografia non sarà visibile.

Per i HealthOmics flussi di lavoro, le chiavi gestite dal cliente non sono supportate dal file system temporaneo; tuttavia, tutti i dati inattivi vengono crittografati automaticamente utilizzando l'algoritmo di crittografia a blocchi XTS-AES-256 per crittografare il file system. L'utente e il ruolo IAM utilizzati per avviare l'esecuzione di un workflow devono inoltre avere accesso alle chiavi utilizzate per i bucket di input e output del workflow. AWS KMS I flussi di lavoro non utilizzano sovvenzioni e la AWS KMS crittografia è limitata ai bucket Amazon S3 di input e output. Il ruolo IAM utilizzato sia per il flusso di lavoro APIs deve avere accesso alle AWS KMS chiavi utilizzate sia ai bucket Amazon S3 di input e output. Puoi utilizzare i ruoli e le autorizzazioni IAM per controllare l'accesso o le politiche. AWS KMS Per saperne di più, consulta Autenticazione e controllo degli accessi per AWS KMS.

Quando utilizzi AWS Lake Formation HealthOmics Analytics, tutte le autorizzazioni di decrittografia associate a Lake Formation vengono assegnate anche ai bucket Amazon S3 di input e output. Ulteriori informazioni su come AWS Lake Formation gestire le autorizzazioni sono disponibili nella documentazione.AWS Lake Formation

HealthOmics Analytics concede a Lake Formation kms: Decrypt le autorizzazioni per leggere i dati crittografati in un bucket Amazon S3. Finché disponi delle autorizzazioni per interrogare i dati tramite Lake Formation, sarai in grado di leggere i dati crittografati. L'accesso ai dati è controllato tramite il controllo dell'accesso ai dati in Lake Formation, non tramite una politica chiave KMS. Per ulteriori informazioni, consulta le richieste di servizi AWS AWS integrate nella documentazione di Lake Formation.

Chiavi di proprietà di AWS

Per impostazione predefinita, HealthOmics Chiavi di proprietà di AWS crittografa automaticamente i dati inattivi, poiché questi dati possono contenere informazioni sensibili come informazioni di identificazione personale (PII) o Protected Health Information (PHI). Chiavi di proprietà di AWS non sono archiviati nel tuo account. Fanno parte di una raccolta di chiavi KMS di proprietà e gestione di AWS da utilizzare in più account AWS.

I servizi AWS possono essere utilizzati Chiavi di proprietà di AWS per proteggere i tuoi dati. Non puoi visualizzarne, gestirli Chiavi di proprietà di AWS, accedervi o verificarne l'utilizzo. Tuttavia, non è necessario eseguire alcuna operazione o modificare alcun programma per proteggere le chiavi che crittografano i dati.

Non ti viene addebitata una tariffa mensile o una tariffa di utilizzo per l'utilizzo Chiavi di proprietà di AWS e non vengono conteggiate nelle quote AWS KMS per il tuo account. Per ulteriori informazioni, consulta Chiavi gestite da AWS.

Chiavi gestite dal cliente

HealthOmics supporta l'uso di chiavi simmetriche gestite dal cliente che crei, possiedi e gestisci per aggiungere un secondo livello di crittografia rispetto alla crittografia esistente di proprietà di AWS. Avendo il pieno controllo di questo livello di crittografia, è possibile eseguire operazioni quali:

  • Stabilire e mantenere politiche chiave, politiche IAM e sovvenzioni

  • Ruotare i materiali crittografici delle chiavi

  • Abilitare e disabilitare le policy delle chiavi

  • Aggiungere tag

  • Creare alias delle chiavi

  • Pianificare l’eliminazione delle chiavi

Puoi anche utilizzarlo CloudTrail per tenere traccia delle richieste HealthOmics inviate a per tuo AWS KMS conto. AWS KMS Si applicano costi aggiuntivi. Per ulteriori informazioni, consulta Customer Managed Keys.

Creazione di una chiave gestita dal cliente

Puoi creare una chiave simmetrica gestita dal cliente utilizzando la Console di gestione AWS o il. AWS KMS APIs

Segui i passaggi per la creazione di chiavi simmetriche gestite dal cliente nella AWS Key Management Service Developer Guide.

Le policy della chiave controllano l'accesso alla chiave gestita dal cliente. Ogni chiave gestita dal cliente deve avere esattamente una policy della chiave, che contiene istruzioni che determinano chi può usare la chiave e come la possono usare. Quando crei una chiave gestita dal cliente, puoi specificare una policy chiave. Per ulteriori informazioni, consulta Managing access to customer managed keys nella AWS Key Management Service Developer Guide.

Per utilizzare una chiave gestita dal cliente con le tue risorse HealthOmics Analytics, il mittente chiamante richiede kms: CreateGrant operations nella policy chiave. Ciò consente al sistema di utilizzare un token FAS per creare una concessione a una chiave gestita dal cliente che controlla l'accesso a una chiave KMS specificata. Questa chiave consente a un utente di accedere alle operazioni kms:grant richieste. HealthOmics Per ulteriori informazioni, vedere Utilizzo delle sovvenzioni.

Per l' HealthOmics analisi, devono essere consentite le seguenti operazioni API per il principale chiamante:

  • kms: CreateGrant aggiunge le concessioni a una chiave gestita dal cliente specifica, che consente l'accesso alle operazioni di concessione in HealthOmics Analytics.

  • kms: DescribeKey fornisce i dettagli chiave gestiti dal cliente necessari per convalidare la chiave. Questo è necessario per tutte le operazioni.

  • kms: GenerateDataKey fornisce l'accesso alle risorse di crittografia a riposo per tutte le operazioni di scrittura. Inoltre, questa azione fornisce dettagli chiave gestiti dal cliente che il servizio può utilizzare per verificare che il chiamante abbia accesso all'utilizzo della chiave.

  • KMS:Decrypt fornisce l'accesso alle operazioni di lettura o ricerca per risorse crittografate.

Per utilizzare una chiave gestita dal cliente con le risorse HealthOmics di archiviazione, il responsabile del HealthOmics servizio e il principale chiamante devono essere consentiti nella politica chiave. Ciò consente al servizio di verificare che il chiamante abbia accesso alla chiave e utilizza il responsabile del servizio per eseguire la gestione del negozio utilizzando la chiave gestita dal cliente. Per quanto riguarda l' HealthOmics archiviazione, la politica chiave per il responsabile del servizio deve consentire le seguenti operazioni API:

  • kms: DescribeKey fornisce i dettagli chiave gestiti dal cliente necessari per convalidare la chiave. Questo è necessario per tutte le operazioni.

  • kms: GenerateDataKey fornisce l'accesso alle risorse di crittografia a riposo per tutte le operazioni di scrittura. Inoltre, questa azione fornisce dettagli chiave gestiti dal cliente che il servizio può utilizzare per verificare che il chiamante abbia accesso all'utilizzo della chiave.

  • KMS:Decrypt fornisce l'accesso alle operazioni di lettura o ricerca per risorse crittografate.

L'esempio seguente mostra una dichiarazione politica che consente a un responsabile del servizio di creare e interagire con una HealthOmics sequenza o un archivio di riferimento crittografato utilizzando la chiave gestita dal cliente:

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

L'esempio seguente mostra una policy che crea autorizzazioni per un data store per decrittografare i dati da un 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" ] } } } ] }

Autorizzazioni IAM richieste per l'utilizzo di una chiave gestita dal cliente

Quando si crea una risorsa come un archivio dati con AWS KMS crittografia utilizzando una chiave gestita dal cliente, sono necessarie le autorizzazioni sia per la policy chiave che per la policy IAM per l'utente o il ruolo IAM.

Puoi utilizzare la chiave kms: ViaService condition per limitare l'uso della chiave KMS solo alle richieste che provengono da. HealthOmics

Per ulteriori informazioni sulle policy chiave, consulta Enabling IAM policies nella AWS Key Management Service Developer Guide.

Autorizzazioni API Analytics

Per l' HealthOmics analisi, l'utente o il ruolo IAM che crea gli store deve disporre delle autorizzazioni kms:CreateGrant, kms:GenerateDataKey, kms: Decrypt e e kms: DescribeKey delle autorizzazioni necessarie. HealthOmics

Autorizzazioni dell'API di archiviazione

Per HealthOmics lo storage APIs, l'utente o il ruolo IAM che richiama le seguenti operazioni API richiede le autorizzazioni elencate:

CreateReferenceStore, CreateSequenceStore

Per creare un negozio, il chiamante IAM deve disporre kms:DescribeKey delle autorizzazioni più le autorizzazioni necessarie. HealthOmics Il principale del HealthOmics servizio chiama kms:GenerateDataKeyWithoutPlaintext per eseguire controlli di convalida dell'accesso per il caricamento e l'accesso ai dati.

StartReadSetImportJob, StartReferenceImportJob

Per avviare i processi di importazione dei dati, il chiamante IAM deve disporre kms:Decrypt kms:GenerateDataKey delle autorizzazioni per la chiave KMS nello store per l'importazione e delle kms:Decrypt autorizzazioni per il bucket Amazon S3 contenente gli oggetti da importare. Inoltre, il ruolo passato alla chiamata deve disporre delle kms:Decrypt autorizzazioni sul bucket Amazon S3 contenente gli oggetti da importare. Il chiamante IAM deve inoltre disporre delle autorizzazioni per passare il ruolo al job.

CreateMultipartReadSetUpload, UploadReadSetPart, CompleteMultipartReadSetUpload

Per completare un caricamento in più parti, il chiamante IAM deve avere kms:Decrypt e deve creare, kms:GenerateDataKey caricare e completare il caricamento in più parti.

StartReadSetExportJob

Per avviare un processo di esportazione dei dati, il chiamante IAM deve disporre dell'kms:Decryptautorizzazione per l'esportazione della chiave KMS sullo store da kms:GenerateDataKey e kms:Decrypt delle autorizzazioni sul bucket Amazon S3 che riceve gli oggetti. Inoltre, il ruolo passato alla chiamata deve disporre delle kms:Decrypt autorizzazioni sul bucket Amazon S3 che riceve gli oggetti. Il chiamante IAM deve inoltre disporre delle autorizzazioni per passare il ruolo al job.

StartReadsetActivationJob

Per avviare un processo di attivazione del set di lettura, il chiamante IAM deve disporre delle autorizzazioni kms:Decrypt e dei kms:GenerateDataKey permessi per gli oggetti.

GetReference, GetReadSet

Per leggere gli oggetti dallo store, il chiamante IAM deve disporre dell'kms:Decryptautorizzazione per gli oggetti.

Leggi Set S3 GetObject

Per leggere gli oggetti dallo store utilizzando l'GetObjectAPI Amazon S3, il chiamante IAM deve disporre dell'kms:Decryptautorizzazione per gli oggetti. Imposta questa autorizzazione sia per la chiave gestita dal cliente che per le configurazioni Chiave di proprietà di AWS .

Come HealthOmics utilizza le sovvenzioni in AWS KMS

HealthOmics Analytics richiede una concessione per utilizzare la chiave KMS gestita dal cliente. Le sovvenzioni non sono richieste o utilizzate per HealthOmics i flussi di lavoro. HealthOmics Lo storage utilizza la chiave gestita dal cliente direttamente dal responsabile del servizio, quindi non utilizzare una concessione. Quando crei un archivio di analisi crittografato con una chiave gestita dal cliente, HealthOmics Analytics crea una concessione per tuo conto inviando una CreateGrantrichiesta ad AWS KMS. Le sovvenzioni in AWS KMS vengono utilizzate per consentire l' HealthOmics accesso a una chiave KMS in un account cliente.

Non è consigliabile revocare o ritirare le sovvenzioni che Analytics crea per tuo conto. HealthOmics Se revochi o ritiri la concessione che HealthOmics autorizza l'uso delle chiavi AWS KMS nel tuo account, HealthOmics non puoi accedere a questi dati, crittografare nuove risorse trasferite nel data store o decrittografarle quando vengono estratte.

Quando revochi o ritiri una sovvenzione per, la modifica avviene immediatamente. HealthOmics Per revocare i diritti di accesso, ti consigliamo di eliminare l'archivio dati anziché revocare la concessione. Quando elimini il data store, annulla le HealthOmics concessioni per tuo conto.

Monitoraggio delle chiavi di crittografia per AWS HealthOmics

Puoi utilizzarlo CloudTrail per tenere traccia delle richieste AWS HealthOmics inviate a per tuo AWS KMS conto quando utilizzi una chiave gestita dal cliente. Le voci di registro nel CloudTrail registro mostrano HealthOmics .amazonaws.com nel campo UserAgent per distinguere chiaramente le richieste effettuate da. HealthOmics

Gli esempi seguenti sono CloudTrail eventi per CreateGrant GenerateDataKey, Decrypt e per monitorare AWS KMS le operazioni richieste per accedere DescribeKey HealthOmics ai dati crittografati dalla chiave gestita dal cliente.

Di seguito viene inoltre illustrato come utilizzare per consentire CreateGrant all' HealthOmics analisi di accedere a una chiave KMS fornita dal cliente, in modo HealthOmics da utilizzare tale chiave KMS per crittografare tutti i dati inattivi del cliente.

Non è necessario creare le proprie sovvenzioni. HealthOmics crea una sovvenzione per tuo conto inviando una CreateGrant richiesta ad AWS KMS. Le sovvenzioni AWS KMS vengono utilizzate per HealthOmics consentire l'accesso a una AWS KMS chiave in un account cliente.

{ "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" }

L'esempio seguente mostra come GenerateDataKey garantire che l'utente disponga delle autorizzazioni necessarie per crittografare i dati prima di archiviarli.

{ "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" }

Ulteriori informazioni

Le seguenti risorse forniscono ulteriori informazioni sulla crittografia dei dati a riposo.

Per ulteriori informazioni sui concetti di base di AWS Key Management Service, consulta la AWS KMS documentazione.

Per ulteriori informazioni sulle best practice di sicurezza, consulta la AWS KMS documentazione.

Crittografia in transito

AWS HealthOmics utilizza TLS 1.2+ per crittografare i dati in transito attraverso gli endpoint pubblici e tramite i servizi di backend.