Qual è la differenza tra le autorizzazioni del ruolo di esecuzione della funzione Lambda e le autorizzazioni di chiamata?

Ultimo aggiornamento: 09/03/2022

Voglio capire le differenze tra le autorizzazioni del ruolo di esecuzione della funzione AWS Lambda e le autorizzazioni di chiamata. In che modo sono diversi i due tipi di autorizzazioni AWS Identity and Access Management (IAM) per Lambda?

Risoluzione

Importante: quando crei policy IAM, è consigliabile concedere solo le autorizzazioni necessarie per eseguire un'attività specifica. Per ulteriori informazioni, consulta la sezione Concessione del privilegio minimo nella Guida per l'utente di IAM.

Autorizzazioni del ruolo di esecuzione della funzione Lambda

Le autorizzazioni del ruolo di esecuzione Lambda sono autorizzazioni IAM che concedono a una funzione Lambda l'autorizzazione ad accedere a servizi e risorse AWS Cloud specifici. Se non concedi le autorizzazioni del ruolo di esecuzione della funzione per un servizio o una risorsa AWS Cloud, la funzione non potrà accedere a tale servizio o risorsa.

Importante: per le funzioni Lambda che eseguono il polling di altri servizi AWS Cloud, sono necessarie le autorizzazioni del ruolo di esecuzione che consentono alla funzione di recuperare record da tali servizi.

Come vengono concesse le autorizzazioni del ruolo di esecuzione

Le autorizzazioni del ruolo di esecuzione Lambda vengono fornite sotto forma di identificatori specifici dell'operazione API (ad esempio, s3:GetObject). Questi identificatori dell'operazione sono elencati nell'elemento Action della dichiarazione di una policy IAM. La policy viene quindi allegata a un ruolo IAM chiamato ruolo di esecuzione che la funzione Lambda assume ogni volta che viene richiamata.

Per i servizi che generano una coda o un flusso dei dati, è necessario configurare una mappatura dell'origine eventi per fare in modo che Lambda esegua il polling della coda o del flusso dei dati. Una mappatura dell'origine eventi utilizza le autorizzazioni nel ruolo di esecuzione della funzione per leggere e gestire gli elementi nell'origine eventi.

Nota: le autorizzazioni, la struttura degli eventi, le impostazioni e il comportamento del polling variano a seconda dell'origine dell'evento. Per un esempio di policy IAM che include le autorizzazioni di polling Lambda, consulta la sezione policy IAM per consentire a una funzione AWS Lambda di accedere ai record del flusso DynamoDB.

Autorizzazioni di chiamata della funzione Lambda

Le autorizzazioni di chiamata della funzione Lambda sono autorizzazioni IAM che concedono a uno specifico servizio o risorsa AWS Cloud l'autorizzazione per richiamare una funzione Lambda. Se non concedi a un servizio o a una risorsa le autorizzazioni di chiamata per la tua funzione Lambda, quel servizio o quella risorsa non possono richiamare la funzione.

Importante: per le funzioni Lambda richiamate dai servizi AWS Cloud che inviano le origini eventi alla funzione, sono necessarie le autorizzazioni di chiamata.

Come vengono concesse le autorizzazioni di chiamata

Le autorizzazioni di chiamata Lambda sono fornite sotto forma di un identificatore specifico dell'operazione API: lambda:InvokeFunction. Questo identificatore dell'operazione è elencato nell'elemento Action della dichiarazione della policy IAM basata su risorse di una funzione Lambda. La policy basata su risorse di una funzione Lambda viene configurata separatamente dal ruolo di esecuzione della funzione.

Nota: questo è un caso speciale in cui l'identificatore dell'operazione (lambda:InvokeFunction) è diverso dall'operazione API (Invoke). Per altre azioni, l'identificatore dell'operazione è il nome dell'operazione preceduto da lambda:.

Quando si utilizza la console Lambda per aggiungere un trigger alla funzione, le autorizzazioni di chiamata richieste vengono aggiunte automaticamente alla policy basata su risorse della funzione. Per concedere autorizzazioni ad account o servizi che non sono disponibili nella console, è necessario utilizzare l'operazione API AddPermission di Lambda.

Per ulteriori informazioni, consulta la sezione Concessione dell'accesso alle funzioni ai servizi AWS.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?