

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 des données
<a name="data-encryption"></a>

Cette rubrique fournit des informations spécifiques aux décisions prises par Amazon Connect concernant le chiffrement en transit et le chiffrement au repos.

## Chiffrement en transit
<a name="data-encryption-in-transit"></a>

Toutes les communications entre les clients et Amazon Connect Decisions et entre Amazon Connect Decisions et ses dépendances en aval sont protégées à l'aide de connexions TLS 1.2 ou supérieures.

## Chiffrement au repos
<a name="data-encryption-at-rest"></a>

Toutes les données au repos sont cryptées à l'aide d'un cryptage côté serveur. Aucune configuration supplémentaire n'est requise car le chiffrement est géré de manière transparente par le service.

Par défaut, Amazon Connect Decisions chiffre vos données à l'aide des clés de chiffrement appartenant à AWS et fournies par AWS Key Management Service (AWS KMS). Vous n'avez aucune action à entreprendre pour protéger les clés détenues par AWS qui chiffrent vos données. Pour plus d'informations, consultez la section [ relative aux clés détenues par AWS ](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) dans le manuel * AWS Key Management Service Developer Guide*.

Vous pouvez éventuellement configurer une clé KMS gérée par le client pour un contrôle total sur le cycle de vie de la clé, y compris la création, la rotation, la désactivation et la gestion des politiques d'accès.

### Chiffrement des données au repos à l'aide de clés KMS gérées par le client
<a name="data-encryption-customer-managed-kms-keys"></a>

#### Comment Amazon Connect Decisions utilise une clé KMS gérée par le client
<a name="data-encryption-how-uses-cmk"></a>

Lorsque vous configurez une clé KMS gérée par le client, Amazon Connect Decisions l'utilise pour chiffrer toutes les données de votre instance au repos. Cela inclut les données stockées dans l'infrastructure sous-jacente du service.

Le service accède à votre clé par le biais de trois mécanismes :
+ **Principal de service ** : le principal de `scn.amazonaws.com` service appelle KMS directement pour le chiffrement, le déchiffrement et les GenerateDataKey opérations, en transmettant le contexte de chiffrement et des en-têtes adjoints confus.
+ **Subventions ** : le service crée des autorisations sur votre clé lorsque vous créez une instance. Ces subventions permettent aux services AWS dépendants de chiffrer et de déchiffrer les données à l'aide de votre clé. Les subventions sont retirées lorsque l'instance est supprimée.
+ **Rôle d'instance via FAS ** : un rôle lié à un service accède à votre clé via la `scn.<region>.amazonaws.com` ViaService condition lorsque vous interagissez avec la console.

**Contexte de chiffrement : ** toutes les opérations KMS directes incluent le contexte de chiffrement suivant :

```
{"aws:scn:arn": "arn:aws:scn:<region>:<account-id>:instance/<instance-id>"}
```

**Mise en cache des clés de données : ** Amazon Connect Decisions met en cache les clés de données pendant 15 minutes maximum. Cela signifie qu'après avoir désactivé ou révoqué l'accès à votre clé KMS, le service peut continuer à utiliser une clé de données mise en cache pendant 15 minutes au maximum avant que les opérations ne commencent à échouer.

#### Configuration d'une clé KMS gérée par le client
<a name="data-encryption-configuring-cmk"></a>

Amazon Connect Decisions prend uniquement en charge les clés KMS à chiffrement symétrique. Multi-region les clés sont prises en charge.

##### Configuration des autorisations pour utiliser une clé KMS gérée par le client
<a name="data-encryption-configuring-permissions"></a>

Pour utiliser une clé KMS gérée par le client, configurez votre politique de clé en suivant ces trois étapes :

1. **Créez une clé KMS ** avec la politique de base ci-dessous.

1. **Créez une instance Amazon Connect ** Decisions et sélectionnez cette clé.

1. **(Facultatif, recommandé) ** Mettez à jour la politique clé avec des restrictions au niveau de l'instance.

##### Étape 1 — Création d'une clé avec la politique de base
<a name="data-encryption-step1-base-policy"></a>

Ouvrez la console [ AWS KMS](https://console.aws.amazon.com/kms), choisissez ** Créer une clé ** et remplacez la politique par défaut par la suivante. `<customer-account-id>`Remplacez-le par votre identifiant de compte AWS et `<region>` par votre région AWS.

```
{
          "Version": "2012-10-17",		 	 	 
          "Statement": [
            {
              "Sid": "AllowAccountRootFullAccess",
              "Effect": "Allow",
              "Principal": {
                "AWS": "arn:aws:iam::<customer-account-id>:root"
              },
              "Action": "kms:*",
              "Resource": "*"
            },
            {
              "Sid": "AllowScnRetrievalOfKeyMetadata",
              "Effect": "Allow",
              "Principal": {
                "Service": "scn.amazonaws.com"
              },
              "Action": "kms:DescribeKey",
              "Resource": "*",
              "Condition": {
                "StringEquals": {
                  "aws:SourceAccount": "<customer-account-id>"
                }
              }
            },
            {
              "Sid": "AllowScnEncryptDecryptWithContext",
              "Effect": "Allow",
              "Principal": {
                "Service": "scn.amazonaws.com"
              },
              "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext"
              ],
              "Resource": "*",
              "Condition": {
                "StringEquals": {
                  "aws:SourceAccount": "<customer-account-id>"
                }
              }
            },
            {
              "Sid": "AllowScnCryptoViaDependencyServices",
              "Effect": "Allow",
              "Principal": {
                "Service": "scn.amazonaws.com"
              },
              "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
              ],
              "Resource": "*",
              "Condition": {
                "StringEquals": {
                  "kms:ViaService": [
                    "redshift-serverless.<region>.amazonaws.com",
                    "aoss.<region>.amazonaws.com",
                    "dynamodb.<region>.amazonaws.com",
                    "s3.<region>.amazonaws.com"
                  ]
                }
              }
            },
            {
              "Sid": "AllowScnCreateGrantForDependencyServices",
              "Effect": "Allow",
              "Principal": {
                "Service": "scn.amazonaws.com"
              },
              "Action": "kms:CreateGrant",
              "Resource": "*",
              "Condition": {
                "ForAllValues:StringEquals": {
                  "kms:GrantOperations": [
                    "Encrypt",
                    "Decrypt",
                    "GenerateDataKey",
                    "GenerateDataKeyWithoutPlaintext",
                    "DescribeKey",
                    "RetireGrant",
                    "ReEncryptFrom",
                    "ReEncryptTo",
                    "CreateGrant"
                  ]
                },
                "Bool": {
                  "kms:GrantIsForAWSResource": "true"
                }
              }
            },
            {
              "Sid": "AllowInstanceRoleDescribeKey",
              "Effect": "Allow",
              "Principal": {
                "AWS": "*"
              },
              "Action": "kms:DescribeKey",
              "Resource": "*",
              "Condition": {
                "ArnLike": {
                  "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*"
                },
                "StringEquals": {
                  "kms:ViaService": "scn.<region>.amazonaws.com"
                }
              }
            },
            {
              "Sid": "AllowInstanceRoleEncryptDecrypt",
              "Effect": "Allow",
              "Principal": {
                "AWS": "*"
              },
              "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey*"
              ],
              "Resource": "*",
              "Condition": {
                "ArnLike": {
                  "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*"
                },
                "StringEquals": {
                  "kms:ViaService": "scn.<region>.amazonaws.com"
                }
              }
            },
            {
              "Sid": "AllowInstanceRoleCreateGrant",
              "Effect": "Allow",
              "Principal": {
                "AWS": "*"
              },
              "Action": "kms:CreateGrant",
              "Resource": "*",
              "Condition": {
                "ArnLike": {
                  "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*"
                },
                "StringEquals": {
                  "kms:ViaService": "scn.<region>.amazonaws.com"
                },
                "ForAllValues:StringEquals": {
                  "kms:GrantOperations": [
                    "Encrypt",
                    "Decrypt",
                    "GenerateDataKey",
                    "GenerateDataKeyWithoutPlaintext",
                    "DescribeKey",
                    "CreateGrant"
                  ]
                },
                "Bool": {
                  "kms:GrantIsForAWSResource": "true"
                }
              }
            }
          ]
        }
```

**Explications de la déclaration de politique : **
+ **AllowAccountRootFullAccess**— Garantit que le propriétaire de la clé conserve le contrôle total. Nécessaire pour empêcher le verrouillage des clés.
+ **AllowScnRetrievalOfKeyMetadata**— Permet au service de valider la configuration des clés lors de la création de l'instance. Accessible à votre compte via`aws:SourceAccount`.
+ **AllowScnEncryptDecryptWithContext**— Permet des opérations cryptographiques directes sur vos données. Après l'étape 3, cela est davantage étendu à votre instance spécifique via le contexte de chiffrement.
+ **AllowScnCryptoViaDependencyServices**— Autorise les opérations cryptographiques via des services de dépendance qui ne prennent pas en charge le contexte de chiffrement. Porté jusqu'à des points `kms:ViaService` de terminaison de service spécifiques.
+ **AllowScnCreateGrantForDependencyServices**— Permet la création de subventions pour les services aux personnes dépendantes. Limité aux opérations répertoriées et aux ressources AWS uniquement.
+ **AllowInstanceRoleDescribeKey**— Permet au rôle lié au service de l'instance de décrire la clé via FAS.
+ **AllowInstanceRoleEncryptDecrypt**— Permet au rôle d'instance de déchiffrer et de générer des clés de données via FAS.
+ **AllowInstanceRoleCreateGrant**— Permet au rôle d'instance de créer des autorisations pour les intégrations en aval.

##### Étape 2 — Créez votre instance Amazon Connect Decisions
<a name="data-encryption-step2-create-instance"></a>

Lors de la création de l'instance, sélectionnez Clé gérée par ** le ** client dans les paramètres de cryptage et choisissez la clé que vous avez créée à l'étape 1.

**Important**  
Vous ne pouvez pas modifier cette sélection après la création de l'instance. Si vous devez utiliser une clé différente ultérieurement, vous devez créer une nouvelle instance.

##### Étape 3 (facultatif) — Ajouter des restrictions au niveau de l'instance
<a name="data-encryption-step3-instance-restrictions"></a>

Après avoir créé votre instance, mettez à jour la politique de clé pour restreindre l'accès à cette instance uniquement. Cela empêche d'autres instances du même compte d'utiliser la clé.

Remplacez `<customer-account-id>``<region>`, et `<instance-id>` (l'UUID visible sur la console Amazon Connect Decisions).

Les modifications par rapport à la politique de base sont les suivantes :
+ Ajoutez `aws:SourceArn` des conditions aux instructions du principal de service, en vous limitant à l'ARN de votre instance.
+ Ajoutez `kms:EncryptionContext:aws:scn:arn` des conditions aux opérations cryptographiques, en exigeant que le contexte de chiffrement corresponde à votre instance.

Politique mise à jour (affichant uniquement les déclarations qui changent) :

**AllowScnRetrievalOfKeyMetadata**— ajouter une `ArnLike` condition :

```
"Condition": {
          "StringEquals": {
            "aws:SourceAccount": "<customer-account-id>"
          },
          "ArnLike": {
            "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>"
          }
        }
```

**AllowScnEncryptDecryptWithContext**— ajouter `EncryptionContext` et `SourceArn` conditions :

```
"Condition": {
          "StringEquals": {
            "aws:SourceAccount": "<customer-account-id>",
            "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>"
          },
          "ArnLike": {
            "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>"
          }
        }
```

**AllowInstanceRoleEncryptDecrypt**— ajouter une `EncryptionContext` condition :

```
"Condition": {
          "ArnLike": {
            "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/scn-instance-role-*"
          },
          "StringEquals": {
            "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>",
            "kms:ViaService": "scn.<region>.amazonaws.com"
          }
        }
```

##### Création d'une nouvelle instance avec une clé KMS gérée par le client
<a name="data-encryption-creating-instance-with-cmk"></a>

Vous sélectionnez la clé KMS lors de la création de l'instance dans la console Amazon Connect Decisions. Pour plus d'informations sur la création d'une instance, consultez [ Création d'une instance Amazon Connect Decisions](https://docs.aws.amazon.com/connect-decisions/latest/adminguide/creating-your-instance.html).

##### Modification de la configuration de chiffrement sur une instance existante
<a name="data-encryption-changing-encryption-config"></a>

Amazon Connect Decisions ne prend pas en charge la modification de la clé KMS sur une instance active. Si vous devez utiliser une clé différente, vous devez créer une nouvelle instance configurée avec la clé souhaitée. Les données chiffrées avec la clé précédente ne sont pas conservées sur la nouvelle instance.

##### Limiter l'accès à la clé KMS gérée par le client
<a name="data-encryption-scoping-down-access"></a>

Vous pouvez restreindre l'accès à votre clé à l'aide des mécanismes suivants :
+ **Contexte de chiffrement ** : utilisez `kms:EncryptionContext:aws:scn:arn` cette option dans votre politique de chiffrement pour limiter les opérations à une instance spécifique (voir Étape 3).
+ **Protection adjointe confuse ** — Le service passe `aws:SourceAccount` et `aws:SourceArn` passe les appels KMS. Utilisez ces conditions pour vous assurer que seuls votre compte et votre instance peuvent accéder à la clé.
+ **kms : ViaService ** — Le rôle d'instance accède à la clé uniquement via`scn.<region>.amazonaws.com`, empêchant toute utilisation directe en dehors du service.
+ **Contraintes liées aux subventions ** — Les subventions sont limitées `kms:GrantIsForAWSResource` aux opérations explicitement répertoriées.

**Note**  
Les services de dépendance (Redshift Serverless, OpenSearch Serverless, DynamoDB) ne prennent pas en charge le contexte de chiffrement ou les en-têtes adjoints confus. L'accès à ces services est limité à l'utilisation `kms:ViaService` de.

### Surveillance de l'interaction entre Amazon Connect Decisions et AWS KMS
<a name="data-encryption-monitoring-kms"></a>

Vous pouvez utiliser AWS CloudTrail pour suivre les demandes KMS qu'Amazon Connect Decisions prend en votre nom. Recherchez les entrées de journal contenant les valeurs suivantes :


| Champ | Valeur attendue | 
| --- | --- | 
| eventName | `Decrypt`, `GenerateDataKey`, `CreateGrant` | 
| utilisateur Identity.invokedBy | `scn.amazonaws.com` | 
| demande Parameters.encryptionContext | `{"aws:scn:arn": "arn:aws:scn:<region>:<account-id>:instance/<instance-id>"}` | 

Vous pouvez filtrer les CloudTrail événements à l'aide de ces valeurs pour vérifier quand et comment Amazon Connect Decisions accède à votre clé KMS.

Pour plus d'informations, consultez la section [ Journalisation des appels d'API AWS KMS avec AWS CloudTrail](https://docs.aws.amazon.com/kms/latest/developerguide/logging-using-cloudtrail.html).