View a markdown version of this page

Gestione delle chiavi in Amazon Managed Service per Apache Flink - Servizio gestito per Apache Flink

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle chiavi in Amazon Managed Service per Apache Flink

In Amazon MSF, puoi scegliere di utilizzare una Chiavi gestite da AWS o le tue chiavi gestite dal cliente (CMK) per crittografare i dati. Le CMK in AWS Key Management Service (AWS KMS) sono chiavi di crittografia che crei, possiedi e gestisci tu stesso.

Per impostazione predefinita, Amazon MSF utilizza Chiavi di proprietà di AWS (AOKs) per crittografare i dati in uno storage temporaneo (storage di applicazioni in esecuzione) e duraturo (storage duraturo delle applicazioni). Ciò significa che tutti i dati soggetti a un checkpoint o a un'istantanea di Flink verranno crittografati per impostazione predefinita. Gli AOK sono il metodo di crittografia predefinito in Amazon MSF e non è richiesta alcuna configurazione aggiuntiva. Per crittografare i dati in transito, Amazon MSF utilizza TLS e HTTP+SSL per impostazione predefinita e non richiede impostazioni o configurazioni aggiuntive.

In Amazon MSF, CMK è una funzionalità che consente di crittografare i dati dell'applicazione con una chiave creata, proprietaria e gestita da te. AWS KMS

Cosa viene crittografato con CMK?

In un'applicazione Amazon MSF, i dati soggetti a un checkpoint o a un'istantanea Flink verranno crittografati con un CMK definito per quell'applicazione. Di conseguenza, il tuo CMK crittograferà i dati archiviati in uno storage di applicazioni in esecuzione o in uno storage di applicazioni durevole. Le sezioni seguenti descrivono la procedura per configurare i CMK per le tue applicazioni Amazon MSF.

Politica di rotazione delle chiavi

Amazon MSF non gestisce la politica di rotazione delle chiavi per i tuoi CMK. Sei responsabile della tua rotazione delle chiavi. Questo perché crei e gestisci i CMK. Per informazioni su come utilizzare la politica di rotazione delle chiavi con CMK in Amazon MSF, consulta. Politica di rotazione delle chiavi

Cosa non è crittografato con CMK?

Fonti e pozzi

La crittografia delle sorgenti e dei pozzi di dati non è gestita da Amazon MSF. È gestita dalla configurazione di origine o del sink o dalla configurazione del connettore dell'applicazione.

Applicazione retroattiva della crittografia

CMK in Amazon MSF non fornisce supporto per l'applicazione retroattiva dei CMK a un'istantanea storica esistente.

Criptaggio dei log

Attualmente, Amazon MSF non supporta la crittografia dei log tramite KMS CMK per i log generati dal jar del codice dell'applicazione. Dovrai assicurarti che i log non contengano dati che richiedono la crittografia CMK.

Crittografia dei dati in transito

Non puoi usare CMK per crittografare i dati in transito. Per impostazione predefinita, Amazon MSF crittografa tutti i dati in transito utilizzando TLS o HTTP e SSL.

Tipi di chiavi KMS supportati

CMK in Amazon MSF supporta chiavi simmetriche. https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks

Autorizzazioni chiave KMS

CMK in Amazon MSF richiede l'autorizzazione per eseguire le seguenti azioni KMS. Queste autorizzazioni sono necessarie per convalidare l'accesso, creare uno storage di applicazioni in esecuzione crittografato con CMK e archiviare lo stato dell'applicazione crittografata CMK in uno storage di applicazioni durevole.

  • kms:DescribeKey

    Concede l'autorizzazione a risolvere un alias di chiave KMS nella chiave ARN.

  • kms:Decrypt

    Concede il permesso di accedere allo stato duraturo dell'applicazione e di fornire lo storage delle applicazioni in esecuzione.

  • kms:GenerateDataKey

    Concede l'autorizzazione a memorizzare lo stato duraturo dell'applicazione.

  • kms:GenerateDataKeyWithoutPlaintext

    Concede l'autorizzazione per il provisioning dello spazio di archiviazione delle applicazioni in esecuzione.

  • kms:CreateGrant

    Concede l'autorizzazione per accedere allo spazio di archiviazione delle applicazioni in esecuzione.

Contesto e vincoli di crittografia KMS

CMK in Amazon MSF fornisce un contesto di crittografia quando si accede alle chiavi per leggere o scrivere dati crittografati, ovvero. kms:EncryptionContext:aws:kinesisanalytics:arn Oltre al contesto di crittografia, i contesti di origine aws: SourceArn e aws: SourceAccount vengono forniti durante la lettura o la scrittura di uno storage di applicazioni duraturo.

Quando si crea una concessione per il provisioning dello storage crittografato delle applicazioni in esecuzione, Amazon MSF CMK crea delle sovvenzioni con tipo di vincolo, EncryptionContextSubset garantendo che sia consentita solo l'operazione https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html Decrypt. "kms:GrantOperations": "Decrypt"

Politica di rotazione delle chiavi

Amazon MSF non gestisce la politica di rotazione delle chiavi per i tuoi CMK. Sei responsabile della tua rotazione delle chiavi perché crei e gestisci i CMK.

In KMS utilizzi la rotazione automatica o manuale delle chiavi per creare nuovo materiale crittografico per i tuoi CMK. Per informazioni su come ruotare le chiavi, consulta Rotate AWS KMS keys nella Guida per gli sviluppatori. AWS Key Management Service

Quando ruoti le chiavi per le CMK in Amazon MSF, devi assicurarti che l'operatore (chiamante API) disponga delle autorizzazioni sia per la chiave precedente che per quella nuova.

Nota

Un'applicazione può iniziare da un'istantanea crittografata con AOK dopo che è stata configurata per l'uso di CMK. Un'applicazione può anche iniziare da un'istantanea crittografata con un CMK precedente. Per avviare un'applicazione da un'istantanea, l'operatore (chiamante API) deve disporre delle autorizzazioni sia per la vecchia che per la nuova chiave.

In Amazon MSF, ti consigliamo di interrompere e riavviare le applicazioni utilizzando la crittografia CMK. Ciò garantisce che la nuova chiave master di rotazione venga applicata a tutti i dati nello storage delle applicazioni in esecuzione e nello storage durevole delle applicazioni. Se non si arresta e non si riavvia l'applicazione, il nuovo materiale chiave verrà applicato solo allo storage durevole delle applicazioni. L'archiviazione delle applicazioni in esecuzione continuerà a essere crittografata utilizzando il materiale della chiave di rotazione precedente.

Se stai modificando l' AWS KMS key ARN utilizzato per CMK, dovresti utilizzarlo UpdateApplication in Amazon MSF. Ciò garantirà il riavvio dell'applicazione Flink come parte dell'UpdateApplicationapplicazione delle modifiche CMK.

Nota

Quando fornisci un alias o un alias ARN, Amazon MSF risolve l'alias nella chiave ARN e memorizza la chiave ARN come chiave configurata per l'applicazione.

Least-privileged dichiarazioni politiche chiave

Per informazioni sulle dichiarazioni politiche chiave, vedere Crea una policy chiave KMS eAutorizzazioni dell'operatore del ciclo di vita dell'applicazione (chiamante API).

Esempio AWS CloudTrail voci di registro

Quando Amazon MSF utilizza i CMK in AWS KMS, registra AWS CloudTrail automaticamente tutte le chiamate AWS KMS API e i relativi dettagli. Questi registri contengono informazioni quali Servizio AWS l'invio della richiesta, l'ARN della chiave KMS, le azioni API eseguite e i timestamp che escludono i dati crittografati. Questi registri forniscono audit trail essenziali per la conformità, il monitoraggio della sicurezza e la risoluzione dei problemi, mostrando quali servizi hanno effettuato l'accesso alle chiavi e quando.

Esempio 1: AWS KMS Decifra le chiamate API utilizzando un ruolo presunto in Amazon MSF

Il seguente CloudTrail registro mostra Amazon MSF che esegue un'operazione di test https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html KMS:Decrypt su un CMK. Amazon MSF effettua questa richiesta utilizzando un ruolo durante l'utilizzo dell'API. Operator CreateApplication Il registro seguente include dettagli essenziali, come l'ARN della chiave KMS di destinazione, l'applicazione Amazon MSF associata (MyCmkApplication) e la data e ora dell'operazione.

{ "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" }
Esempio 2: AWS KMS Decifra le chiamate API in Amazon MSF con l'autenticazione diretta del servizio

Il seguente CloudTrail registro mostra Amazon MSF che esegue un'operazione di test https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html KMS:Decrypt su un CMK. Amazon MSF effettua questa richiesta tramite l'autenticazione diretta AWS da servizio a servizio invece di assumere un ruolo. Il seguente registro include dettagli essenziali, come l'ARN della chiave KMS di destinazione, l'applicazione Amazon MSF associata (MyCmkApplication) e un ID evento condiviso dell'operazione.

{ "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" }