View a markdown version of this page

Gestion des clés dans Amazon Managed Service pour Apache Flink - Service géré pour Apache Flink

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.

Gestion des clés dans Amazon Managed Service pour Apache Flink

Dans Amazon MSF, vous pouvez choisir d'utiliser vos propres clés gérées par le client (CMK) pour chiffrer les données. Clés gérées par AWS Les CMK AWS Key Management Service insérées dans (AWS KMS) sont des clés de chiffrement que vous créez, possédez et gérez vous-même.

Par défaut, Amazon MSF utilise Clés détenues par AWS (AOKs) pour chiffrer vos données dans un stockage éphémère (stockage d'applications en cours d'exécution) et durable (stockage d'applications durable). Cela signifie que toutes les données soumises à un point de contrôle ou à un instantané Flink seront cryptées par défaut. Les AOK sont la méthode de chiffrement par défaut dans Amazon MSF et aucune configuration supplémentaire n'est requise. Pour chiffrer les données en transit, Amazon MSF utilise TLS et HTTP+SSL par défaut et ne nécessite aucune installation ou configuration supplémentaire.

Dans Amazon MSF, CMK est une fonctionnalité qui vous permet de chiffrer les données de votre application à l'aide d'une clé que vous créez, possédez et gérez. AWS KMS

Qu'est-ce qui est chiffré avec les CMK ?

Dans une application Amazon MSF, les données faisant l'objet d'un point de contrôle ou d'un instantané Flink seront chiffrées à l'aide d'une clé CMK que vous définissez pour cette application. Par conséquent, votre CMK chiffrera les données stockées soit dans le stockage des applications en cours d'exécution, soit dans le stockage durable des applications. Les sections suivantes décrivent la procédure de configuration des CMK pour vos applications Amazon MSF.

Politique de rotation des clés

Amazon MSF ne gère pas la politique de rotation des clés pour vos CMK. Vous êtes responsable de la rotation de vos touches. Cela est dû au fait que vous créez et gérez des CMK. Pour plus d'informations sur l'utilisation de votre politique de rotation des clés avec CMK dans Amazon MSF, consultezPolitique de rotation des clés.

Qu'est-ce qui n'est pas chiffré avec les CMK ?

Sources et puits

Le chiffrement des sources et des puits de données n'est pas géré par Amazon MSF. Il est géré par votre configuration source ou récepteur ou par la configuration du connecteur d'application.

Application rétroactive du chiffrement

Les CMK d'Amazon MSF ne fournissent pas de support pour appliquer rétroactivement les CMK à un instantané historique existant.

Chiffrement des journaux

À l'heure actuelle, Amazon MSF ne prend pas en charge le chiffrement des journaux à l'aide de KMS CMK pour les journaux générés par le fichier jar de code de votre application. Vous devez vous assurer que les journaux ne contiennent pas de données nécessitant un cryptage CMK.

Chiffrement des données en transit

Vous ne pouvez pas utiliser CMK pour chiffrer des données en transit. Par défaut, Amazon MSF chiffre toutes les données en transit à l'aide du protocole TLS ou du protocole HTTP et SSL.

Types de clés KMS non pris en charge

CMK dans Amazon MSF prend en charge les clés symétriques.

Autorisations clés KMS

CMK dans Amazon MSF nécessite une autorisation pour effectuer les actions KMS suivantes. Ces autorisations sont nécessaires pour valider l'accès, créer un stockage d'applications en cours d'exécution chiffré CMK et stocker l'état de l'application chiffrée CMK dans un stockage d'applications durable.

  • km : DescribeKey

    Accorde l'autorisation de résoudre un alias de clé KMS vers l'ARN de clé.

  • kms:Decrypt

    Accorde l'autorisation d'accéder à l'état durable de l'application et de provisionner le stockage des applications en cours d'exécution.

  • km : GenerateDataKey

    Autorise le stockage de l'état durable de l'application.

  • km : GenerateDataKeyWithoutPlaintext

    Accorde l'autorisation de provisionner le stockage des applications en cours d'exécution.

  • km : CreateGrant

    Accorde l'autorisation d'accéder au stockage des applications en cours d'exécution.

Contexte et contraintes du chiffrement KMS

CMK dans Amazon MSF fournit un contexte de chiffrement lors de l'accès à des clés pour lire ou écrire des données chiffrées, kms:EncryptionContext:aws:kinesisanalytics:arn c'est-à-dire. Outre le contexte de chiffrement, les contextes source aws : SourceArn et aws : SourceAccount sont fournis lors de la lecture ou de l'écriture d'un stockage d'applications durable.

Lors de la création d'une autorisation pour provisionner le stockage chiffré des applications en cours d'exécution, Amazon MSF CMK crée des autorisations avec un type de contrainte EncryptionContextSubset garantissant que seule l'opération de déchiffrement est autorisée. "kms:GrantOperations": "Decrypt"

Politique de rotation des clés

Amazon MSF ne gère pas la politique de rotation des clés pour vos CMK. Vous êtes responsable de votre propre rotation des clés, car vous créez et gérez les CMK.

Dans KMS, vous utilisez la rotation automatique ou manuelle des touches pour créer de nouveaux éléments cryptographiques pour vos CMK. Pour plus d'informations sur la façon de faire pivoter vos touches, consultez la section Rotation AWS KMS keys dans le Guide du AWS Key Management Service développeur.

Lorsque vous alternez les clés pour les CMK dans Amazon MSF, vous devez vous assurer que l'opérateur (appelant de l'API) dispose des autorisations pour la clé précédente et la nouvelle clé.

Note

Une application peut démarrer à partir d'un instantané chiffré avec AOK après avoir été configuré pour utiliser CMK. Une application peut également démarrer à partir d'un instantané chiffré à l'aide d'une ancienne clé CMK. Pour démarrer une application à partir d'un instantané, l'opérateur (appelant de l'API) doit disposer d'autorisations pour l'ancienne et la nouvelle clé.

Dans Amazon MSF, nous vous recommandons d'arrêter et de redémarrer vos applications à l'aide du chiffrement CMK. Cela garantit que la nouvelle clé principale de rotation est appliquée à toutes les données du stockage des applications en cours d'exécution et du stockage durable des applications. Si vous n'arrêtez pas et ne redémarrez pas votre application, le nouveau matériel clé ne sera appliqué qu'au stockage durable de l'application. Le stockage des applications en cours d'exécution continuera d'être chiffré à l'aide de la clé de rotation précédente.

Si vous modifiez l' AWS KMS key ARN utilisé pour CMK, vous devez l'utiliser UpdateApplication dans Amazon MSF. Cela garantira le redémarrage de votre application Flink dans le cadre de l'UpdateApplicationapplication des modifications de la CMK.

Note

Lorsque vous fournissez un alias ou un alias ARN, Amazon MSF transforme l'alias en ARN clé et stocke l'ARN clé en tant que clé configurée pour l'application.

Least-privileged déclarations politiques clés

Pour plus d'informations sur les principales déclarations de politique, voir Création d'une politique de clé KMS etAutorisations d'opérateur du cycle de vie des applications (appelant d'API).

Exemple AWS CloudTrail entrées de journal

Lorsqu'Amazon MSF utilise des CMK AWS KMS, il enregistre AWS CloudTrail automatiquement tous les appels AWS KMS d'API et les informations associées. Ces journaux contiennent des informations, telles que Service AWS l'envoi de la demande, l'ARN de la clé KMS, les actions d'API effectuées et les horodatages excluant les données chiffrées. Ces journaux fournissent des pistes d'audit essentielles pour la conformité, la surveillance de la sécurité et le dépannage en indiquant quels services ont accédé à vos clés et à quel moment.

Exemple 1 : AWS KMS Déchiffrez un appel d'API à l'aide d'un rôle assumé dans Amazon MSF

Le CloudTrail journal suivant montre qu'Amazon MSF effectue une opération de test KMS:Decrypt sur une CMK. Amazon MSF effectue cette demande à l'aide d'un Operator rôle lors de l'utilisation de l'CreateApplicationAPI. Le journal suivant contient des informations essentielles, telles que l'ARN de la clé KMS cible, l'application Amazon MSF associée (MyCmkApplication) et l'horodatage de l'opération.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "REDACTED", "arn": "arn:aws:sts::123456789012:assumed-role/Operator/CmkTestingSession", "accountId": "123456789012", "accessKeyId": "REDACTED", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "REDACTED", "arn": "arn:aws:iam::123456789012:role/Operator", "accountId": "123456789012", "userName": "Operator" }, "attributes": { "creationDate": "2025-08-07T13:29:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication" }, "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "56764d19-1eb1-48f1-8044-594aa7dd05c4", "eventID": "1371b402-f1dc-4c47-8f3a-1004e4803c5a", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }
Exemple 2 : AWS KMS Déchiffrez les appels d'API dans Amazon MSF grâce à l'authentification directe du service

Le CloudTrail journal suivant montre qu'Amazon MSF effectue une opération de test KMS:Decrypt sur une CMK. Amazon MSF effectue cette demande par le biais d'une authentification directe de AWS service à service au lieu d'assumer un rôle. Le journal suivant contient des informations essentielles, telles que l'ARN de la clé KMS cible, l'application Amazon MSF associée (MyCmkApplication) et un ID d'événement partagé de l'opération.

{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication" }, "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "5fe45ada-7519-4608-be2f-5a9b8ddd62b2", "eventID": "6206b08f-ce04-3011-9ec2-55951d357b2c", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "Application-account-ID", "sharedEventID": "acbe4a39-ced9-4f53-9f3c-21ef7e89dc37", "eventCategory": "Management" }