Chiffrement au repos dans Amazon Connect - Amazon Connect

Chiffrement au repos dans Amazon Connect

Les données de contact classées comme des données d’identification personnelle, ou les données représentant le contenu client stocké par Amazon Connect, sont chiffrées au repos (c’est-à-dire avant d’être placées, stockées ou enregistrées sur un disque) à l’aide de clés de chiffrement AWS KMS détenues par AWS. Pour en savoir plus sur les clés AWS KMS, consultez Qu’est-ce que AWS Key Management Service ? dans le Guide du développeur AWS Key Management Service. Les données de contact situées dans un stockage non temporaire sont chiffrées de telle sorte que les clés de chiffrement des données générées à partir des clés KMS ne soient pas partagées entre les instances Amazon Connect.

Le chiffrement côté serveur Amazon S3 est utilisé pour chiffrer les enregistrements de conversations (voix et chat). Les enregistrements d’appels et d’écrans, ainsi que les transcriptions, sont stockés en deux phases :

  • Enregistrements intermédiaires conservés dans Amazon Connect pendant et après le contact, mais avant la livraison.

  • Enregistrements livrés à votre compartiment Amazon S3.

Les enregistrements et les transcriptions de chat stockés dans votre compartiment Amazon S3 sont sécurisés à l’aide d’une clé KMS configurée lors de la création de votre instance.

Pour plus d’informations sur la gestion des clés dans Amazon Connect, consultez Gestion des clés dans Amazon Connect.

Chiffrement des données Amazon AppIntegrations au repos

Lorsque vous créez une intégration des données chiffrée avec une clé gérée par le client, Amazon AppIntegrations crée un octroi en votre nom en envoyant une demande CreateGrant à AWS KMS. Les octrois dans AWS KMS sont utilisées pour accorder à Amazon AppIntegrations l’accès à une clé KMS dans votre compte.

Vous pouvez révoquer l’accès à l’octroi ou supprimer l’accès d’Amazon AppIntegrations à la clé gérée par le client à tout moment. Dans ce cas, Amazon AppIntegrations 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 qui dépendent de ces données.

Les données d’application externe traitées par Amazon AppIntegrations sont chiffrées au repos dans un compartiment S3 à l’aide de la clé gérée par le client que vous avez fournie lors de la configuration. Les données de configuration de l’intégration sont chiffrées au repos à l’aide d’une clé limitée dans le temps et spécifique au compte d’utilisateur.

Amazon AppIntegrations requiert l’octroi pour utiliser la clé gérée par le client pour les opérations internes suivantes :

  • Envoyer GenerateDataKeyRequest à AWS KMS pour générer des clés de données chiffrées par la clé gérée par votre client.

  • Envoyer des demandes Decrypt à AWS KMS pour déchiffrer les clés de données chiffrées afin qu’elles puissent être utilisées pour chiffrer vos données.

Chiffrement de la fonctionnalité Cas Amazon Connect au repos

Toutes les données fournies par le client dans les champs de cas, les commentaires de cas, les descriptions des champs et les modèles stockés par la fonctionnalité Cas Amazon Connect sont chiffrées au repos à l’aide des clés de chiffrement stockées dans AWS Key Management Service (AWS KMS).

Le service Cas Amazon Connect détient, gère, surveille et fait pivoter les clés de chiffrement (c’est-à-dire les Clés détenues par AWS) afin de répondre aux normes de sécurité élevées. Les données utiles des flux d’événements de cas sont temporairement (généralement pendant quelques secondes) stockées dans Amazon EventBridge avant d’être mises à disposition via le bus par défaut dans le compte client. EventBridge chiffre également l’intégralité des données utiles au repos à l’aide de Clés détenues par AWS.

Chiffrement de la fonctionnalité Profils des clients Amazon Connect au repos

Toutes les données utilisateur stockées dans Profils des clients Amazon Connect sont chiffrées au repos. Le chiffrement au repos de la fonctionnalité Profils des clients Amazon Connect offre une sécurité renforcée en chiffrant toutes vos données au repos à l’aide de clés de chiffrement stockées dans AWS Key Management Service (AWS KMS). Cette fonctionnalité réduit la lourdeur opérationnelle et la complexité induites par la protection des données sensibles. Le chiffrement au repos vous permet de créer des applications sensibles en matière de sécurité qui sont conformes aux exigences réglementaires et de chiffrement strictes.

Les politiques organisationnelles et les réglementations sectorielles ou gouvernementales, ainsi que les exigences de conformité, exigent souvent l’utilisation du chiffrement au repos pour augmenter la sécurité des données de vos applications. Fonctionnalité Profils des clients intégrée à AWS KMS pour activer sa stratégie de chiffrement au repos. Pour plus d’informations, consultez Concepts d’AWS Key Management Service dans le Guide du développeur AWS Key Management Service.

Lorsque vous créez un nouveau domaine, vous devez fournir une clé KMS que le service utilisera pour chiffrer vos données en transit et au repos. La clé gérée par le client est créée, détenue et gérée par vous-même. Vous disposez d’un contrôle total sur la clé gérée par le client (des frais AWS KMS s’appliquent).

Vous pouvez spécifier une clé de chiffrement lorsque vous créez un nouveau domaine ou type d’objet de profil, ou changer les clés de chiffrement sur une ressource existante à l’aide de l’interface de ligne de commande AWS (AWS CLI) ou de l’API de chiffrement de la fonctionnalité Profils des clients Amazon Connect. Lorsque vous choisissez une clé gérée par le client, la fonctionnalité Profils des clients Amazon Connect crée un octroi qui permet d’accéder à la clé gérée par le client.

Des frais AWS KMS s’appliquent pour une clé gérée par le client. Pour plus d’informations sur la tarification, consultez Tarification d’AWS KMS.

Chiffrement Amazon Q in Connect au repos

Toutes les données utilisateur stockées dans Amazon Q in Connect sont chiffrées au repos à l’aide des clés de chiffrement stockées dans AWS Key Management Service. Si vous fournissez éventuellement une clé gérée par le client, Amazon Q in Connect l’utilise pour chiffrer le contenu des connaissances stocké au repos en dehors des index de recherche Amazon Q in Connect. Amazon Q in Connect utilise des index de recherche dédiés par client, qui sont chiffrés au repos à l’aide de Clés détenues par AWS stockées dans AWS Key Management Service. En outre, vous pouvez utiliser CloudTrail pour auditer tout accès aux données à l’aide des API Amazon Q in Connect.

Des frais AWS KMS s’appliquent lors de l’utilisation d’une clé que vous fournissez. Pour plus d’informations sur la tarification, consultez Tarification d’AWS KMS.

Chiffrement d’Amazon Connect Voice ID au repos

Amazon Connect Voice ID stocke les empreintes vocales des clients qui ne peuvent pas être rétroconçues pour obtenir le discours du client inscrit ou identifier un client. Toutes les données utilisateur stockées dans Amazon Connect Voice ID sont chiffrées au repos. Lorsque vous créez un nouveau domaine Voice ID, vous devez fournir une clé géré par le client que le service utilise pour chiffrer vos données au repos. La clé gérée par le client est créée, détenue et gérée par vous-même. Vous disposez d’un contrôle total sur la clé.

Vous pouvez mettre à jour la clé KMS dans le domaine Voice ID à l’aide de la commande update-domain de l’interface de la ligne de commande AWS (AWS CLI) ou de l’API Voice ID UpdateDomain.

Lorsque vous modifiez la clé KMS, un processus asynchrone est déclenché pour rechiffrer les anciennes données avec la nouvelle clé KMS. À l’issue de ce processus, toutes les données de votre domaine sont chiffrées selon la nouvelle clé KMS, et vous pouvez retirer l’ancienne clé en toute sécurité. Pour plus d’informations, consultez UpdateDomain.

Voice ID crée un octroi qui lui accorde l’accès à la clé gérée par le client. Pour plus d’informations, consultez Comment Amazon Connect Voice ID utilise les octrois dans AWS KMS.

Voici une liste des données chiffrées au repos à l’aide de la clé gérée par le client :

  • Empreintes vocales : empreintes vocales générées lors de l’inscription des locuteurs et de l’enregistrement des fraudeurs dans le système.

  • Audio des locuteurs et des fraudeurs : données audio utilisées pour inscrire les locuteurs et enregistrer les fraudeurs.

  • CustomerSpeakerId : SpeakerId fourni par le client lors de l’inscription du client à Voice ID.

  • Métadonnées fournies par le client : elles incluent des chaînes au format libre telles que Domain Description, Domain Name, Job Name, etc..

Des frais AWS KMS s’appliquent pour une clé gérée par le client. Pour plus d’informations sur la tarification, consultez Tarification d’AWS KMS.

Comment Amazon Connect Voice ID utilise les octrois dans AWS KMS

Amazon Connect Voice ID nécessite un octroi pour utiliser la clé gérée par le client. Lorsque vous créez un domaine, Voice ID crée un octroi en votre nom en envoyant une demande CreateGrant à AWS KMS. L’octroi est requis pour utiliser la clé gérée par le client pour les opérations internes suivantes :

  • Envoyer des requêtes DescribeKey à AWS KMS pour vérifier que l’ID de clé symétrique gérée par le client fourni est valide.

  • Envoyez des requêtes GenerateDataKey à la clé KMS pour créer des clés de données avec lesquelles chiffrer des objets.

  • Envoyez des requêtes Decrypt à AWS KMS pour déchiffrer les clés de données chiffrées afin qu’elles puissent être utilisées pour chiffrer vos données.

  • Envoyez des demandes ReEncrypt AWS KMS au moment de la mise à jour de la clé pour rechiffrer un ensemble limité de données à l’aide de la nouvelle clé.

  • Stockez les fichiers dans S3 en utilisant la clé AWS KMS pour chiffrer les données.

Vous pouvez révoquer l’accès à l’octroi ou supprimer l’accès du service à la clé gérée par le client à tout moment. Dans ce cas, Voice ID ne pourra accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affecte toutes les opérations qui dépendent de ces données et entraîne des erreurs et des échecs AccessDeniedException dans les flux de travail asynchrones.

Stratégie de clé gérée par le client pour Voice ID

Les stratégies de clés 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 KMS dans le Guide du développeur AWS Key Management Service.

Voici un exemple de stratégie de clé qui donne à un utilisateur les autorisations dont il a besoin pour appeler toutes les API Voice ID à l’aide de la clé gérée par le client :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow key access to Amazon Connect VoiceID.", "Effect": "Allow", "Principal": { "AWS": "your_user_or_role_ARN" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "voiceid.us-east-1.amazonaws.com" ] } } } ] }

Pour en savoir plus sur la définition d’autorisations dans une politique, consultez Spécification de clés KMS dans les instructions de politique IAM dans le Guide du développeur AWS Key Management Service.

Pour en savoir plus sur la résolution des problèmes de clé d’accès, consultez Résolution des problèmes de clé d’accès dans le Guide du développeur AWS Key Management Service.

Contexte de chiffrement de Voice ID

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contiennent des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement en tant que 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.

Voice ID utilise le même contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques, où la clé est aws:voiceid:domain:arn et la valeur est la ressource Amazon Resource Name (ARN) Amazon Resource Name (ARN).

"encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }

Vous pouvez également utiliser le contexte de chiffrement dans les enregistrements d’audit et les journaux pour identifier la manière dont la clé gérée par le client est utilisée. Le contexte de chiffrement apparaît également dans les journaux générés par CloudTrail ou Amazon CloudWatch Logs.

Utilisation du contexte de chiffrement pour contrôler l’accès à votre clé gérée par le client

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

Amazon Connect Voice ID utilise une contrainte de contexte de chiffrement dans les octrois pour contrôler l’accès à la clé gérée par le client dans votre compte ou région. La contrainte d’octroi exige que les opérations autorisées par l’octroi utilisent le contexte de chiffrement spécifié.

Vous trouverez ci-dessous des exemples de déclarations de stratégie de clé permettant d’accorder l’accès à une clé gérée par le client dans un contexte de chiffrement spécifique. La condition énoncée dans cette déclaration de stratégie exige que les octrois comportent une contrainte de contexte de chiffrement qui spécifie le contexte de chiffrement.

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:"aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId"" } } }

Surveillance de vos clés de chiffrement pour Voice ID

Lorsque vous utilisez une clé AWS KMS gérée par le client avec Voice ID, vous pouvez utiliser AWS CloudTrail ou Amazon CloudWatch Logs pour suivre les demandes que Voice ID envoie à AWS KMS.

Les exemples suivants sont un exemple d’événement AWS CloudTrail pour une opération CreateGrant appelée par Voice ID pour accéder à des données chiffrées par votre clé gérée par le client :

CreateGrant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA5STZEFPSZEOW7NP3X:SampleUser1", "arn": "arn:aws:sts::111122223333:assumed-role/SampleRole/SampleUser", "accountId": "111122223333", "accessKeyId": "AAAAAAA1111111EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA5STZEFPSZEOW7NP3X", "arn": "arn:aws:iam::111122223333:role/SampleRole", "accountId": "111122223333", "userName": "SampleUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-09-14T23:02:23Z", "mfaAuthenticated": "false" } }, "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-09-14T23:02:50Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "SampleIpAddress", "userAgent": "Example Desktop/1.0 (V1; OS)", "requestParameters": { "constraints": { "encryptionContextSubset": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" } }, "retiringPrincipal": "voiceid.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "GenerateDataKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ], "granteePrincipal": "voiceid.amazonaws.com " }, "responseElements": { "grantId": "00000000000000000000000000000cce47be074a8c379ed39f22b155c6e86af82" }, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T15:12:39Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "alias/sample-key-alias" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-12T23:59:34Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "encryptionContext": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
GenerateDataKeyWithoutPlaintext
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:26:41Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
ReEncrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:59:05Z", "eventSource": "kms.amazonaws.com", "eventName": "ReEncrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "destinationEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationKeyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "sourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceAAD": "SampleSourceAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "destinationAAD": "SampleDestinationAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "sourceEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceKeyId": "arn:aws:kms:us-west-2:111122223333:key/55555555-3333-2222-1111-EXAMPLE22222" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }, { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-7777777777777" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }

Chiffrement au repos des campagnes sortantes

Les campagnes sortantes stockent les numéros de téléphone des clients et les attributs pertinents. Ces informations sont toujours chiffrées au repos à l’aide d’une clé gérée par le client ou d’une clé détenue par AWS. Les données sont séparées par ID d’instance Amazon Connect et sont chiffrées à l’aide de clés spécifiques à l’instance.

Vous pouvez fournir votre propre clé gérée par le client lors de l’intégration à des campagnes sortantes.

Le service utilise votre clé gérée par le client pour chiffrer les données sensibles au repos. Cette clé est créée, détenue et gérée par vous-même. Vous pouvez ainsi contrôler totalement son utilisation et sa sécurité.

Si vous ne fournissez pas votre propre clé gérée par le client, les campagnes sortantes chiffrent les données sensibles au repos à l’aide d’une clé spécifique détenue par AWS à votre instance Amazon Connect. Vous ne pouvez pas afficher, gérer, utiliser ou contrôler les clés détenues par AWS. Toutefois, vous n’avez pas besoin de prendre de mesure ou de modifier les programmes pour protéger les clés qui chiffrent vos données. Pour plus d’informations, consultez Clés détenues par AWS dans le Guide du développeur AWS Key Management Service.

Des frais AWS KMS s’appliquent pour une clé gérée par le client. Pour plus d’informations sur la tarification, consultez Tarification d’AWS KMS.

Comment les campagnes sortantes utilisent les subventions dans AWS KMS

Les campagnes sortantes nécessitent une autorisation pour utiliser votre clé gérée par le client. Lorsque vous participez à des campagnes sortantes à l’aide de la console AWS ou de l’API StartInstanceOnboardingJob, les Campagnes sortantes créent une subvention en votre nom en envoyant une demande CreateGrant à AWS KMS. Les octrois dans AWS KMS sont utilisées pour accorder au rôle lié au service de campagnes sortantes Amazon Connect l’accès à une clé KMS dans votre compte.

Les campagnes sortantes requièrent l’octroi pour utiliser la clé gérée par le client pour les opérations internes suivantes :

  • Envoyer des requêtes DescribeKey à AWS KMS pour vérifier que l’ID de clé symétrique gérée par le client fourni est valide.

  • Envoyer une demande GenerateDataKeyWithoutPlainText à AWS KMS pour générer des clés de données chiffrées par la clé gérée par votre client.

  • Envoyer des demandes Decrypt à AWS KMS pour déchiffrer les clés de données chiffrées afin qu’elles puissent être utilisées pour chiffrer vos données.

Vous pouvez révoquer l’accès à l’octroi ou supprimer l’accès des campagnes sortantes à la clé gérée par le client à tout moment. Dans ce cas, les campagnes sortantes ne peuvent accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affecte les opérations qui dépendent de ces données.

Stratégie de clé gérée par le client pour les campagnes sortantes

Les stratégies de clés 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 KMS dans le Guide du développeur AWS Key Management Service.

Voici un exemple de stratégie de clé qui accorde à un utilisateur les autorisations nécessaires pour appeler les API StartInstanceOnboardingJob, PutDialRequestBatch et PutOutboundRequestBatch à l’aide de la clé gérée par le client :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow key access to Amazon Connect outbound campaigns.", "Effect": "Allow", "Principal": { "AWS": "your_user_or_role_ARN" }, "Action": [ "kms:Decrypt", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "connect-campaigns.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:accountId": "111122223333", "kms:EncryptionContext:aws:connect:instanceId": "InstanceID" } } }, { "Sid": "Allow direct access to key metadata to the account", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Describe*" ], "Resource": "*" } ] }

Pour en savoir plus sur la définition d’autorisations dans une politique, consultez Spécification de clés KMS dans les instructions de politique IAM dans le Guide du développeur AWS Key Management Service.

Pour en savoir plus sur la résolution des problèmes de clé d’accès, consultez Résolution des problèmes de clé d’accès dans le Guide du développeur AWS Key Management Service.

Contexte de chiffrement des campagnes sortantes

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contiennent des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement en tant que 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.

Les campagnes sortantes utilisent le même contexte de chiffrement dans toutes les opérations cryptographiques AWS KMS, où les clés sont aws:accountId et aws:connect:instanceId et la valeur est l’identifiant du compte AWS et l’identifiant de l’instance Connect.

"encryptionContext": {    "aws:accountId": "111122223333",    "aws:connect:instanceId": "sample instance id" }

Vous pouvez également utiliser le contexte de chiffrement dans les enregistrements d’audit et les journaux pour identifier la manière dont la clé gérée par le client est utilisée. Le contexte de chiffrement apparaît également dans les journaux générés par CloudTrail ou Amazon CloudWatch Logs.

Utilisation du contexte de chiffrement pour contrôler l’accès à votre clé gérée par le client

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

Les campagnes sortantes contrôlent l’accès à la clé gérée par le client dans votre compte ou région à l’aide d’une contrainte de contexte de chiffrement dans les octrois. La contrainte d’octroi exige que les opérations autorisées par l’octroi utilisent le contexte de chiffrement spécifié.

Vous trouverez ci-dessous des exemples de déclarations de stratégie de clé permettant d’accorder l’accès à une clé gérée par le client dans un contexte de chiffrement spécifique. La condition énoncée dans cette déclaration de stratégie exige que les octrois comportent une contrainte de contexte de chiffrement qui spécifie le contexte de chiffrement.

{     "Sid": "Enable DescribeKey",     "Effect": "Allow",     "Principal": {         "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"      },      "Action": "kms:DescribeKey",      "Resource": "*" }, {      "Sid": "Enable CreateGrant",      "Effect": "Allow",      "Principal": {          "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"      },      "Action": "kms:CreateGrant",      "Resource": "*",      "Condition": {          "StringEquals": {              "kms:EncryptionContext:aws:accountId": "111122223333",              "kms:EncryptionContext:aws:connect:instanceId": "sample instance id"           }      } }

Surveillance de vos clés de chiffrement pour les campagnes sortantes

Lorsque vous utilisez une clé AWS KMS gérée par le client avec vos ressources de campagnes sortantes, vous pouvez utiliser AWS CloudTrail ou Amazon CloudWatch Logs pour suivre les demandes qu’Amazon Location envoie à AWS KMS.

Les exemples suivants sont des événements AWS CloudTrail pour CreateGrant, GenerateDataKeyWithoutPlainText, DescribeKey et Decrypt, afin de surveiller les opérations KMS appelées par Amazon Location afin d’accéder aux données chiffrées par votre clé gérée par le client :

CreateGrant
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-08-27T18:40:57Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "constraints": { "encryptionContextSubset": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" } }, "granteePrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "retiringPrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Decrypt", "Encrypt", "DescribeKey", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
GenerateDataKeyWithoutPlainText
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session", "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session", "accountId": "111122223333", "accessKeyId": "AROAIGDTESTANDEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "accountId": "111122223333", "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE" }, "attributes": { "creationDate": "2024-08-27T18:46:29Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" }, "keyId": "arn:aws:kms:us-west-2:586277393662:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "keySpec": "AES_256" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session", "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session", "accountId": "111122223333", "accessKeyId": "AROAIGDTESTANDEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "accountId": "111122223333", "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE" }, "attributes": { "creationDate": "2024-08-27T18:46:29Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "grantTokens": [ "EL7BPAGG-KDm8661M1pl55WcQD_9ZgFwYXN-SAMPLE" ] }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE3", "arn": "arn:aws:iam::111122223333:role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-08-27T18:40:57Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T19:09:02Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }

Prévisions, plans de capacité et plannings

Lorsque vous créez des prévisions, des plans de capacité et des plannings, toutes les données sont chiffrées au repos à l’aide des clés de chiffrement de la Clé détenue par AWS stockées dans AWS Key Management Service.