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

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

La firma del codice consente di garantire che solo il codice attendibile venga eseguito nelle funzioni Lambda. L’uso di AWS Signer ti consente di creare pacchetti di codice con firma digitale per le funzioni Lambda. Quando aggiungi una configurazione di firma del codice a una funzione, Lambda verifica che tutte le nuove implementazioni di codice siano firmate da una fonte attendibile. Poiché i controlli di convalida della firma del codice vengono eseguiti al momento dell’implementazione, non vi è alcun impatto sull'esecuzione delle funzioni.

Importante

Le configurazioni di firma del codice impediscono solo nuove implementazioni di codice non firmato. Se aggiungi una configurazione di firma del codice a una funzione esistente con codice non firmato, tale codice continua a funzionare finché non distribuisci un nuovo pacchetto di codice.

Quando attivi la firma del codice per una funzione, tutti i livelli aggiunti alla funzione devono essere firmati anche da uno dei profili di firma consentiti.

Non sono previsti costi aggiuntivi per l'utilizzo di AWS Signer o della firma del codice per 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 un profilo di firma consentiti.

  4. Revoca: convalida che la firma del pacchetto di codice non sia stata revocata.

Quando crei una configurazione di firma del codice, puoi utilizzare il parametro UntrustedArtifactOnDeployment per specificare come Lambda deve rispondere in caso di esito negativo dei controlli di scadenza, mancata corrispondenza o revoca. Puoi scegliere una di queste azioni:

  • Warn: è l'impostazione predefinita. Lambda consente l’implementazione del pacchetto di codice, ma emette un avviso. Lambda emette un nuovo parametro Amazon CloudWatch (SignatureValidationErrors) e archivia anche l'avviso nel log CloudTrail.

  • Enforce: Lambda emette un avviso (lo stesso dell'azione Warn) e blocca l’implementazione del pacchetto di codice.