View a markdown version of this page

Chiffrement au repos avec des clés gérées par le client - AWS Centre de résilience

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.

Chiffrement au repos avec des clés gérées par le client

Le Resilience Hub de nouvelle génération fournit un chiffrement par défaut pour protéger les données sensibles des clients au repos lors de leur utilisation Clés détenues par AWS.

  • Le Resilience Hub de nouvelle génération utilise ces clés par défaut pour chiffrer automatiquement les données sensibles. Vous ne pouvez pas consulter, gérer Clés détenues par AWS, utiliser ou auditer leur utilisation. Toutefois, vous n’avez pas besoin de prendre de mesure ou de modifier les programmes pour protéger les clés qui chiffrent les données. Pour plus d’informations, consultez https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk dans le Guide du développeur AWS Key Management Service .

Bien que vous ne puissiez pas désactiver cette couche de chiffrement ou sélectionner un autre type de chiffrement, vous pouvez ajouter une deuxième couche de chiffrement en spécifiant une clé gérée par le client lorsque vous créez une ressource de service :

  • Clés gérées par le client La nouvelle génération de Resilience Hub prend en charge l'utilisation d'une clé de chiffrement symétrique gérée par le client que vous créez, détenez et gérez. Étant donné que vous avez le contrôle total de cette couche de chiffrement, vous pouvez effectuer les tâches suivantes :

    • Établissement et gestion des stratégies de clé

    • Établissement et gestion des politiques IAM et des octrois

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

    • Rotation des matériaux de chiffrement de clé

    • Ajout de balises

    • Création d’alias de clé

    • Planification des clés pour la suppression

    Pour plus d’informations, consultez Clés gérées par le client dans le Guide du développeur AWS Key Management Service .

Le tableau suivant résume la manière dont Next Generation Resilience Hub chiffre les données sensibles.

Chiffrement des types de données dans le Resilience Hub de nouvelle génération
Type de données AWS chiffrement par clé possédée Chiffrement des clés géré par le client (facultatif)

description

Descriptions des services, des systèmes et des politiques de résilience.

Activé Activé

finding

Évaluation : recherche de noms, de descriptions, de raisonnements et de commentaires.

Activé Activé

recommendation

Descriptions des recommandations et modifications suggérées associées aux résultats.

Activé Activé

serviceFunction

Noms et descriptions des fonctions de service.

Activé Activé

assumption

Texte d'hypothèse associé aux fonctions de service.

Activé Activé

userJourney

Descriptions du parcours de l'utilisateur.

Activé Activé

event

Descriptions du journal des événements de service.

Activé Activé

assessmentData

Données intermédiaires générées par les flux de travail d'évaluation agentic, notamment la topologie, la configuration des ressources et les données de travail stockées dans Amazon S3.

Activé Activé

Identifiants de ressource

Noms des ressources, ARN, types de ressources et régions. Les noms de ressources sont utilisés dans les identifiants et le contexte de chiffrement et ne doivent pas contenir de données sensibles.

Activé Non pris en charge
Note

Le Resilience Hub de nouvelle génération active automatiquement et gratuitement le chiffrement Clés détenues par AWS au repos. Toutefois, AWS KMS des frais s'appliquent pour l'utilisation d'une clé gérée par le client. Pour plus d’informations sur la tarification, consultez Tarification d’AWS Key Management Service.

Important

Le Resilience Hub de nouvelle génération ne prend en charge que les clés KMS de chiffrement symétriques. Vous ne pouvez utiliser aucun autre type de clé KMS pour chiffrer les ressources de votre Resilience Hub de nouvelle génération. Pour savoir si une clé KMS est une clé de chiffrement symétrique, consultez la section Identification des clés KMS symétriques et asymétriques dans le manuel du AWS Key Management Service développeur.

Comment le Next Generation Resilience Hub utilise les subventions AWS KMS

Le Resilience Hub de nouvelle génération nécessite une subvention pour utiliser votre clé gérée par le client lors de flux de travail d'évaluation asynchrones.

Lorsque vous créez un service avec une clé gérée par le client, Next generation Resilience Hub crée une subvention en votre nom en envoyant une CreateGrantdemande à AWS KMS. L'autorisation est limitée au contexte de chiffrement de votre service et autorise uniquement les opérations suivantes :

  • Encrypt— Chiffrez les champs sensibles tels que les résultats, les recommandations et les hypothèses générés lors des flux de travail d'évaluation.

  • Decrypt— Décryptez les données précédemment cryptées lors du traitement de l'évaluation.

  • GenerateDataKey— Générez des clés de données pour chiffrer les données d'évaluation intermédiaires stockées dans Amazon S3.

La subvention est supprimée lorsque vous supprimez le service. Vous pouvez également révoquer l'accès à la subvention ou supprimer l'accès du service à la clé gérée par le client à tout moment. Dans ce cas, le Resilience Hub de nouvelle génération ne peut accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affecte les opérations d'API et les flux de travail d'évaluation qui dépendent de ces données.

Pour les opérations d'API synchrones (telles que la création ou la mise à jour d'un service), le Resilience Hub de nouvelle génération utilise directement les autorisations de l'appelant sur la clé KMS, sans nécessiter d'autorisation.

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

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

Pour créer une clé de chiffrement symétrique gérée par le client

Suivez les étapes de Création de clés KMS de chiffrement symétriques dans le Guide du développeur AWS Key Management Service .

Spécification d'une clé gérée par le client pour le Resilience Hub de nouvelle génération

Vous pouvez spécifier une clé gérée par le client lorsque vous créez un service, un système ou une politique de résilience. Lorsque vous fournissez un identifiant de clé KMS, Next Generation Resilience Hub utilise cette clé pour chiffrer toutes les données sensibles associées à la ressource.

Vous pouvez spécifier la clé à l'aide de l'un des identificateurs de clé suivants :

  • ID de clé (par exemple,1234abcd-12ab-34cd-56ef-1234567890ab)

  • ARN clé (par exemple,arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab)

  • Nom d'alias (par exemple,alias/my-key)

  • Alias ARN (par exemple,arn:aws:kms:us-west-2:111122223333:alias/my-key)

Pour spécifier une clé gérée par le client, utilisez le kmsKeyId paramètre lorsque vous appelez les opérations CreateServiceCreateSystem, ou CreatePolicy API.

Stratégie de clé

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 votre clé gérée par le client, vous pouvez spécifier une stratégie de clé. Pour plus d'informations, consultez Gestion de l'accès aux clés gérées par le client dans le Guide du développeur AWS Key Management Service .

La politique clé suivante permet à Next Generation Resilience Hub d'utiliser votre clé. Il limite chaque autorisation aux seules opérations requises par Next Generation Resilience Hub, en utilisant des conditions de contexte de chiffrement pour garantir que votre clé ne peut être utilisée que pour vos ressources spécifiques. Remplacez CUSTOMER-ACCOUNT-IDCUSTOMER-ROLE, et REGION par vos valeurs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowResilienceHubDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForServices", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:service-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:service/*" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForSystems", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:system-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:system/*" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForPolicies", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:policy-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:policy/*" } } }, { "Sid": "AllowResilienceHubCreateGrantForAsyncWorkflows", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:service-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:service/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey" ] } } } ] }

Les déclarations de politique fournissent les autorisations suivantes :

  • AllowResilienceHubDescribeKey— Permet à Next Generation Resilience Hub de valider que votre clé existe et qu'il s'agit d'une clé de chiffrement symétrique lorsque vous la spécifiez lors de la création du service.

  • AllowResilienceHubEncryptDecryptForServices— Permet au Resilience Hub de nouvelle génération de chiffrer et de déchiffrer les données de niveau de service (résultats, recommandations, hypothèses, fonctions du service, événements et données d'évaluation) lors d'appels d'API synchrones. Délimité aux ressources de votre service en fonction du contexte de chiffrement.

  • AllowResilienceHubEncryptDecryptForSystems— Permet à Resilience Hub de nouvelle génération de chiffrer et de déchiffrer les données au niveau du système (descriptions du système et descriptions du parcours utilisateur) lors d'appels d'API synchrones. Délimité aux ressources de votre système par contexte de chiffrement.

  • AllowResilienceHubEncryptDecryptForPolicies— Permet au Resilience Hub de nouvelle génération de chiffrer et de déchiffrer les données au niveau des politiques (descriptions des politiques de résilience) lors d'appels d'API synchrones. Délimité à vos ressources politiques par contexte de chiffrement.

  • AllowResilienceHubCreateGrantForAsyncWorkflows— Permet à Next Generation Resilience Hub de créer une subvention pour les flux de travail d'évaluation asynchrones. L'autorisation est limitée aux seules opérations nécessaires (chiffrer, déchiffrer GenerateDataKey) et doit inclure une contrainte de sous-ensemble de contexte de chiffrement liée à l'ARN de votre service.

Pour plus d'informations sur la spécification d'autorisations dans une politique, consultez le Guide du développeur AWS Key Management Service .

Pour plus d'informations sur le dépannage des clés d’accès, consultez le Guide du développeur AWS Key Management Service .

Contexte de chiffrement Resilience Hub de nouvelle génération

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contient des informations contextuelles supplémentaires sur les données.

AWS KMS utilise le contexte de chiffrement comme données authentifiées supplémentaires pour prendre en charge le chiffrement authentifié. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS lie le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez inclure le même contexte de chiffrement dans la demande.

Contexte de chiffrement Resilience Hub de nouvelle génération

Le Resilience Hub de nouvelle génération utilise les clés contextuelles de chiffrement suivantes en fonction du type de ressource :

Clés contextuelles de chiffrement
Clé contextuelle de chiffrement Scope Utilisé pour
aws:resiliencehub:service-arn Service Constatations, recommandations, hypothèses, fonctions des services, dépendances, événements et données d'évaluation
aws:resiliencehub:system-arn Système Descriptions du système et descriptions du parcours utilisateur
aws:resiliencehub:policy-arn Politique Descriptions des politiques de résilience

Exemple de contexte de chiffrement pour une opération au niveau du service :

"encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123" }

Utilisation du contexte de chiffrement pour la surveillance

Lorsque vous utilisez une clé de chiffrement symétrique gérée par le client pour chiffrer vos données, vous pouvez utiliser le contexte de chiffrement dans les enregistrements et les journaux d'audit pour identifier la manière dont la clé gérée par le client est utilisée. Le contexte de chiffrement apparaît dans les journaux générés par AWS CloudTrail.

Utilisation du contexte de chiffrement pour contrôler l'accès

Vous pouvez utiliser le contexte de chiffrement dans les politiques clés et les politiques IAM conditions pour contrôler l'accès à votre clé de chiffrement symétrique gérée par le client. Vous pouvez également utiliser des contraintes de contexte de chiffrement dans un octroi.

Le Resilience Hub de nouvelle génération utilise une contrainte de sous-ensemble de contexte de chiffrement dans les subventions afin de garantir que les flux de travail asynchrones ne peuvent chiffrer et déchiffrer que les données appartenant au service spécifique pour lequel la subvention a été créée.

Surveillance de vos clés de chiffrement pour le Resilience Hub de nouvelle génération

Lorsque vous utilisez une clé gérée par le client avec les ressources de votre hub de résilience de nouvelle génération, vous pouvez l'utiliser AWS CloudTrailpour suivre les demandes auxquelles le hub de résilience de nouvelle génération envoie AWS KMS.

CreateGrant

Lorsque vous créez un service avec une clé gérée par le client, Next generation Resilience Hub envoie une CreateGrant demande en votre nom pour permettre aux flux de travail d'évaluation asynchrones d'utiliser votre clé. La subvention est spécifique au service et limitée par le contexte de chiffrement. Le Resilience Hub RetireGrant de nouvelle génération permet de supprimer la subvention lorsque vous supprimez le service.

L’exemple d’événement suivant enregistre l’opération CreateGrant :

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T10:07:22Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "granteePrincipal": "resiliencehub.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "retiringPrincipal": "resiliencehub.amazonaws.com", "operations": [ "Decrypt", "GenerateDataKey", "Encrypt" ], "constraints": { "encryptionContextSubset": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123" } } }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "56d4e434-abb6-4dd7-8558-ad38560d03b1", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey

Lorsque Next generation Resilience Hub chiffre des données à l'aide de votre clé gérée par le client, il envoie une GenerateDataKey demande pour générer une clé de données. Cela se produit à la fois lors des appels d'API synchrones (tels que la création d'un service avec une description) et des flux de travail d'évaluation asynchrones.

L’exemple d’événement suivant enregistre l’opération GenerateDataKey :

{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T11:18:36Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "numberOfBytes": 32, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123", "aws-crypto-public-key": "AwAnnorjRE+DFQYIuDKjGEvlXwro5Rdiegk8flmq7m0N..." } }, "responseElements": null, "requestID": "c5bedc9b-e6d6-45f8-b121-c9851a3d718a", "eventID": "e839a7ed-e4a9-32a3-b92a-2c7237a40c82", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

Lorsque vous récupérez des ressources par le biais d'opérations d'API ou lorsque des flux de travail d'évaluation traitent des données précédemment stockées, le Resilience Hub de nouvelle génération envoie des Decrypt demandes pour déchiffrer les données.

L’exemple d’événement suivant enregistre l’opération Decrypt :

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T11:27:49Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123", "aws-crypto-public-key": "A/9P3BC05WjeQONZR1fBiEqWKEse/Yk1lMxd2VIh2ED5..." } }, "responseElements": null, "requestID": "30f8e9bc-4e0a-4359-8bc3-8278ef42c206", "eventID": "195ef070-c952-4c28-9883-29bca297a08c", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey

Le Resilience Hub de nouvelle génération envoie des DescribeKey demandes pour vérifier que la clé gérée par le client associée à votre service existe dans le compte et dans la région et qu'il s'agit d'une clé de chiffrement symétrique valide.

L’exemple d’événement suivant enregistre l’opération DescribeKey :

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T10:07:13Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "e427932c-448b-49aa-88e1-b311c27ba753", "eventID": "48c596a5-83c7-4603-b0cf-be0ff2548623", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

En savoir plus

Les ressources suivantes fournissent plus d'informations sur le chiffrement des données au repos.