Protezione delle variabili di ambiente 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à.

Protezione delle variabili di ambiente Lambda

Per proteggere le variabili di ambiente, è possibile utilizzare la crittografia lato server per proteggere i dati inattivi e la crittografia lato client per proteggere i dati in transito.

Nota

Per aumentare la sicurezza del database, si consiglia di utilizzare AWS Secrets Manager al posto delle variabili di ambiente per memorizzare le credenziali del database. Per ulteriori informazioni, consulta Utilizzo AWS Lambda con Amazon RDS.

Sicurezza dei dati inattivi

Lambda fornisce sempre la crittografia lato server dei dati inattivi con un AWS KMS key. Per impostazione predefinita, Lambda utilizza un Chiave gestita da AWS. Se questo comportamento predefinito si adatta al flusso di lavoro, non è necessario impostare altro. Lambda li crea Chiave gestita da AWS nel tuo account e ne gestisce le autorizzazioni per conto tuo. AWS non ti addebita alcun costo per l'utilizzo di questa chiave.

Se preferisci, puoi invece fornire una chiave gestita AWS KMS dal cliente. È possibile eseguire questa operazione per avere il controllo sulla rotazione della chiave KMS o per soddisfare i requisiti dell'organizzazione per la gestione delle chiavi KMS. Quando si utilizza la chiave gestita dal cliente, solo gli utenti del tuo account con accesso alla chiave possono visualizzare o gestire le variabili di ambiente sulla funzione.

Le chiavi gestite dal cliente sono soggette a costi standard AWS KMS . Per ulteriori informazioni, consultare Prezzi di AWS Key Management Service.

Sicurezza in transito

Per una maggiore sicurezza, è possibile abilitare gli helper per la crittografia in transito, assicurando così che le variabili di ambiente siano crittografate lato client per la protezione in transito.

Per configurare la crittografia per le variabili di ambiente
  1. Usa AWS Key Management Service (AWS KMS) per creare qualsiasi chiave gestita dal cliente che Lambda possa utilizzare per la crittografia lato server e lato client. Per ulteriori informazioni, consulta Creazione di chiavi nella AWS Key Management Service Guida per gli sviluppatori di .

  2. Utilizzando la console Lambda, accedere alla pagina Edit environment variables (Modifica delle variabili di ambiente).

    1. Aprire la pagina Funzioni della console Lambda.

    2. Scegliere una funzione.

    3. Scegliere Configurazione, quindi scegliere Variabili di ambiente nella barra di navigazione sinistra.

    4. Nella sezione Variabili di ambiente, scegliere Modifica.

    5. Espandere Encryption configuration (Configurazione della crittografia).

  3. (Facoltativo) Abilita gli helper di crittografia della console per utilizzare la crittografia lato client per proteggere i dati in transito.

    1. In Crittografia in transito, scegliere Enable helpers for encryption in transit (Abilita helper per la crittografia in transito).

    2. Per ogni variabile di ambiente per cui si desidera abilitare gli helper di crittografia della console, scegliere Encrypt (Crittografia) accanto alla variabile di ambiente.

    3. In AWS KMS key Per crittografare in transito, scegli una chiave gestita dal cliente che hai creato all'inizio di questa procedura.

    4. Scegliere Execution role policy (Policy del ruolo di esecuzione) e copiare la policy. Questa policy concede l'autorizzazione al ruolo di esecuzione della funzione per decrittare le variabili di ambiente.

      Salvare la policy da utilizzare nell'ultima fase di questa procedura.

    5. Aggiungi il codice alla funzione che decritta le variabili di ambiente. Per visualizzare un esempio, scegli Decritta frammento di segreto.

  4. (Facoltativo) Specifica la chiave gestita dal cliente per la crittografia dei dati inattivi.

    1. Scegliere Use a customer master key (Utilizza una chiave master del cliente).

    2. Scegliere una chiave gestita dal cliente creata all'inizio di questa procedura.

  5. Selezionare Salva.

  6. Impostare le autorizzazioni.

    Se stai utilizzando una chiave gestita dal cliente con crittografia lato server, concedi le autorizzazioni a qualsiasi utente o ruolo che desideri possa visualizzare o gestire le variabili di ambiente sulla funzione. Per ulteriori informazioni, consulta Gestione delle autorizzazioni per la chiave KMS di crittografia lato server.

    Se si abilita la crittografia lato client per la sicurezza in transito, la funzione richiede l'autorizzazione per chiamare l'operazione API kms:Decrypt. Aggiungere la policy salvata in precedenza in questa procedura al ruolo di esecuzione della funzione.

Gestione delle autorizzazioni per la chiave KMS di crittografia lato server

Non sono necessarie AWS KMS autorizzazioni affinché l'utente o il ruolo di esecuzione della funzione utilizzino la chiave di crittografia predefinita. Per utilizzare una chiave gestita dal cliente, occorre l'autorizzazione all'utilizzo della chiave. Lambda utilizza queste autorizzazioni per creare una concessione sulla chiave. Questo consente a Lambda di usarla per la crittografia.

  • kms:ListAliases – Per visualizzare i tasti nella console Lambda.

  • kms:CreateGrant, kms:Encrypt – Per configurare una chiave gestita dal cliente su una funzione.

  • kms:Decrypt – Per visualizzare e gestire le variabili di ambiente crittografate con la chiave gestita dal cliente.

Puoi ottenere queste autorizzazioni dalla tua politica di autorizzazioni basata sulle risorse Account AWS o sulla politica delle autorizzazioni basata sulle risorse di una chiave. ListAliasesè fornito dalle policy gestite per Lambda. Le policy della chiave concedono le autorizzazioni rimanenti agli utenti del gruppo Key users (Utenti chiave).

Gli utenti senza autorizzazioni Decrypt possono comunque gestire le funzioni, ma non possono visualizzare le variabili di ambiente o gestirle nella console Lambda. Per impedire a un utente di visualizzare le variabili di ambiente, aggiungere un'istruzione alle autorizzazioni dell'utente che nega l'accesso alla chiave predefinita, a una chiave gestita dal cliente o a tutte le chiavi.

Esempio Policy IAM: negano l'accesso in base all'ARN della chiave
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-2:111122223333:key/3be10e2d-xmpl-4be4-bc9d-0405a71945cc" } ] }

Per informazioni dettagliate sulla gestione delle autorizzazioni delle chiavi, consulta la pagina Utilizzo delle policy delle chiavi in AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service .