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 delle chiavi gestite dai clienti (CMK) Chiavi gestite da AWSo le tue chiavi gestite dai clienti per crittografare i dati. Le CMK in AWS Key Management Service (AWS KMS) sono chiavi di crittografia che puoi creare, possedere e gestire autonomamente.

Per impostazione predefinita, Amazon MSF utilizza Chiavi di proprietà di AWS (AOK) per crittografare i dati in uno storage temporaneo (storage di applicazioni in esecuzione) e durevole (storage di applicazioni durevole). Ciò significa che tutti i dati soggetti a un checkpoint o a un'istantanea 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 alcuna configurazione o configurazione aggiuntiva.

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

Cosa viene crittografato con CMK?

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

Politica di rotazione delle chiavi

Amazon MSF non gestisce la politica di rotazione delle chiavi per le tue CMK. Sei responsabile della rotazione delle chiavi. Questo perché crei e gestisci le 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?

Sorgenti e pozzi

La crittografia delle fonti di dati e dei sink 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 applicare retroattivamente le CMK a uno snapshot storico esistente.

Criptaggio dei log

Attualmente, Amazon MSF non supporta la crittografia dei log utilizzando KMS CMK per i log generati dal codice jar 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.

Autorizzazioni delle chiavi 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 criptato CMK e archiviare lo stato delle applicazioni crittografate CMK in uno storage durevole delle applicazioni.

  • km: DescribeKey

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

  • kms:Decrypt

    Concede l'autorizzazione ad accedere allo stato durevole dell'applicazione e fornisce lo storage delle applicazioni in esecuzione.

  • km: GenerateDataKey

    Concede l'autorizzazione a memorizzare uno stato durevole dell'applicazione.

  • km: GenerateDataKeyWithoutPlaintext

    Concede l'autorizzazione per il provisioning dello storage delle applicazioni in esecuzione.

  • km: CreateGrant

    Concede l'autorizzazione ad accedere all'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 applicazioni di storage durevole.

Quando si crea una concessione per fornire lo storage crittografato di applicazioni in esecuzione, Amazon MSF CMK crea sovvenzioni con tipo di vincolo che EncryptionContextSubsetgarantiscono che sia consentita solo l'operazione Decrypt. "kms:GrantOperations": "Decrypt"

Politica di rotazione delle chiavi

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

In KMS utilizzi la rotazione automatica o manuale delle chiavi per creare nuovo materiale crittografico per le tue 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 che è stata crittografata con AOK dopo essere stata configurata per utilizzare CMK. Un'applicazione può anche iniziare da un'istantanea crittografata con una vecchia CMK. 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 interrompe 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 in UpdateApplicationAmazon MSF. Ciò garantirà il riavvio dell'applicazione Flink durante l'UpdateApplicationapplicazione delle modifiche CMK.

Nota

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

Least-privileged dichiarazioni politiche chiave

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

Esempi di voci di AWS CloudTrail registro

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

Esempio 1: AWS KMS decrittografa una chiamata API utilizzando un ruolo presunto in Amazon MSF

Il seguente CloudTrail registro mostra Amazon MSF che esegue un'operazione di test KMS:Decrypt su un CMK. Amazon MSF effettua questa richiesta utilizzando un Operator ruolo mentre utilizza l'CreateApplicationAPI. Il registro seguente include dettagli essenziali, come l'ARN della chiave KMS di destinazione, l'applicazione Amazon MSF associata MyCmkApplication () e il timestamp 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 Decrittografa la chiamata API in Amazon MSF con l'autenticazione diretta del servizio

Il seguente CloudTrail registro mostra Amazon MSF che esegue un'operazione di test KMS:Decrypt su un CMK. Amazon MSF effettua questa richiesta tramite l'autenticazione diretta AWS da servizio a servizio anziché assumere un ruolo. Il registro seguente 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" }