Utilizzo della firma del codice per verificare l'integrità del codice con 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à.

Utilizzo della firma del codice per verificare l'integrità del codice con Lambda

La firma del codice AWS Lambda aiuta a garantire che nelle funzioni Lambda venga eseguito solo codice affidabile. Quando si attiva la firma del codice per una funzione, Lambda controlla ogni distribuzione del codice e verifica che il pacchetto di codice sia firmato da un'origine attendibile.

Nota

Le funzioni definite come immagini di container non supportano la firma del codice.

Per verificare l'integrità del codice, utilizzare AWS Signer per creare pacchetti di codice con firma digitale per funzioni e livelli. Quando un utente tenta di distribuire un pacchetto di codice, Lambda esegue controlli di convalida sul pacchetto di codice prima di accettarne la distribuzione. Poiché i controlli di convalida della firma del codice vengono eseguiti al momento della distribuzione, non vi è alcun impatto sulle prestazioni nell'esecuzione delle funzioni.

Puoi utilizzare AWS Signer anche per creare profili di firma. È possibile utilizzare un profilo di firma per creare il pacchetto di codice firmato. Utilizza AWS Identity and Access Management (IAM) per controllare chi può firmare pacchetti di codice e creare profili di firma. Per ulteriori informazioni, consultare Autenticazione e controllo degli accessi nel manuale Guida per l'utente di AWS Signer.

I livelli Lambda seguono lo stesso formato del pacchetto di codice firmato dei pacchetti di codici della funzione. Quando si aggiunge un livello a una funzione per la quale è attivata la firma del codice, Lambda verifica che il livello sia firmato da un profilo di firma consentito. Quando si attiva la firma del codice per una funzione, tutti i livelli aggiunti alla funzione devono essere firmati anche da uno dei profili di firma consentiti.

È possibile configurare la firma del codice per registrare le modifiche su AWS CloudTrail. Le implementazioni delle funzioni riuscite e bloccate vengono registrate CloudTrail con informazioni sui controlli di firma e convalida.

Non sono previsti costi aggiuntivi per l'utilizzo di Signer o della AWS firma del codice. AWS Lambda

Convalida della firma

Lambda esegue i seguenti controlli di convalida quando si distribuisce un pacchetto di codice firmato alla funzione:

  1. Integrità - Convalida che il pacchetto di codice non sia stato modificato dopo la firma. Lambda confronta l'hash del pacchetto con l'hash della firma.

  2. Scadenza - Convalida che la firma del pacchetto di codice non sia scaduta.

  3. Mancata corrispondenza - Convalida che il pacchetto di codice sia firmato con uno dei profili di firma consentiti per la funzione Lambda. Si verifica una mancata corrispondenza anche se non è presente una firma.

  4. Revoca - Convalida che la firma del pacchetto di codice non sia stata revocata.

La policy di convalida della firma definito nella configurazione della firma del codice determina quale delle seguenti azioni sia eseguito da Lambda se uno dei controlli di convalida ha esito negativo:

  • Avvisa - Lambda consente la distribuzione del pacchetto di codice, ma emette un avviso. Lambda emette una nuova CloudWatch metrica Amazon e memorizza anche l'avviso nel registro. CloudTrail

  • Applica - Lambda emette un avviso (lo stesso dell'azione Avvisa) e blocca la distribuzione del pacchetto di codice.

È possibile configurare la policy per i controlli di convalida di scadenza, mancata corrispondenza e revoca. Si noti che non è possibile configurare una policy per il controllo dell'integrità. Se il controllo dell'integrità non riesce, Lambda blocca la distribuzione.

Configurazione di firma del codice con l'API Lambda

Per gestire le configurazioni di firma del codice con AWS CLI o AWS SDK, utilizza le seguenti operazioni API:

Per gestire la configurazione di firma del codice per una funzione, utilizzare le seguenti operazioni API: