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

Amazon Managed Service for Apache Flink (Amazon MSF) era precedentemente noto come Amazon Kinesis Data Analytics for 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 Chiavi gestite da AWSo le tue chiavi gestite dai clienti (CMKs) per crittografare i dati. CMKs 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 (AOKs) 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. AOKs 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

Con cosa viene crittografato? CMKs

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 di configurazione CMKs delle applicazioni Amazon MSF.

Politica di rotazione delle chiavi

Amazon MSF non gestisce la politica di rotazione delle chiavi per te CMKs. Sei responsabile della rotazione delle chiavi. Questo perché tu crei e mantieni CMKs. Per informazioni su come utilizzare la politica di rotazione delle chiavi con CMK in Amazon MSF, consulta. Politica di rotazione delle chiavi

Con cosa non è crittografato? CMKs

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 l'applicazione retroattiva a uno CMKs snapshot storico esistente.

Criptazione 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 allo storage 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 te CMKs. Sei responsabile della rotazione delle chiavi perché sei tu a creare e gestire CMKs.

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

Quando ruoti le chiavi CMKs 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.

Dichiarazioni politiche chiave con privilegi minimi

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

Esempi di voci di AWS CloudTrail registro

Quando Amazon MSF utilizza CMKs AWS KMS, registra AWS CloudTrail automaticamente tutte le chiamate AWS KMS API e i relativi dettagli. Questi log 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 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 AWS service-to-service l'autenticazione diretta 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" }