Sicurezza e autorizzazioni per le funzioni durevoli di Lambda - 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à.

Sicurezza e autorizzazioni per le funzioni durevoli di Lambda

Le funzioni durevoli Lambda richiedono autorizzazioni IAM specifiche per gestire le operazioni di checkpoint. Segui il principio del privilegio minimo concedendo solo le autorizzazioni necessarie alla tua funzione.

Autorizzazioni del ruolo di esecuzione

Il ruolo di esecuzione della tua funzione duratura richiede le autorizzazioni per creare checkpoint e recuperare lo stato di esecuzione. La seguente politica mostra le autorizzazioni minime richieste:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CheckpointDurableExecution", "lambda:GetDurableExecutionState" ], "Resource": "arn:aws:lambda:region:account-id:function:function-name:*" } ] }

Quando crei una funzione durevole utilizzando la console, Lambda aggiunge automaticamente queste autorizzazioni al ruolo di esecuzione. Se crei la funzione utilizzando AWS CLI o AWS CloudFormation, aggiungi queste autorizzazioni al tuo ruolo di esecuzione.

Principio del privilegio minimo

Inquadra l'Resourceelemento in base a una funzione specifica ARNs invece di utilizzare caratteri jolly. Ciò limita il ruolo di esecuzione alle operazioni di checkpoint solo per le funzioni che le richiedono.

Esempio: autorizzazioni mirate per più funzioni

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CheckpointDurableExecution", "lambda:GetDurableExecutionState" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:orderProcessor:*", "arn:aws:lambda:us-east-1:123456789012:function:paymentHandler:*" ] } ] }

In alternativa, puoi utilizzare la policy AWS gestita AWSLambdaBasicDurableExecutionRolePolicy che include le autorizzazioni di esecuzione durature richieste insieme alle autorizzazioni di esecuzione Lambda di base per CloudWatch Amazon Logs.

Crittografia statale

Le funzioni durevoli Lambda abilitano automaticamente la crittografia a riposo utilizzando chiavi AWS di proprietà senza alcun costo. Ogni esecuzione di funzione mantiene uno stato isolato a cui altre esecuzioni non possono accedere. Le chiavi gestite dal cliente (CMK) non sono supportate.

I dati di Checkpoint includono:

  • Risultati dei passaggi e valori restituiti

  • Avanzamento e tempistica dell'esecuzione

  • Informazioni sullo stato di attesa

Tutti i dati vengono crittografati in transito utilizzando TLS quando Lambda legge o scrive i dati del checkpoint.

Crittografia personalizzata con serializzatori e deserializzatori personalizzati

Per requisiti di sicurezza critici, puoi implementare il tuo meccanismo di crittografia e decrittografia utilizzando serializzatori e deserializzatori personalizzati () utilizzando un SDK durevole. SerDer Questo approccio offre il pieno controllo sulle chiavi e sugli algoritmi di crittografia utilizzati per proteggere i dati dei checkpoint.

Importante

Quando utilizzi la crittografia personalizzata, perdi la visibilità dei risultati delle operazioni nella console Lambda e nelle risposte dell'API. I dati dei checkpoint appaiono crittografati nella cronologia di esecuzione e non possono essere ispezionati senza decriptarli.

Il ruolo di esecuzione della funzione richiede kms:Encrypt e kms:Decrypt autorizzazioni per la AWS KMS chiave utilizzata nell'implementazione personalizzata. SerDer

CloudTrail registrazione

Lambda registra le operazioni dei checkpoint come eventi relativi ai dati. AWS CloudTrailÈ possibile utilizzarlo CloudTrail per verificare quando vengono creati i checkpoint, tenere traccia delle modifiche dello stato di esecuzione e monitorare l'accesso a dati di esecuzione durevoli.

Le operazioni di checkpoint vengono visualizzate nei CloudTrail registri con i seguenti nomi di eventi:

  • CheckpointDurableExecution- Registrato quando viene completato un passaggio e crea un checkpoint

  • GetDurableExecutionState- Registrato quando Lambda recupera lo stato di esecuzione durante la riproduzione

Per abilitare la registrazione degli eventi relativi ai dati per funzioni durevoli, configura un CloudTrail percorso per registrare gli eventi relativi ai dati Lambda. Per ulteriori informazioni, consulta Registrazione degli eventi relativi ai dati nella Guida per l' CloudTrail utente.

Esempio: immissione del CloudTrail registro per il funzionamento del checkpoint

{ "eventVersion": "1.08", "eventTime": "2024-11-16T10:30:45Z", "eventName": "CheckpointDurableExecution", "eventSource": "lambda.amazonaws.com", "requestParameters": { "functionName": "myDurableFunction", "executionId": "exec-abc123", "stepId": "step-1" }, "responseElements": null, "eventType": "AwsApiCall" }

Considerazioni relative a più account

Se richiamate funzioni durevoli su più AWS account, l'account chiamante necessita dell'lambda:InvokeFunctionautorizzazione, ma le operazioni di checkpoint utilizzano sempre il ruolo di esecuzione nell'account della funzione. L'account chiamante non può accedere direttamente ai dati del checkpoint o allo stato di esecuzione.

Questo isolamento garantisce che i dati del checkpoint rimangano sicuri all'interno dell'account della funzione, anche se richiamati da account esterni.

Funzionalità di sicurezza Lambda ereditate

Le funzioni durevoli ereditano tutte le funzionalità di sicurezza, governance e conformità di Lambda, tra cui connettività VPC, crittografia delle variabili di ambiente, code di lettere morte, concorrenza riservata, URLs funzione, firma del codice e certificazioni di conformità (SOC, PCI DSS, HIPAA, ecc.).

Per informazioni dettagliate sulle funzionalità di sicurezza Lambda, consulta Security AWS Lambda nella Lambda Developer Guide. Le uniche considerazioni aggiuntive sulla sicurezza per le funzioni durevoli sono le autorizzazioni ai checkpoint documentate in questa guida.