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

Amazon Managed Service for Apache Flink (Amazon MSF) était auparavant connu sous le nom d'Amazon Kinesis Data Analytics 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 l'une des clés gérées par le client (CMKs) Clés gérées par AWSou les vôtres pour chiffrer les données. CMKs in AWS Key Management Service (AWS KMS) sont des clés de chiffrement que vous créez, détenez 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. AOKs 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 configuration 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, détenez et gérez. AWS KMS

Qu'est-ce qui est crypté CMKs ?

Dans une application Amazon MSF, les données soumises à un point de contrôle ou à un instantané Flink sont chiffrées à l'aide d'une clé CMK que vous définissez pour cette application. Par conséquent, votre clé CMK cryptera les données stockées soit dans le stockage d'applications en cours d'exécution, soit dans le stockage d'applications durables. Les sections suivantes décrivent la procédure à configurer CMKs 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 vous CMKs. Vous êtes responsable de votre propre rotation des clés. C'est parce que vous créez et maintenez CMKs. Pour plus d'informations sur l'utilisation de votre politique de rotation des clés avec CMK dans Amazon MSF, consultez. Politique de rotation des clés

Qu'est-ce qui n'est pas crypté avec CMKs ?

Sources et puits

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

Application rétroactive du chiffrement

Dans Amazon MSF, CMK ne fournit pas de support pour l'appliquer rétroactivement CMKs à un instantané historique existant.

Chiffrement des journaux

Actuellement, 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 code jar de votre application. Vous devez vous assurer que les journaux ne contiennent pas de données nécessitant le chiffrement CMK.

Chiffrement des données en transit

Vous ne pouvez pas utiliser CMK pour chiffrer les 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

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

Autorisations clés KMS

Dans Amazon MSF, CMK 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 crypté CMK et stocker l'état des applications cryptées CMK dans un stockage d'applications durable.

  • km : DescribeKey

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

  • kms:Decrypt

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

  • km : GenerateDataKey

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

  • km : GenerateDataKeyWithoutPlaintext

    Autorise le provisionnement du 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 aux clés pour lire ou écrire des données chiffrées, c'est-à-dire. kms:EncryptionContext:aws:kinesisanalytics:arn 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 fournir un stockage d'applications crypté en cours d'exécution, Amazon MSF CMK crée des autorisations avec un type de contrainte EncryptionContextSubsetgarantissant 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 vous CMKs. Vous êtes responsable de votre propre rotation des clés, car c'est vous qui les créez et les gérez CMKs.

Dans KMS, vous utilisez la rotation automatique ou manuelle des clés pour créer du nouveau matériel cryptographique pour votre CMKs. Pour plus d'informations sur la façon de faire pivoter vos clés, voir Rotation AWS KMS keys dans le guide du AWS Key Management Service développeur.

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

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é avec 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 lors 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 des applications. Le stockage des applications en cours d'exécution continuera d'être crypté à 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 UpdateApplicationdans Amazon MSF. Cela garantira que votre application Flink redémarrera dans le cadre de l'UpdateApplicationapplication des modifications CMK.

Note

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

Déclarations de politique clés les moins privilégiées

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) .

Exemples d'entrées de AWS CloudTrail journal

Lorsque Amazon MSF l'utilise CMKs AWS KMS, 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échiffrer 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 clé 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échiffrer un appel d'API dans Amazon MSF avec une authentification de service directe

Le CloudTrail journal suivant montre qu'Amazon MSF effectue une opération de test KMS:Decrypt sur une clé CMK. Amazon MSF effectue cette demande par le biais d'une AWS service-to-service authentification directe 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" }