View a markdown version of this page

Autorisations d'utilisation des clés KMS générées par l'utilisateur - Amazon Kinesis Data Streams

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.

Autorisations d'utilisation des clés KMS générées par l'utilisateur

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 de AWS KMS clé pour autoriser le chiffrement des flux ainsi que le chiffrement et le déchiffrement des enregistrements de flux. Pour obtenir des exemples et plus d'informations sur AWS KMS les autorisations, consultez la section Autorisations de l'API AWS KMS : référence des actions et des ressources.

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.

Contexte de chiffrement de Kinesis Data Streams

Lorsqu'Amazon Kinesis Data Streams appelle AWS KMS en votre nom, il transmet un contexte de chiffrement AWS KMS qui peut être utilisé comme condition d'autorisation dans les politiques et autorisations clés. Kinesis Data Streams utilise l'ARN du flux comme contexte de chiffrement pour tous les AWS KMS 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 brut dans les journaux, tels AWS CloudTrail que.

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

Exemples d'autorisations pour les producteurs

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 pour les consommateurs

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 les rôles pour consommer les flux Kinesis. Assurez-vous d'ajouter l'autorisation kms:Decrypt aux rôles que ces consommateurs utilisent.

Autorisations de l'administrateur du stream

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