

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à.

# Definizione delle autorizzazioni della funzione Lambda con un ruolo di esecuzione
<a name="lambda-intro-execution-role"></a>

Il ruolo di esecuzione di una funzione Lambda è un ruolo AWS Identity and Access Management (IAM) che concede alla funzione l'autorizzazione all'accesso Servizi AWS e alle risorse. Ad esempio, potresti creare un ruolo di esecuzione con l'autorizzazione a inviare log ad Amazon CloudWatch e caricare AWS X-Ray dati di traccia su. Questa pagina fornisce informazioni su come creare, visualizzare e gestire il ruolo di esecuzione di una funzione Lambda.

Lambda assume automaticamente il tuo ruolo di esecuzione quando richiami la tua funzione. Dovresti evitare di chiamare `sts:AssumeRole` manualmente per assumere il ruolo di esecuzione nel codice della funzione. Se il tuo caso d'uso richiede che il ruolo venga assunto autonomamente, dovrai includere il ruolo stesso come principale attendibile nella policy di attendibilità del ruolo. Per ulteriori informazioni su come modificare una policy di attendibilità del ruolo, consulta [Modifica di una policy di attendibilità del ruolo (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) nella Guida per l'utente di IAM.

Affinché Lambda possa assumere correttamente il ruolo di esecuzione, la [policy di attendibilità](#permissions-executionrole-api) del ruolo deve specificare il principale del servizio Lambda (`lambda.amazonaws.com`) come servizio attendibile.

**Topics**
+ [Creazione di un ruolo di esecuzione nella console di IAM](#permissions-executionrole-console)
+ [Creazione e gestione dei ruoli con AWS CLI](#permissions-executionrole-api)
+ [Garantisci l'accesso minimo ai privilegi per il tuo ruolo di esecuzione Lambda](#permissions-executionrole-least-privilege)
+ [Visualizzazione e aggiornamento delle autorizzazioni nel ruolo di esecuzione](permissions-executionrole-update.md)
+ [Utilizzo delle politiche AWS gestite nel ruolo di esecuzione](permissions-managed-policies.md)
+ [Utilizzo dell'ARN della funzione di origine per controllare il comportamento di accesso alla funzione](permissions-source-function-arn.md)

## Creazione di un ruolo di esecuzione nella console di IAM
<a name="permissions-executionrole-console"></a>

Per impostazione predefinita, Lambda crea un ruolo di esecuzione con autorizzazioni minime quando si [crea una funzione nella console Lambda](getting-started.md#getting-started-create-function). In particolare, questo ruolo di esecuzione include la [policy `AWSLambdaBasicExecutionRole` gestita](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaBasicExecutionRole.html), che fornisce alla tua funzione le autorizzazioni di base per registrare gli eventi su Amazon CloudWatch Logs. Puoi selezionare **Crea ruolo predefinito nella sezione** **Autorizzazioni**.

Puoi scegliere un ruolo esistente selezionando **Usa un altro ruolo nella sezione** **Autorizzazioni**. Se la tua funzione Lambda necessita di autorizzazioni aggiuntive per eseguire attività come l'aggiornamento delle voci in un database Amazon DynamoDB in risposta agli eventi, puoi creare un ruolo di esecuzione personalizzato con le autorizzazioni necessarie. Per fare ciò, seleziona **Usa un altro ruolo** nella sezione **Autorizzazioni, che apre un cassetto in cui puoi personalizzare le tue autorizzazioni**.

**Per configurare un ruolo di esecuzione dalla console**

1. Inserisci **il nome del ruolo** nella sezione Dettagli del ruolo.

1. Nella sezione **Politica**, seleziona **Usa politica esistente**.

1. Seleziona le politiche AWS gestite che desideri allegare al tuo ruolo. Ad esempio, se la tua funzione deve accedere a DynamoDB, seleziona la policy gestita da **DBExecutionDynamo AWSLambda Role**.

1. Scegli **Crea ruolo**.

In alternativa, quando [crei una funzione nella console Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#getting-started-create-function), puoi allegare qualsiasi ruolo di esecuzione creato in precedenza alla funzione. Se desideri associare un nuovo ruolo di esecuzione a una funzione esistente, segui i passaggi in [Aggiornamento del ruolo di esecuzione di una funzione](permissions-executionrole-update.md).

## Creazione e gestione dei ruoli con AWS CLI
<a name="permissions-executionrole-api"></a>

Per creare un ruolo di esecuzione con AWS Command Line Interface (AWS CLI), utilizzate il **create-role** comando. Quando utilizzi questo comando, puoi specificare la policy di attendibilità in linea. La policy di attendibilità di un ruolo garantisce ai principali specificati l'autorizzazione per assumere tale ruolo. Nell'esempio seguente concedi al principale del servizio Lambda l'autorizzazione per assumere il ruolo. I requisiti per l'escape delle virgolette nella stringa JSON variano in base alla shell.

```
aws iam create-role \
  --role-name lambda-ex \
  --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'
```

Puoi inoltre definire la policy di attendibilità per il ruolo utilizzando un file JSON separato. Nell'esempio seguente, `trust-policy.json` è un file che si trova nella directory attuale.

**Example trust-policy.json**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

```
aws iam create-role \
  --role-name lambda-ex \
  --assume-role-policy-document file://trust-policy.json
```

Utilizza il comando **attach-policy-to-role** per aggiungere le autorizzazioni al ruolo. Il seguente comando aggiunge la policy gestita da `AWSLambdaBasicExecutionRole` al ruolo di esecuzione `lambda-ex`.

```
aws iam attach-role-policy --role-name lambda-ex --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
```

Dopo aver creato il ruolo di esecuzione, collegalo alla funzione. Quando si [crea una funzione nella console Lambda](getting-started.md#getting-started-create-function), potrai collegare alla funzione qualsiasi ruolo di esecuzione creato in precedenza. Se desideri associare un nuovo ruolo di esecuzione a una funzione esistente, segui i passaggi indicati in [Aggiornamento del ruolo di esecuzione di una funzione](permissions-executionrole-update.md#update-execution-role).

## Garantisci l'accesso minimo ai privilegi per il tuo ruolo di esecuzione Lambda
<a name="permissions-executionrole-least-privilege"></a>

Quando si crea per la prima volta un ruolo IAM per la funzione Lambda durante la fase di sviluppo, a volte è possibile concedere altre autorizzazioni oltre a quanto richiesto. Prima di pubblicare la funzione nell'ambiente di produzione, una best practice consiste nel modificare la policy in modo da includere solo le autorizzazioni richieste. Per ulteriori informazioni, consulta [Applicazione delle autorizzazioni del privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l'utente di IAM*.

Utilizzare IAM Access Analyzer per identificare le autorizzazioni necessarie per la policy del ruolo di esecuzione IAM. IAM Access Analyzer esamina i tuoi AWS CloudTrail log nell'intervallo di date specificato e genera un modello di policy con solo le autorizzazioni utilizzate dalla funzione in quel periodo. È possibile utilizzare il modello per creare una policy gestita con autorizzazioni granulari e quindi collegarla al ruolo IAM. In questo modo, concedi solo le autorizzazioni necessarie al ruolo per interagire con le AWS risorse per il tuo caso d'uso specifico.

Per ulteriori informazioni, consulta [Generazione di policy basate sull'attività di accesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_generate-policy.html) nella *Guida per l'utente di IAM*.