View a markdown version of this page

Crittografia AWS Lambda dati di esecuzione durevoli - AWS Lambda

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

Crittografia AWS Lambda dati di esecuzione durevoli

Grazie a funzioni AWS Lambda durevoli, è possibile creare applicazioni resilienti e in più fasi che durano fino a un anno, utilizzando i checkpoint per ripristinare ogni esecuzione in caso di errori ripetendo il lavoro completato.

Lambda crittografa sempre i dati di esecuzione durevoli quando sono inattivi. È inoltre possibile configurare la propria chiave gestita AWS KMS dal cliente sulla funzione per il controllo della rotazione, la visibilità degli audit o la conformità. Con una chiave gestita dal cliente, solo i responsabili autorizzati possono leggere i dati di esecuzione.

Come funziona la crittografia

Un'esecuzione durevole Lambda utilizza la stessa chiave KMS con cui è iniziata per tutta la sua durata. La modifica o la rimozione del tasto sulla funzione influisce solo sulle esecuzioni che iniziano dopo la modifica. Scopri Quando la chiave gestita dal cliente non è disponibile come si comporta un'esecuzione durevole quando la relativa chiave non è disponibile.

Le chiavi gestite dal cliente sono soggette a costi standard. AWS KMS Per i dettagli sui prezzi, vedere Prezzi di AWS Key Management Service.

Cosa è crittografato

Quando configuri una chiave gestita dal cliente su una funzione durevole, Lambda utilizza quella chiave per crittografare i seguenti dati di esecuzione durevoli a riposo:

  • Il payload di input che trasmetti con ogni richiesta. Invoke

  • Dati di checkpoint mantenuti dall'CheckpointDurableExecutionAPI, inclusi i risultati delle fasi, gli errori delle fasi e gli input di invoke concatenati.

  • Risultati ed errori di esecuzione.

  • Risultati di callback ed errori inviati tramite SendDurableExecutionCallbackSuccess eSendDurableExecutionCallbackFailure.

Function-level e le chiavi di esecuzione durevoli sono indipendenti

Il livello di funzione KMSKeyArn che crittografa le variabili di ambiente, i pacchetti di distribuzione.zip e le SnapStartistantanee è separato da DurableConfig quello KMSKeyArn in cui crittografa i dati di esecuzione durevoli. L'impostazione di uno non imposta l'altro. Puoi usare la stessa chiave KMS per entrambi oppure puoi usare chiavi KMS diverse.

Configura la crittografia a chiave gestita dal cliente

L'impostazione della crittografia a chiave gestita dal cliente per una funzione durevole è un processo in tre fasi. Completa i seguenti passaggi nell'ordine indicato.

Creazione di una chiave gestita dal cliente

Le funzioni durevoli supportano le chiavi KMS di crittografia simmetrica nella stessa AWS regione della funzione. Cross-Region le chiavi non sono supportate. Per creare una chiave simmetrica gestita dal cliente, segui i passaggi per la creazione di chiavi KMS con crittografia simmetrica nella Guida per gli sviluppatori.AWS Key Management Service

Permissions

Concedi AWS KMS le autorizzazioni tramite la politica chiave della chiave KMS.

La configurazione di una chiave gestita dal cliente richiede AWS KMS le autorizzazioni sul principale che crea o aggiorna la funzione. L'invocazione di una funzione durevole non richiede AWS KMS autorizzazioni per il chiamante; Lambda esegue la crittografia con il suo service principal.

Policy della chiave

Le policy della chiave controllano l'accesso alla chiave gestita dal cliente. Ogni chiave gestita dal cliente deve avere esattamente una politica chiave. In una politica chiave, Resource: "*" si riferisce solo alla chiave KMS a cui è allegata la politica, non a tutte le chiavi KMS del tuo account.

La politica chiave di una funzione durevole garantisce a ciascun principale solo le AWS KMS azioni di cui ha bisogno, nell'ambito dell'ARN del servizio e della funzione. Le sezioni seguenti descrivono le dichiarazioni, le condizioni e un esempio completo.

Dichiarazioni politiche obbligatorie

La politica garantisce le seguenti funzionalità:

  • Abilita le autorizzazioni utente IAM. Concede all'account root l'accesso incondizionato per gestire la chiave. Questa istruzione non utilizza alcuna condizione in quanto l'ambito impedirebbe di ruotare, aggiornare o eliminare la chiave.

  • Consenti a Lambda di utilizzare questo tasto per funzioni durevoli. Concede il servizio kms:GenerateDataKey Lambda principale e. kms:Decrypt

  • Consenti al ruolo di esecuzione della funzione di decrittografare i dati di esecuzione durevoli. Assegna al ruolo kms:Decrypt di esecuzione la lettura dello stato e l'avanzamento dell'esecuzione.

  • Consenti all'autore della funzione di descrivere questa chiave. Garantisce che Lambda kms:DescribeKey possa convalidare che la chiave sia simmetrica e abilitata durante o. CreateFunction UpdateFunctionConfiguration

  • Consenti all'autore della funzione di convalidare questa chiave per una funzione specifica. Grants kms:GenerateDataKey e kms:Decrypt quindi Lambda può convalidare le autorizzazioni e l'accesso delle chiavi con il contesto di crittografia della funzione durante o. CreateFunction UpdateFunctionConfiguration Ciò conferma che la policy chiave accetta le chiamate per questa funzione specifica prima che la funzione venga creata o aggiornata.

  • Consenti operatori di esecuzione durevoli. Concede agli operatori kms:Decrypt le chiamate versoGetDurableExecution, GetDurableExecutionHistory withIncludeExecutionData=true, GetDurableExecutionStateStopDurableExecution, e le API di callback.

È consigliabile utilizzare principi distinti per il ruolo di esecuzione, l'autore della funzione e l'operatore di esecuzione durevole, in modo che ogni identità abbia solo le funzionalità necessarie.

Condizioni politiche consigliate

La politica utilizza le seguenti condizioni per limitare l'accesso:

  • kms:ViaServicelimita l'uso delle chiavi alle richieste inoltrate tramite Lambda. L'applicazione di questa impostazione al ruolo di esecuzione, all'autore della funzione e alle istruzioni dell'operatore impedisce loro di utilizzare la chiave direttamente. AWS KMS

  • aws:SourceArne aws:SourceAccountproteggiti dal problema del vicedirettore confuso tra diversi servizi. Lambda inoltra questi valori quando chiama AWS KMS utilizzando le proprie credenziali di servizio. Questa condizione si applica solo alla dichiarazione principale del servizio Lambda. Le istruzioni del ruolo di esecuzione, dell'autore della funzione e dell'operatore richiamano AWS KMS le credenziali della sessione di accesso diretto del chiamante, che non contengono queste intestazioni.

  • kms:EncryptionContext:aws:lambda:FunctionArndefinisce la chiave per una funzione specifica. Lambda lo aggiunge al contesto di crittografia in ogni AWS KMS chiamata per dati di esecuzione durevoli.

L'esempio seguente combina le istruzioni e le condizioni precedenti.

Esempio Politica chiave per funzioni durevoli
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow Lambda to use this key for durable functions", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction", "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" } } }, { "Sid": "Allow the function execution role to decrypt durable execution data", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/myDurableFunctionRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" } } }, { "Sid": "Allow the function author to describe this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/FunctionAuthor" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com" } } }, { "Sid": "Allow the function author to validate this key for a specific function", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/FunctionAuthor" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" } } }, { "Sid": "Allow durable execution operators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DurableExecutionOperator" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" } } } ] }

Per ulteriori informazioni sulle politiche AWS KMS chiave, consulta Come modificare una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

Configura una chiave gestita dal cliente su una funzione durevole

Si configura la chiave gestita dal cliente per dati di esecuzione durevoli attraverso il KMSKeyArn campo dell'DurableConfigoggetto. Impostala quando crei la funzione con CreateFunction; aggiornala su una funzione durevole esistente con UpdateFunctionConfiguration.

Lambda console
Per configurare una chiave gestita dal cliente su una funzione durevole esistente
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegli una funzione durevole.

  3. Scegli Configurazione, quindi scegli Esecuzione durevole dalla barra di navigazione a sinistra.

  4. Scegli Modifica.

  5. In Crittografia, scegli Usa una chiave gestita dal cliente, quindi scegli una chiave KMS dall'elenco.

  6. Scegli Save (Salva).

AWS CLI

Per configurare una chiave gestita dal cliente quando crei una funzione

Nel seguente esempio di creazione di una funzione, l'--durable-configopzione specifica l'ARN della chiave gestita dal cliente insieme al timeout di esecuzione e al periodo di conservazione duraturi.

aws lambda create-function \ --function-name myDurableFunction \ --runtime nodejs24.x \ --handler index.handler \ --role arn:aws:iam::111122223333:role/myDurableFunctionRole \ --zip-file fileb://function.zip \ --durable-config '{"KMSKeyArn":"arn:aws:kms:us-east-1:111122223333:key/key-id","ExecutionTimeout":3600,"RetentionPeriodInDays":30}'

Per configurare una chiave gestita dal cliente su una funzione durevole esistente

Utilizzate il comando update-function-configuration. Includi tutti DurableConfig i campi che vuoi conservare, perché --durable-config sostituisce l'intero oggetto.

aws lambda update-function-configuration \ --function-name myDurableFunction \ --durable-config '{"KMSKeyArn":"arn:aws:kms:us-east-1:111122223333:key/key-id","ExecutionTimeout":3600,"RetentionPeriodInDays":30}'

Per rimuovere la chiave gestita dal cliente da una funzione durevole

Ometti KMSKeyArn da--durable-config. Le esecuzioni esistenti continuano a utilizzare la chiave gestita dal cliente con cui hanno iniziato. Le nuove esecuzioni utilizzano invece la crittografia predefinita.

aws lambda update-function-configuration \ --function-name myDurableFunction \ --durable-config '{"ExecutionTimeout":3600,"RetentionPeriodInDays":30}'
AWS CloudFormation

In una AWS::Lambda::Function risorsa, imposta la KMSKeyArn proprietà diDurableConfig:

Resources: MyDurableFunction: Type: AWS::Lambda::Function Properties: FunctionName: myDurableFunction Runtime: nodejs24.x Handler: index.handler Role: !GetAtt MyDurableFunctionRole.Arn Code: ZipFile: | // Your durable function code DurableConfig: KMSKeyArn: "arn:aws:kms:us-east-1:111122223333:key/key-id" ExecutionTimeout: 3600 RetentionPeriodInDays: 30
Importante

Ogni esecuzione durevole utilizza la chiave gestita dal cliente configurata sulla funzione al momento dell'avvio. La modifica o la rimozione della chiave ha effetto solo sulle esecuzioni che iniziano dopo la modifica; le esecuzioni in corso continuano a utilizzare la chiave con cui sono iniziate fino al completamento o all'esito negativo.

Lettura di dati di esecuzione durevoli

Due API di lettura restituiscono dati di esecuzione durevoli:

  • GetDurableExecutionrestituisce lo stato corrente di una singola esecuzione, incluso il payload di input, i dati di checkpoint più recenti e le informazioni sui risultati o sugli errori.

  • GetDurableExecutionHistoryrestituisce l'elenco ordinato degli eventi emessi dall'esecuzione, mostrando gli input e i risultati del checkpoint, gli input e i risultati di invoke concatenati e il risultato finale.

Entrambe IncludeExecutionData le API accettano un parametro di richiesta. In caso IncludeExecutionData true affermativo, Lambda utilizza le credenziali del chiamante per richiamare la chiave gestita dal kms:Decrypt cliente. Lambda restituisce quindi i dati di esecuzione decrittografati nella risposta. L'identità del chiamante deve essere riportata kms:Decrypt sulla chiave gestita dal cliente.

In tal caso IncludeExecutionDatafalse, Lambda non chiama AWS KMS né decrittografa i dati di esecuzione e la risposta viene impostata su. ExecutionDataIncluded false La risposta include ancoraDurableConfig, il che riprende l'ARN chiave gestita dal cliente utilizzata dall'esecuzione. IncludeExecutionDatal'impostazione predefinita èfalse, quindi i chiamanti che necessitano solo di metadati non necessitano di autorizzazioni. AWS KMS

GetDurableExecutionEsempio: risposta con IncludeExecutionData=false

{ "DurableExecutionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction:execution:exec-abc123", "DurableExecutionName": "exec-abc123", "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction", "StartTimestamp": 1733256000, "Status": "RUNNING", "ExecutionDataIncluded": false, "DurableConfig": { "ExecutionTimeout": 3600, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id", "RetentionPeriodInDays": 30 } }

Richiami concatenati

Quando una funzione durevole utilizza un invoke concatenato per chiamare un'altra funzione duratura, Lambda considera l'esecuzione secondaria come un'esecuzione duratura indipendente: ha il proprio ID di esecuzione, il proprio flusso di checkpoint e la propria chiave gestita dal cliente. La configurazione delle chiavi gestite dal cliente del genitore non ha alcun effetto sui dati del figlio e la configurazione delle chiavi gestite dal cliente del figlio non ha alcun effetto sui dati del genitore.

Permissions

Il responsabile del servizio Lambda deve avere kms:GenerateDataKey e kms:Decrypt sulla chiave gestita dal cliente della funzione secondaria. Se le funzioni principale e secondaria utilizzano chiavi gestite dal cliente diverse, si concede al servizio l'accesso principale a ciascuna chiave separatamente. Il ruolo di esecuzione della funzione principale non richiede le autorizzazioni sulla chiave gestita dal cliente del figlio.

Identificare quale chiave ha crittografato quale esecuzione

Entrambi GetDurableExecution ListDurableExecutionsByFunction restituiscono l'ARN della chiave gestita dal cliente che ha crittografato ogni esecuzione. Utilizza queste API per confermare quale chiave era attiva quando è iniziata l'esecuzione principale o secondaria.

Caching della chiave dei dati

Per ridurre il volume delle AWS KMS chiamate e migliorare la disponibilità durante le interruzioni del servizio, Lambda memorizza nella cache una chiave dati generata dalla chiave gestita dal cliente per un massimo di 15 minuti. Mentre la cache è calda, Lambda riutilizza la stessa chiave di dati tra le operazioni all'interno di un'esecuzione e tra le esecuzioni avviate durante la finestra della cache.

Costo

Per-execution AWS KMS il costo rimane basso perché Lambda chiama GenerateDataKey al massimo una volta per finestra della cache, non una volta per checkpoint. A tassi di richiesta elevati, il costo per esecuzione diminuisce ulteriormente perché più esecuzioni condividono ogni chiave di dati memorizzata nella cache. Ti vengono fatturate le AWS KMS chiamate effettivamente effettuate da Lambda, non per ogni checkpoint o lettura.

Stabilità statica

Le chiavi dati rimangono memorizzate nella cache per un massimo di 15 minuti. Le modifiche alla chiave hanno effetto al successivo aggiornamento della cache. Durante le interruzioni prolungate del servizio, Lambda continua a funzionare dalla cache, mantenendo attive le esecuzioni in corso.

CloudTrail

La memorizzazione nella cache delle chiavi di dati consente di visualizzare meno GenerateDataKey eventi CloudTrail rispetto alle esecuzioni o ai checkpoint. Vedi ad esempio gli Monitoraggio delle chiavi KMS per funzioni durevoli eventi.

Quando la chiave gestita dal cliente non è disponibile

Se la chiave gestita dal cliente con cui è iniziata l'esecuzione è disabilitata, ne è pianificata l'eliminazione o ne è stato revocato l'accesso tramite la politica delle chiavi, l'esecuzione non può compiere ulteriori progressi. Al checkpoint successivo, Lambda fallisce l'esecuzione con un AWS KMS errore irreversibile. Il ripristino dell'accesso alla chiave non riprende automaticamente l'esecuzione. È necessario iniziare una nuova esecuzione.

Le API che leggono o scrivono payload falliscono anche quando la chiave non è disponibile. Possono restituire una delle seguenti eccezioni:

  • KMSAccessDeniedException: Lambda non è riuscita a decrittografare i dati di esecuzione durevoli perché l'accesso alla chiave KMS è stato negato.

  • KMSDisabledException: Lambda non è riuscita a decrittografare i dati di esecuzione durevoli perché la chiave KMS è disabilitata.

  • KMSInvalidStateException: Lambda non è riuscita a decrittografare i dati di esecuzione durevoli perché lo stato della chiave KMS non è valido per. Decrypt

  • KMSNotFoundException: Lambda non è riuscita a decrittografare i dati di esecuzione durevoli perché la chiave KMS non è stata trovata.

Il ripristino dell'accesso alla chiave KMS consente a queste API di lettura di avere nuovamente successo per le esecuzioni già fallite. Le esecuzioni non riuscite rimangono fallite; è necessario iniziare una nuova esecuzione.

Per controllare i metadati di esecuzione mentre la chiave KMS non è disponibile, chiama con. GetDurableExecution IncludeExecutionData=false Ciò restituisce lo stato dell'esecuzione, i timestamp e DurableConfig (inclusa la chiave KMS ARN) senza chiamare. AWS KMS

Poiché Lambda memorizza nella cache le chiavi dati, la disabilitazione di una chiave non ha effetto immediato. Per informazioni dettagliate, vedi Caching della chiave dei dati.

Importante

L'eliminazione di una chiave KMS da cui dipendono ancora le esecuzioni in corso o mantenute comporta la distruzione permanente di tali esecuzioni e della loro cronologia.

Monitoraggio delle chiavi KMS per funzioni durevoli

Quando utilizzi una chiave gestita dal cliente con una funzione durevole, puoi utilizzarla AWS CloudTrailper tenere traccia delle AWS KMS chiamate che Lambda effettua per tuo conto. Per indicazioni generali sulla ricerca di AWS KMS eventi, consulta Searching AWS KMS API Activity.

Per confermare che Lambda stia utilizzando la tua chiave come previsto, cerca questi campi in ogni evento:

  • eventName: uno dei GenerateDataKeyDecrypt, o DescribeKey

  • eventSource: kms.amazonaws.com

  • userIdentity.invokedBy: lambda.amazonaws.com

  • requestParameters.encryptionContext.aws:lambda:FunctionArn: l'ARN della funzione duratura

Gli esempi seguenti sono CloudTrail gli eventi di una UpdateFunctionConfiguration chiamata CreateFunction or che configura una chiave gestita dal cliente su una funzione durevole. Lambda effettua tre AWS KMS chiamate per convalidare la chiave: una vera e propria e funzionante a DescribeKey secco. GenerateDataKey Decrypt

GenerateDataKey

Quando si imposta o si modifica l'ingressoDurableConfig, Lambda esegue una prova KMSKeyArn a secco sulla chiave gestita dal cliente per verificare che la policy delle chiavi consenta a Lambda di derivare le chiavi di dati per il GenerateDataKey contesto di crittografia di questa funzione. Il dry-run non esegue alcuna operazione crittografica ma registra un evento completo. CloudTrail L'evento di esempio seguente registra l'operazione dry-run: GenerateDataKey

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE:example", "arn": "arn:aws:sts::111122223333:assumed-role/FunctionAuthor/example", "accountId": "111122223333", "accessKeyId": "ASIA123456789EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws:iam::111122223333:role/FunctionAuthor", "accountId": "111122223333", "userName": "FunctionAuthor" }, "attributes": { "creationDate": "2026-01-15T16:54:42Z", "mfaAuthenticated": "false" } }, "invokedBy": "lambda.amazonaws.com" }, "eventTime": "2026-01-15T16:55:00Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "lambda.amazonaws.com", "userAgent": "lambda.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionContext": { "aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" }, "dryRun": true, "keyId": "arn:aws:kms:us-east-1:111122223333:key/key-id", "keySpec": "AES_256" }, "responseElements": null, "additionalEventData": { "keyMaterialId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0EXAMPLE" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/key-id" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

Quando si imposta o si modifica l'ingressoDurableConfig, Lambda esegue anche una prova KMSKeyArn a secco sulla chiave gestita dal cliente per verificare che la policy delle chiavi consenta a Lambda di decrittografare i dati per il Decrypt contesto di crittografia di questa funzione. Il dry-run utilizza, quindi non è necessario un vero testo cifrato. IGNORE_CIPHERTEXT L'evento di esempio seguente registra l'operazione dry-run: Decrypt

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE:example", "arn": "arn:aws:sts::111122223333:assumed-role/FunctionAuthor/example", "accountId": "111122223333", "accessKeyId": "ASIA123456789EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws:iam::111122223333:role/FunctionAuthor", "accountId": "111122223333", "userName": "FunctionAuthor" }, "attributes": { "creationDate": "2026-01-15T16:54:42Z", "mfaAuthenticated": "false" } }, "invokedBy": "lambda.amazonaws.com" }, "eventTime": "2026-01-15T16:55:00Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "lambda.amazonaws.com", "userAgent": "lambda.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionContext": { "aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:myDurableFunction" }, "dryRun": true, "keyId": "arn:aws:kms:us-east-1:111122223333:key/key-id", "dryRunModifiers": ["IGNORE_CIPHERTEXT"], "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "additionalEventData": { "keyMaterialId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0EXAMPLE" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/key-id" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey

Quando imposti o modifichi l'ingresso KMSKeyArnDurableConfig, Lambda chiama DescribeKey per confermare che la chiave è simmetrica e abilitata prima che accetti la modifica. A differenza delle Decrypt sonde GenerateDataKey and, si tratta di una chiamata reale, non di un funzionamento a secco. L’evento di esempio seguente registra l’operazione DescribeKey:

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE:example", "arn": "arn:aws:sts::111122223333:assumed-role/FunctionAuthor/example", "accountId": "111122223333", "accessKeyId": "ASIA123456789EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws:iam::111122223333:role/FunctionAuthor", "accountId": "111122223333", "userName": "FunctionAuthor" }, "attributes": { "creationDate": "2026-01-15T16:54:42Z", "mfaAuthenticated": "false" } }, "invokedBy": "lambda.amazonaws.com" }, "eventTime": "2026-01-15T16:55:00Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "lambda.amazonaws.com", "userAgent": "lambda.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/key-id" }, "responseElements": null, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/key-id" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }