

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 Amazon Kinesis Data Streams
<a name="server-side-encryption"></a>

Le chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) vous permet de répondre facilement à des exigences strictes en matière de gestion des données en chiffrant vos données au repos dans Amazon Kinesis Data Streams.

**Note**  
Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-2 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 (Federal Information Processing Standard) disponibles, consultez [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) (Normes de traitement de l’information fédérale).

**Topics**
+ [Qu'est-ce que le chiffrement côté serveur pour Kinesis Data Streams ?](what-is-sse.md)
+ [Considérations relatives aux coûts, aux régions et aux performances](costs-performance.md)
+ [Comment démarrer avec le chiffrement côté serveur ?](getting-started-with-sse.md)
+ [Création et utilisation de clés KMS générées par l'utilisateur](creating-using-sse-master-keys.md)
+ [Autorisations d'utilisation des clés KMS générées par l'utilisateur](permissions-user-key-KMS.md)
+ [Vérifier et résoudre les problèmes liés aux autorisations clés KMS](sse-troubleshooting.md)
+ [Utiliser Amazon Kinesis Data Streams avec des points de terminaison VPC d'interface](vpc.md)

# Qu'est-ce que le chiffrement côté serveur pour Kinesis Data Streams ?
<a name="what-is-sse"></a>

Le chiffrement côté serveur est une fonctionnalité d'Amazon Kinesis Data Streams qui chiffre automatiquement les données avant qu'elles ne soient inactives à l'aide de la clé principale du AWS KMS client (CMK) que vous spécifiez. Les données sont chiffrées avant leur écriture sur la couche de stockage du flux Kinesis et déchiffrées après leur extraction de l'espace de stockage. Par conséquent, vos données sont chiffrées au repos dans le service Kinesis Data Streams. Cela vous permet de respecter des exigences réglementaires strictes et d'améliorer la sécurité de vos données.

Avec le chiffrement côté serveur, les producteurs et les consommateurs de votre flux Kinesis n'ont pas besoin de gérer les clés principales ni les opérations de chiffrement. Vos données sont automatiquement cryptées lorsqu'elles entrent dans le service Kinesis Data Streams et en sortent. Vos données au repos sont donc cryptées. AWS KMS fournit toutes les clés principales utilisées par la fonction de chiffrement côté serveur. AWS KMS facilite l'utilisation d'une clé CMK pour Kinesis gérée AWS par, d'une clé CMK AWS KMS spécifiée par l'utilisateur ou d'une clé principale importée dans le service. AWS KMS 

**Note**  
Le chiffrement côté serveur chiffre les données entrantes seulement après l'activation du chiffrement. Les données préexistantes dans un flux de données non chiffré ne sont pas chiffrées après l'activation du chiffrement côté serveur. 

Lorsque vous chiffrez vos flux de données et que vous partagez l'accès avec d'autres principaux, vous devez accorder une autorisation à la fois dans la politique clé pour la AWS KMS clé et dans les politiques IAM du compte externe. Pour plus d’informations, consultez [Autorisation des utilisateurs d’autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html). 

Si vous avez activé le chiffrement côté serveur pour un flux de données avec une clé KMS AWS gérée et que vous souhaitez partager l'accès via une politique de ressources, vous devez passer à l'utilisation de la clé gérée par le client (CMK), comme indiqué ci-dessous : 

![\[Encryption settings interface with options for server-side encryption and customer-managed CMK.\]](http://docs.aws.amazon.com/fr_fr/streams/latest/dev/images/cmk2.png)


En outre, vous devez autoriser vos entités principales de partage à accéder à votre clé CMK, en utilisant les fonctionnalités de partage entre comptes KMS. Assurez-vous de modifier également les politiques IAM pour les entités principales de partage. Pour plus d’informations, consultez [Autorisation des utilisateurs d’autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

# Considérations relatives aux coûts, aux régions et aux performances
<a name="costs-performance"></a>

Lorsque vous appliquez le chiffrement côté serveur, vous êtes soumis à l'utilisation de AWS KMS l'API et au coût des clés. Contrairement aux clés principales KMS personnalisées, la clé principale du client (CMK) `(Default) aws/kinesis` est gratuite. Cependant, vous devez payer les coûts d'utilisation de l'API qui sont générés par Amazon Kinesis Data Streams.

Les coûts d'utilisation de l'API s'appliquent pour chaque clé CMK, y compris les clés CMK personnalisées. Kinesis Data Streams appelle AWS KMS toutes les cinq minutes environ lors de la rotation de la clé des données. Dans un mois de 30 jours, le coût total des appels d' AWS KMS API initiés par un flux Kinesis devrait être inférieur à quelques dollars. Ce coût varie en fonction du nombre d'informations d'identification utilisateur que vous utilisez pour vos producteurs et consommateurs de données, car chaque identifiant d'utilisateur nécessite un appel d' AWS KMS API unique. Lorsque vous utilisez un rôle IAM pour l'authentification, chaque appel au rôle de responsable génère des informations d'identification utilisateur uniques. Pour diminuer les coûts KMS, vous pouvez mettre en cache les informations d'identification utilisateur qui sont renvoyés par l'appel au rôle de responsable. 

Voici une description des coûts par ressource :

**Clés**
+ La clé CMK pour Kinesis gérée AWS par (alias `aws/kinesis` =) est gratuite.
+ Les coûts des clés KMS s'appliquent aux clés KMS générées par l'utilisateur. Pour plus d'informations, consultez [Tarification de AWS Key Management Service](https://aws.amazon.com/kms/pricing/#Keys) (français non garanti).

Les coûts d'utilisation de l'API s'appliquent pour chaque clé CMK, y compris les clés CMK personnalisées. Kinesis Data Streams appelle KMS toutes les 5 minutes environ lors de la rotation de la clé des données. Au cours d'un mois de 30 jours, le coût total des appels d'API KMS initiés par un flux de données Kinesis doit être inférieur à quelques dollars. Notez que ce coût varie en fonction du nombre d'informations d'identification utilisateur que vous utilisez pour vos producteurs et consommateurs de données, car chaque identifiant d'utilisateur nécessite un appel d'API unique à AWS KMS. Lorsque vous utilisez le rôle IAM pour l'authentification, chacune d'entre elles se traduit par des informations d'identification utilisateur uniques et vous assume-role-call souhaiterez peut-être mettre en cache les informations d'identification utilisateur renvoyées par le assume-role-call pour réduire les coûts du KMS.

## Utilisation de l'API KMS
<a name="api-usage"></a>

Pour chaque flux chiffré, lors de la lecture depuis TIP et en utilisant une seule clé d' account/user accès IAM pour les lecteurs et les rédacteurs, le service Kinesis appelle AWS KMS le service environ 12 fois toutes les 5 minutes. Le fait de ne pas lire le TIP peut entraîner une augmentation du nombre d'appels au AWS KMS service. Les demandes d'API pour générer de nouvelles clés de chiffrement des données sont soumises à des coûts AWS KMS d'utilisation. Pour plus d'informations, consultez [Tarification de AWS Key Management Service Pricing : Utilisation](https://aws.amazon.com/kms/pricing/#Usage) (français non garanti).

## Disponibilité du chiffrement côté serveur par région
<a name="sse-regions"></a>

À l'heure actuelle, le chiffrement des flux Kinesis côté serveur est disponible dans toutes les régions prises en charge par Kinesis Data Streams, AWS GovCloud notamment dans l'ouest des États-Unis et en Chine. Pour plus d'informations sur les régions prises en charge pour Kinesis Data Streams, [https://docs.aws.amazon.com/general/latest/gr/akconsultez](https://docs.aws.amazon.com/general/latest/gr/ak.html) le fichier .html.

## Considérations sur les performances
<a name="performance-considerations"></a>

En raison de la surcharge du service liée au chiffrement, l'application du chiffrement côté serveur augmente la latence habituelle de `PutRecord`, `PutRecords` et `GetRecords` de moins de 100μs.

# Comment démarrer avec le chiffrement côté serveur ?
<a name="getting-started-with-sse"></a>

Le moyen le plus simple de commencer à utiliser le chiffrement côté serveur est d'utiliser la clé de service Amazon Kinesis KMS AWS Management Console et la clé de service Amazon Kinesis. `aws/kinesis`

La procédure suivante explique comment activer le chiffrement côté serveur pour un flux Kinesis.

**Activer le chiffrement côté serveur pour un flux Kinesis**

1. Connectez-vous à la console [Amazon Kinesis Data Streams AWS Management Console](https://console.aws.amazon.com/kinesis/home?region=us-east-1#/streams/list) et ouvrez-la.

1. Créez ou sélectionnez un flux Kinesis dans la AWS Management Console.

1. Choisissez l'onglet **Détails**.

1. Dans **Server-side encryption (Chiffrement côté serveur)**, choisissez **Modifier**.

1. La clé principale KMS **aws/kinesis (par défaut)** doit être sélectionnée, sauf si vous voulez utiliser une clé principale KMS générée par l'utilisateur. Il s'agit de la clé principale KMS générée par le service Kinesis. Choisissez **Enabled**, puis **Save**. 
**Note**  
La clé principale du service Kinesis par défaut est gratuite, mais les appels d'API effectués par Kinesis vers le AWS KMS service sont soumis aux coûts d'utilisation du KMS. 

1. Le flux passe à l'état **pending (en attente)**. Une fois que le flux revient à l'état **active (actif)** et que le chiffrement est activé, toutes les données entrantes écrites sur le flux sont chiffrées à l'aide de la clé principale KMS que vous avez sélectionnée.

1. **Pour désactiver le chiffrement côté serveur, choisissez **Désactivé** dans le **chiffrement côté serveur** dans le AWS Management Console, puis sélectionnez Enregistrer.**

# Création et utilisation de clés KMS générées par l'utilisateur
<a name="creating-using-sse-master-keys"></a>

Cette section explique comment créer et utiliser vos propres clés KMS, au lieu d'utiliser la clé principale administrée par Amazon Kinesis.

## Création de clés KMS générées par l'utilisateur
<a name="creating-sse-master-keys"></a>

Pour obtenir des instructions sur la création de vos propres clés, consultez la section [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *guide du AWS Key Management Service développeur*. Une fois que vous avez créé des clés pour votre compte, le service Kinesis Data Streams renvoie ces clés dans la liste **Clé principale KMS**.

## Utiliser des clés KMS générées par l'utilisateur
<a name="using-sse-master-keys"></a>

Une fois que les autorisations appropriées ont été appliquées à vos consommateurs, producteurs et administrateurs, vous pouvez utiliser des clés KMS personnalisées dans votre propre AWS compte ou sur un autre AWS compte. Toutes les clés principales KMS de votre compte s'affichent dans la liste **Clé principale KMS** dans AWS Management Console.

Pour utiliser les clés principales KMS personnalisées situées dans un autre compte, vous avez besoin d'autorisations pour utiliser ces clés. Vous devez également spécifier l'ARN de la clé principale KMS dans la zone de saisie ARN d' AWS Management Console.

# Autorisations d'utilisation des clés KMS générées par l'utilisateur
<a name="permissions-user-key-KMS"></a>

Avant de pouvoir utiliser le chiffrement côté serveur avec une clé KMS générée par l'utilisateur, vous devez configurer des politiques AWS KMS clés pour autoriser le chiffrement des flux ainsi que le chiffrement et le déchiffrement des enregistrements des flux. Pour des exemples et plus d'informations sur AWS KMS les autorisations, consultez la section [Permissions de l'API AWS KMS : référence des actions et des ressources](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html). 

**Note**  
L'utilisation de la clé de service par défaut pour le chiffrement ne nécessite pas l'application d'autorisations IAM personnalisées.

Avant d'utiliser des clés principales KMS générées par l'utilisateur, vérifiez que vos applications producteur et consommateurs de flux Kinesis (mandataires IAM) sont des utilisateurs dans la stratégie de la clé principale KMS. Si ce n'est pas le cas, les écritures et les lectures à partir d'un flux échoueront, ce qui pourrait entraîner la perte de données, des retards de traitement ou la suspension d'applications. Vous pouvez gérer les autorisations pour les clés KMS à l'aide de politiques IAM. Pour plus d'informations, consultez la section [Utilisation des politiques IAM avec AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

## Contexte de chiffrement Kinesis Data Streams
<a name="sse-kms-encryption-context"></a>

Lorsqu'Amazon Kinesis Data Streams AWS KMS appelle en votre nom, il transmet un contexte AWS KMS de chiffrement qui peut être utilisé comme condition d'autorisation dans les politiques et les subventions clés. Kinesis Data Streams utilise l'ARN du flux comme contexte de chiffrement pour AWS KMS tous les appels.

```
"encryptionContext": {
    "aws:kinesis:arn": "arn:aws:kinesis:region:account-id:stream/stream-name"
}
```

Vous pouvez utiliser le contexte de chiffrement pour identifier l'utilisation de votre clé KMS dans les enregistrements et les journaux d'audit. Il apparaît également en texte clair dans les journaux, tels que AWS CloudTrail.

Pour limiter l'utilisation de votre clé KMS aux demandes émanant de Kinesis Data Streams pour un flux spécifique, utilisez `kms:EncryptionContext:aws:kinesis:arn` la clé de condition figurant dans la politique de clé KMS ou la politique IAM.

## Exemple d'autorisations pour les producteurs
<a name="example-producer-permissions"></a>

Vos applications producteur de flux Kinesis doivent disposer de l'autorisation `kms:GenerateDataKey`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:GenerateDataKey"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:PutRecord",
            "kinesis:PutRecords"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

## Exemples d'autorisations accordées aux consommateurs
<a name="example-consumer-permissions"></a>

Vos consommateurs de flux Kinesis doivent disposer de l'autorisation `kms:Decrypt`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:GetRecords",
            "kinesis:DescribeStream"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

Amazon Managed Service pour Apache Flink et AWS Lambda utilisez des rôles pour consommer des flux Kinesis. Assurez-vous d'ajouter l'autorisation `kms:Decrypt` aux rôles que ces consommateurs utilisent.

## Autorisations d'administrateur du stream
<a name="stream-administrator-permissions"></a>

Les administrateurs de flux Kinesis doivent être autorisés à appeler `kms:List*` et ```kms:DescribeKey*`.

# Vérifier et résoudre les problèmes liés aux autorisations clés KMS
<a name="sse-troubleshooting"></a>

Après avoir activé le chiffrement sur un flux Kinesis, nous vous recommandons de contrôler le succès de vos `getRecords` appels et de vos `putRecord` appels à l'aide des indicateurs Amazon CloudWatch suivants : `putRecords`
+  `PutRecord.Success` 
+  `PutRecords.Success` 
+  `GetRecords.Success` 

Pour de plus amples informations, consultez [Surveillez Kinesis Data Streams](monitoring.md).

# Utiliser Amazon Kinesis Data Streams avec des points de terminaison VPC d'interface
<a name="vpc"></a>

Vous pouvez utiliser un point de terminaison VPC d'interface pour empêcher le trafic entre votre Amazon VPC et Kinesis Data Streams de quitter le réseau Amazon. Les points de terminaison VPC d'interface ne nécessitent pas de passerelle Internet, de périphérique NAT, de connexion VPN ou de connexion. Direct Connect Les points de terminaison VPC d'interface sont alimentés par AWS PrivateLink une AWS technologie qui permet une communication privée entre les AWS services à l'aide d'une interface Elastic Network avec private dans IPs votre Amazon VPC. Pour plus d'informations, consultez [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) and [Interface VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) ().AWS PrivateLink 

**Topics**
+ [Utiliser les points de terminaison VPC de l'interface pour Kinesis Data Streams](#using-interface-vpc-endpoints)
+ [Contrôlez l'accès aux points de terminaison VPC pour Kinesis Data Streams](#interface-vpc-endpoints-policies)
+ [Disponibilité des politiques relatives aux terminaux VPC pour Kinesis Data Streams](#availability)

## Utiliser les points de terminaison VPC de l'interface pour Kinesis Data Streams
<a name="using-interface-vpc-endpoints"></a>

Pour commencer, il n'est pas nécessaire de modifier les paramètres de vos streams, de vos producteurs ou de vos consommateurs. Créez un point de terminaison VPC d'interface pour votre Kinesis Data Streams afin de démarrer le trafic en provenance et à destination de vos ressources Amazon VPC via le point de terminaison VPC d'interface. Les points de terminaison VPC d'interface compatibles FIPS sont disponibles pour les régions des États-Unis. Pour plus d’informations, consultez [Création d’un point de terminaison d’interface](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint).

L'Amazon Kinesis Producer Library (KPL) et la Kinesis Consumer Library (KCL) appellent des services tels qu' AWS Amazon et Amazon CloudWatch DynamoDB en utilisant des points de terminaison publics ou des points de terminaison VPC à interface privée, selon le type utilisé. Par exemple, si votre application KCL s'exécute dans un VPC doté d'une interface DynamoDB avec points de terminaison VPC activés, les appels entre DynamoDB et votre application KCL passent par le point de terminaison VPC de l'interface.

## Contrôlez l'accès aux points de terminaison VPC pour Kinesis Data Streams
<a name="interface-vpc-endpoints-policies"></a>

Les politiques de point de terminaison VPC vous permettent de contrôler l'accès en attachant une politique à un point de terminaison VPC ou en utilisant des champs supplémentaires dans une politique attachée à un utilisateur, un groupe ou un rôle IAM afin de limiter l'accès uniquement via le point de terminaison VPC spécifié. Utilisez ces politiques pour restreindre l'accès à des flux spécifiques à un point de terminaison VPC spécifique lorsque vous les utilisez conjointement avec les politiques IAM pour accorder uniquement l'accès aux actions du flux de données Kinesis via le point de terminaison VPC spécifié.

Voici des exemples de politiques de point de terminaison pour accéder aux flux de données Kinesis.
+ **Exemple de politique VPC : accès en lecture seule** : cet exemple de politique peut être attaché à un point de terminaison d'un VPC. (Pour de plus amples informations, veuillez consulter [Contrôle de l'accès aux ressources VPC Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_IAM.html)). Cette politique limite les actions. Il est uniquement possible de répertorier et de décrire un flux de données Kinesis via le point de terminaison d'un VPC auquel elle est attachée.

  ```
  {
    "Statement": [
      {
        "Sid": "ReadOnly",
        "Principal": "*",
        "Action": [
          "kinesis:List*",
          "kinesis:Describe*"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```
+ **Exemple de stratégie VPC : limiter l'accès à un flux de données Kinesis spécifique** : cet exemple de stratégie peut être attaché à un point de terminaison d'un VPC. Cette stratégie restreint l'accès à un flux de données spécifique via le point de terminaison d'un VPC auquel elle est attachée.

  ```
  {
    "Statement": [
      {
        "Sid": "AccessToSpecificDataStream",
        "Principal": "*",
        "Action": "kinesis:*",
        "Effect": "Allow",
        "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream"
      }
    ]
  }
  ```
+ **Exemple de politique IAM : limitez l'accès à un flux spécifique à partir d'un point de terminaison VPC spécifique** uniquement. Cet exemple de politique peut être associé à un utilisateur, un rôle ou un groupe IAM. Elle restreint l'accès à un flux de données Kinesis spécifié pour qu'il se produise uniquement à partir d'un point de terminaison d'un VPC spécifié.

------
#### [ JSON ]

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Sid": "AccessFromSpecificEndpoint",
           "Action": "kinesis:*",
           "Effect": "Deny",
           "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream",
           "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-11aa22bb" } }
        }
     ]
  }
  ```

------

## Disponibilité des politiques relatives aux terminaux VPC pour Kinesis Data Streams
<a name="availability"></a>

Les points de terminaison VPC de l'interface Kinesis Data Streams dotés de politiques sont pris en charge dans les régions suivantes : 
+ Europe (Paris)
+ Europe (Irlande)
+ USA Est (Virginie du Nord)
+ Europe (Stockholm)
+ USA Est (Ohio)
+ Europe (Francfort)
+ Amérique du Sud (São Paulo)
+ Europe (Londres)
+ Asie-Pacifique (Tokyo)
+ USA Ouest (Californie du Nord)
+ Asie-Pacifique (Singapour)
+ Asie-Pacifique (Sydney)
+ Chine (Beijing)
+ Chine (Ningxia)
+ Asie-Pacifique (Hong Kong)
+ Middle East (Bahrain)
+ Moyen-Orient (EAU)
+ Europe (Milan)
+ Afrique (Le Cap)
+ Asie-Pacifique (Mumbai)
+ Asie-Pacifique (Séoul)
+ Canada (Centre)
+ USA Ouest (Oregon) sauf usw2-az4
+ AWS GovCloud (USA Est)
+ AWS GovCloud (US-Ouest)
+ Asie-Pacifique (Osaka)
+ Europe (Zurich)
+ Asie-Pacifique (Hyderabad)