Salta al contenuto

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

3 minuti di lettura
0

Desidero capire le differenze tra le autorizzazioni del ruolo di esecuzione e le autorizzazioni di invocazione della funzione AWS Lambda. Desidero anche sapere in che modo i due tipi di autorizzazioni AWS Identity and Access Management (IAM) per Lambda sono diversi.

Risoluzione

Importante: quando si creano policy IAM, è consigliabile concedere solo le autorizzazioni necessarie per eseguire un'attività specifica.

Autorizzazioni del ruolo di esecuzione della funzione Lambda

Le autorizzazioni del ruolo di esecuzione di Lambda sono autorizzazioni IAM che concedono a una funzione Lambda la facoltà di accedere a servizi e risorse AWS specifici. Quando non autorizzi il ruolo di esecuzione della funzione per un servizio o una risorsa, la funzione non può accedere al servizio o alla risorsa.

Concedi autorizzazioni del ruolo di esecuzione

Per concedere a Lambda autorizzazioni del ruolo di esecuzione, elenca le azioni API specifiche del servizio, come s3:GetObject o sns:Publish, nell'elemento Action della dichiarazione di policy IAM. Quindi collega la policy a un ruolo di esecuzione IAM che la tua funzione Lambda assume quando viene invocata.

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

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

Autorizzazioni di invocazione della funzione Lambda

Le autorizzazioni di invocazione della funzione Lambda sono autorizzazioni IAM che concedono a un servizio o una risorsa specifica l'autorizzazione per invocare una funzione Lambda. Quando non concedi l'autorizzazione di invocazione di un servizio o di una risorsa per la tua funzione Lambda, il servizio o la risorsa non possono invocare la funzione.

Importante: è necessario concedere l'autorizzazione di invocazione ai servizi che inviano origini di eventi alla funzione Lambda. Per esempio, utilizza la policy basata sulle risorse della funzione per concedere ad Amazon API Gateway l'autorizzazione a invocare una funzione Lambda.

Concedi autorizzazioni di invocazione

Per concedere autorizzazioni di invocazione di Lambda, elenca l'azione API lambda:InvokeFunction nell'elemento Action della dichiarazione di policy basata sulle risorse IAM di una funzione Lambda. La policy basata sulle risorse della funzione Lambda viene configurata separatamente dal ruolo di esecuzione della funzione.

Nota: in questo caso, l'identificatore dell’azione lambda:InvokeFunction è diverso dall'operazione API Invoke. Per altre azioni, l'identificatore dell’azione è il nome dell'operazione con il prefisso lambda:.

Quando usi la console di Lambda per aggiungere un trigger alla tua funzione, le autorizzazioni di invocazione richieste vengono aggiunte automaticamente alla policy basata sulle risorse della funzione. Per concedere autorizzazioni ad account o servizi AWS che non sono disponibili nella console, devi utilizzare l'azione API AddPermission per Lambda.

Per ulteriori informazioni, consulta la sezione Concessione alla funzione Lambda dell'accesso ai servizi AWS.

Informazioni correlate

Gestione delle autorizzazioni in AWS Lambda

Utilizzo delle policy gestite da AWS nel ruolo di esecuzione

AWS UFFICIALEAggiornata un anno fa