Protection des données dans AWS HealthOmics - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Protection des données dans AWS HealthOmics

Le modèle de responsabilité AWS partagée de s'applique à la protection des données dans AWS HealthOmics. Comme décrit dans ce modèle, AWS est chargé de protéger l'infrastructure mondiale qui gère tous les AWS Cloud. La gestion du contrôle de votre contenu hébergé sur cette infrastructure relève de votre responsabilité. Vous êtes également responsable des tâches de configuration et de gestion de la sécurité des Services AWS que vous utilisez. Pour plus d’informations sur la confidentialité des données, consultez Questions fréquentes (FAQ) sur la confidentialité des données. Pour en savoir plus sur la protection des données en Europe, consultez le billet de blog Modèle de responsabilité partagée AWS et RGPD (Règlement général sur la protection des données) sur le Blog de sécuritéAWS .

À des fins de protection des données, nous vous recommandons de protéger les Compte AWS informations d'identification et de configurer les utilisateurs individuels avec AWS IAM Identity Center ou AWS Identity and Access Management (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisations nécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos données comme indiqué ci-dessous :

  • Utilisez l’authentification multifactorielle (MFA) avec chaque compte.

  • SSL/TLS À utiliser pour communiquer avec AWS les ressources. Nous exigeons TLS 1.2 et recommandons TLS 1.3.

  • Configurez l'API et la journalisation de l'activité des utilisateurs avec AWS CloudTrail. Pour plus d'informations sur l'utilisation des CloudTrail sentiers pour capturer AWS des activités, consultez la section Utilisation des CloudTrail sentiers dans le guide de AWS CloudTrail l'utilisateur.

  • Utilisez des solutions de AWS chiffrement, ainsi que tous les contrôles de sécurité par défaut qu'ils contiennent Services AWS.

  • Utilisez des services de sécurité gérés avancés tels qu’Amazon Macie, qui contribuent à la découverte et à la sécurisation des données sensibles stockées dans Amazon S3.

  • Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-3 pour accéder AWS via une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour plus d’informations sur les points de terminaison FIPS disponibles, consultez Norme FIPS (Federal Information Processing Standard) 140-3.

Nous vous recommandons fortement de ne jamais placer d’informations confidentielles ou sensibles, telles que les adresses e-mail de vos clients, dans des balises ou des champs de texte libre tels que le champ Nom. Cela inclut lorsque vous travaillez avec AWS HealthOmics ou une autre entreprise Services AWS à l'aide de la console AWS CLI, de l'API ou AWS SDKs. Toutes les données que vous entrez dans des balises ou des champs de texte de forme libre utilisés pour les noms peuvent être utilisées à des fins de facturation ou dans les journaux de diagnostic. Si vous fournissez une adresse URL à un serveur externe, nous vous recommandons fortement de ne pas inclure d’informations d’identification dans l’adresse URL permettant de valider votre demande adressée à ce serveur.

Chiffrement au repos

Pour protéger les données sensibles des clients au repos, AWS HealthOmics fournit un chiffrement par défaut à l'aide d'une clé AWS Key Management Service (AWS KMS) appartenant au service. Les clés gérées par le client sont également prises en charge. Pour en savoir plus sur les clés gérées par le client, consultez Amazon Key Management Service.

Tous les magasins de HealthOmics données (stockage et analyse) prennent en charge l'utilisation de clés gérées par le client. La configuration du chiffrement ne peut pas être modifiée après la création d'un magasin de données. Si un magasin de données utilise un Clé détenue par AWS, il sera désigné comme tel AWS_OWNED_KMS_KEY et vous ne verrez pas la clé spécifique utilisée pour le chiffrement au repos.

Pour les HealthOmics flux de travail, les clés gérées par le client ne sont pas prises en charge par le système de fichiers temporaire ; toutefois, toutes les données sont chiffrées automatiquement au repos à l'aide de l'algorithme de chiffrement par blocs XTS-AES-256 pour chiffrer le système de fichiers. L'utilisateur et le rôle IAM utilisés pour démarrer l'exécution d'un flux de travail doivent également avoir accès aux AWS KMS clés utilisées pour les compartiments d'entrée et de sortie du flux de travail. Les flux de travail n'utilisent pas de licences et AWS KMS le chiffrement est limité aux compartiments Amazon S3 en entrée et en sortie. Le rôle IAM utilisé à la fois pour le flux de travail APIs doit également avoir accès aux AWS KMS clés utilisées ainsi qu'aux compartiments Amazon S3 d'entrée et de sortie. Vous pouvez utiliser les rôles et les autorisations IAM pour contrôler l'accès ou AWS KMS les politiques. Pour en savoir plus, consultez Authentification et contrôle d'accès pour AWS KMS.

Lorsque vous l'utilisez AWS Lake Formation avec HealthOmics Analytics, toutes les autorisations de déchiffrement associées à la Lake Formation sont également accordées aux compartiments Amazon S3 en entrée et en sortie. Vous trouverez plus d'informations sur la façon dont AWS Lake Formation les autorisations sont gérées dans la AWS Lake Formation documentation.

HealthOmics Analytics accorde à Lake Formation kms: Decrypt l'autorisation de lire les données chiffrées dans un compartiment Amazon S3. Tant que vous êtes autorisé à interroger les données via Lake Formation, vous pourrez lire les données cryptées. L'accès aux données est contrôlé par le biais du contrôle d'accès aux données dans Lake Formation, et non par le biais d'une politique de clé KMS. Pour en savoir plus, consultez les demandes de service AWS AWS intégrées dans la documentation de Lake Formation.

Clés détenues par AWS

Par défaut, HealthOmics utilise Clés détenues par AWS pour chiffrer automatiquement les données au repos, car ces données peuvent contenir des informations sensibles telles que des informations personnelles identifiables (PII) ou des informations de santé protégées (PHI). Clés détenues par AWS ne sont pas enregistrés dans votre compte. Elles font partie d'un ensemble de clés KMS qu'AWS possède et gère pour être utilisées dans plusieurs comptes AWS.

Les services AWS peuvent être utilisés Clés détenues par AWS pour protéger vos données. Vous ne pouvez ni consulter, ni gérer, ni accéder à leur utilisation Clés détenues par AWS, ni en vérifier l'utilisation. Cependant, vous n'avez pas besoin de travailler ou de modifier de programme pour protéger les clés qui chiffrent vos données.

Aucuns frais mensuels ni frais d'utilisation ne vous sont facturés Clés détenues par AWS, et ils ne sont pas pris en compte dans les quotas AWS KMS de votre compte. Pour de plus amples informations, veuillez consulter Clés gérées par AWS.

Clés gérées par le client

HealthOmics prend en charge l'utilisation de clés symétriques gérées par le client que vous créez, détenez et gérez pour ajouter une deuxième couche de chiffrement au chiffrement existant appartenant à AWS. Étant donné que vous avez le contrôle total de cette couche de chiffrement, vous pouvez effectuer les tâches suivantes :

  • Établir et maintenir des politiques clés, des politiques IAM et des subventions

  • Rotation des matériaux de chiffrement de clé

  • Activation et désactivation des stratégies de clé

  • Ajout de balises

  • Création d'alias de clé

  • Planification des clés pour la suppression

Vous pouvez également l' CloudTrail utiliser pour suivre les demandes HealthOmics envoyées AWS KMS en votre nom. Des AWS KMS frais supplémentaires s'appliquent. Pour plus d'informations, consultez la section Clés gérées par le client.

Création d'une clé gérée par le client

Vous pouvez créer une clé symétrique gérée par le client à l'aide de l'AWS Management Console ou du AWS KMS APIs.

Suivez les étapes de création de clés symétriques gérées par le client dans le guide du développeur AWS Key Management Service.

Les stratégies de clé contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Lorsque vous créez une clé gérée par le client, vous pouvez définir une politique clé. Pour plus d'informations, consultez la section Gestion de l'accès aux clés gérées par le client dans le guide du développeur AWS Key Management Service.

Pour utiliser une clé gérée par le client avec vos ressources HealthOmics Analytics, le principal appelant a besoin de kms : CreateGrant operations dans la politique des clés. Cela permet au système d'utiliser un jeton FAS pour créer une attribution à une clé gérée par le client qui contrôle l'accès à une clé KMS spécifiée. Cette clé permet à un utilisateur d'accéder aux opérations kms:grant requises. HealthOmics Voir Utilisation des subventions pour plus d'informations.

À des fins HealthOmics d'analyse, les opérations d'API suivantes doivent être autorisées pour le principal appelant :

  • kms : CreateGrant ajoute des autorisations à une clé spécifique gérée par le client, ce qui permet d'accéder aux opérations d'attribution dans HealthOmics Analytics.

  • kms : DescribeKey fournit les informations clés gérées par le client nécessaires pour valider la clé. Cela est obligatoire pour toutes les opérations.

  • kms : GenerateDataKey fournit un accès aux ressources de chiffrement au repos pour toutes les opérations d'écriture. Cette action fournit également des informations clés gérées par le client que le service peut utiliser pour valider que l'appelant a accès à la clé.

  • KMS:Decrypt permet d'accéder aux opérations de lecture ou de recherche de ressources chiffrées.

Pour utiliser une clé gérée par le client avec vos ressources HealthOmics de stockage, le principal de HealthOmics service et le principal appelant doivent être autorisés dans la politique des clés. Cela permet au service de valider que l'appelant a accès à la clé et utilise le principal du service pour exécuter la gestion du magasin à l'aide de la clé gérée par le client. Pour le HealthOmics stockage, la politique clé du principal de service doit autoriser les opérations d'API suivantes :

  • kms : DescribeKey fournit les informations clés gérées par le client nécessaires pour valider la clé. Cela est obligatoire pour toutes les opérations.

  • kms : GenerateDataKey fournit un accès aux ressources de chiffrement au repos pour toutes les opérations d'écriture. Cette action fournit également des informations clés gérées par le client que le service peut utiliser pour valider que l'appelant a accès à la clé.

  • KMS:Decrypt permet d'accéder aux opérations de lecture ou de recherche de ressources chiffrées.

L'exemple suivant montre une déclaration de politique qui permet à un directeur de service de créer et d'interagir avec une HealthOmics séquence ou un magasin de référence chiffré à l'aide de la clé gérée par le client :

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

L'exemple suivant montre une politique qui crée des autorisations permettant à un magasin de données de déchiffrer les données d'un compartiment 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" ] } } } ] }

Autorisations IAM requises pour utiliser une clé gérée par le client

Lors de la création d'une ressource telle qu'un magasin de données AWS KMS chiffré à l'aide d'une clé gérée par le client, des autorisations sont requises à la fois pour la politique de clé et pour la stratégie IAM pour l'utilisateur ou le rôle IAM.

Vous pouvez utiliser la clé de ViaService condition kms : pour limiter l'utilisation de la clé KMS aux seules demandes provenant de HealthOmics.

Pour plus d'informations sur les politiques clés, consultez la section Activation des politiques IAM dans le guide du développeur d'AWS Key Management Service.

Autorisations relatives à l'API Analytics

Pour les HealthOmics analyses, l'utilisateur ou le rôle IAM qui crée les magasins doit disposer des autorisations kms: CreateGrant kms:GenerateDataKey, kms: Déchiffrer et des autorisations, ainsi que kms: DescribeKey des autorisations nécessaires HealthOmics .

Autorisations de l'API de stockage

Pour le HealthOmics stockage APIs, l'utilisateur ou le rôle IAM qui appelle les opérations d'API suivantes a besoin des autorisations répertoriées :

CreateReferenceStore, CreateSequenceStore

Pour créer une boutique, l'appelant IAM doit disposer des kms:DescribeKey autorisations ainsi que des autorisations nécessaires HealthOmics . Le directeur du HealthOmics service appelle kms:GenerateDataKeyWithoutPlaintext pour effectuer des contrôles de validation d'accès pour le chargement et l'accès aux données.

StartReadSetImportJob, StartReferenceImportJob

Pour démarrer des tâches d'importation de données, l'appelant IAM doit disposer kms:Decrypt d'kms:GenerateDataKeyautorisations pour la clé KMS sur le magasin d'importation, ainsi que d'kms:Decryptautorisations sur le compartiment Amazon S3 contenant les objets à importer. En outre, le rôle transmis à l'appel doit disposer d'kms:Decryptautorisations sur le compartiment Amazon S3 contenant les objets à importer. L'appelant IAM doit également être autorisé à transmettre le rôle à la tâche.

CreateMultipartReadSetUpload, UploadReadSetPart, CompleteMultipartReadSetUpload

Pour effectuer un téléchargement en plusieurs parties, l'appelant IAM doit avoir créé, kms:GenerateDataKey télécharger kms:Decrypt et terminer le téléchargement en plusieurs parties.

StartReadSetExportJob

Pour démarrer une tâche d'exportation de données, l'appelant IAM doit être kms:Decrypt autorisé à utiliser la clé KMS sur le magasin à exporter depuis kms:GenerateDataKey et kms:Decrypt sur le compartiment Amazon S3 qui reçoit les objets. En outre, le rôle transmis à l'appel doit disposer d'kms:Decryptautorisations sur le compartiment Amazon S3 qui reçoit les objets. L'appelant IAM doit également être autorisé à transmettre le rôle à la tâche.

StartReadsetActivationJob

Pour démarrer une tâche d'activation d'un ensemble de lecture, l'appelant IAM doit disposer des kms:GenerateDataKey autorisations nécessaires pour kms:Decrypt les objets.

GetReference, GetReadSet

Pour lire des objets depuis le magasin, l'appelant IAM doit avoir l'kms:Decryptautorisation d'accéder à ces objets.

Set de lecture S3 GetObject

Pour lire des objets depuis le magasin à l'aide de l'GetObjectAPI Amazon S3, l'appelant IAM doit avoir kms:Decrypt l'autorisation d'accéder aux objets. Définissez cette autorisation pour les clés gérées par le client et pour les Clé détenue par AWS configurations.

Comment HealthOmics utilise les subventions dans AWS KMS

HealthOmics Analytics nécessite une autorisation pour utiliser votre clé KMS gérée par le client. Les subventions ne sont ni requises ni utilisées pour les HealthOmics flux de travail. HealthOmics Le stockage utilise la clé gérée par le client directement auprès du principal du service. N'utilisez donc pas de subvention. Lorsque vous créez un magasin d'analyse chiffré à l'aide d'une clé gérée par le client, HealthOmics Analytics crée une subvention en votre nom en envoyant une CreateGrantdemande à AWS KMS. Les subventions dans AWS KMS sont utilisées pour donner HealthOmics accès à une clé KMS dans un compte client.

Il n'est pas recommandé de révoquer ou de retirer les autorisations créées par HealthOmics Analytics en votre nom. Si vous révoquez ou retirez l' HealthOmics autorisation d'utiliser les clés AWS KMS de votre compte, vous HealthOmics ne pouvez pas accéder à ces données, chiffrer les nouvelles ressources envoyées au magasin de données ou les déchiffrer lorsqu'elles sont extraites.

Lorsque vous révoquez ou retirez une subvention pour HealthOmics, le changement intervient immédiatement. Pour révoquer les droits d'accès, nous vous recommandons de supprimer le magasin de données plutôt que de révoquer l'autorisation. Lorsque vous supprimez le magasin de données, HealthOmics les subventions sont supprimées en votre nom.

Surveillance de vos clés de chiffrement pour AWS HealthOmics

Vous pouvez l'utiliser CloudTrail pour suivre les demandes AWS HealthOmics envoyées en votre AWS KMS nom lorsque vous utilisez une clé gérée par le client. Les entrées du CloudTrail journal indiquent HealthOmics .Amazonaws.com dans le champ UserAgent afin de distinguer clairement les demandes effectuées par. HealthOmics

Les exemples suivants sont CloudTrail des événements pour CreateGrant GenerateDataKey, déchiffrer et surveiller les AWS KMS opérations appelées DescribeKey pour accéder HealthOmics aux données chiffrées par votre clé gérée par le client.

Ce qui suit montre également comment autoriser les HealthOmics analyses CreateGrant à accéder à une clé KMS fournie par le client, ce qui permet HealthOmics d'utiliser cette clé KMS pour chiffrer toutes les données client au repos.

Vous n'êtes pas obligé de créer vos propres subventions. HealthOmics crée une subvention en votre nom en envoyant une CreateGrant demande à AWS KMS. Les subventions AWS KMS sont utilisées pour donner HealthOmics accès à une AWS KMS clé dans un compte client.

{ "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'exemple suivant montre comment s' GenerateDataKey assurer que l'utilisateur dispose des autorisations nécessaires pour chiffrer les données avant de les stocker.

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

En savoir plus

Les ressources suivantes fournissent des informations supplémentaires sur le chiffrement des données au repos.

Pour plus d'informations sur les concepts de base d'AWS Key Management Service, consultez la AWS KMS documentation.

Pour plus d'informations sur les meilleures pratiques en matière de sécurité, AWS KMS consultez la documentation.

Chiffrement en transit

AWS HealthOmics utilise le protocole TLS 1.2+ pour chiffrer les données en transit via les points de terminaison publics et via les services principaux.