

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

# Aggiungi le autorizzazioni richieste da utilizzare AWS Lambda con Ground Truth
<a name="sms-custom-templates-step3-lambda-permissions"></a>

Potrebbe essere necessario configurare alcuni o tutti i seguenti elementi per creare e utilizzare AWS Lambda con Ground Truth. 
+ È necessario concedere a un ruolo o utente IAM (collettivamente, un'entità IAM) l'autorizzazione a creare le funzioni Lambda di pre-annotazione e post-annotazione utilizzando e a sceglierle durante la creazione del AWS Lambda processo di etichettatura. 
+ Il ruolo di esecuzione IAM specificato al momento della configurazione del processo di etichettatura richiede l'autorizzazione per richiamare le funzioni Lambda di pre-annotazione e post-annotazione. 
+ Le funzioni Lambda post-annotazione potrebbero richiedere un'autorizzazione per accedere ad Amazon S3.

Utilizza le seguenti sezioni per scoprire come creare le entità IAM e concedere le autorizzazioni sopra descritte.

**Topics**
+ [Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda](#sms-custom-templates-step3-postlambda-create-perms)
+ [Concedi l'autorizzazione al ruolo di esecuzione IAM per richiamare le funzioni AWS Lambda](#sms-custom-templates-step3-postlambda-execution-role-perms)
+ [Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione](#sms-custom-templates-step3-postlambda-perms)

## Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda
<a name="sms-custom-templates-step3-postlambda-create-perms"></a>

Se non hai bisogno di autorizzazioni granulari per sviluppare funzioni Lambda di pre-annotazione e post-annotazione, puoi allegare la policy gestita a un utente o a un ruolo. AWS `AWSLambda_FullAccess` Questa politica concede ampie autorizzazioni per utilizzare tutte le funzionalità Lambda, nonché l'autorizzazione a eseguire azioni in altri servizi AWS con cui Lambda interagisce.

Per creare una policy più granulare per i casi d'uso sensibili alla sicurezza, consulta la documentazione [Identity-based IAM Policies for Lambda nella AWS Lambda to Developer Guide per scoprire come creare una policy IAM](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html) adatta al tuo caso d'uso. 

**Policy per l'utilizzo della console Lambda**

Se desideri concedere a un'entità IAM il permesso di utilizzare la console Lambda, consulta [Using the Lambda console](https://docs.aws.amazon.com/lambda/latest/dg/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) nella Developer Guide. AWS Lambda 

Inoltre, se desideri che l'utente sia in grado di accedere e distribuire le funzioni di pre-annotazione e post-annotazione di Ground Truth utilizzando la console Lambda, devi specificare {{`<aws-region>`}} dove vuoi distribuire le funzioni (deve essere la stessa AWS regione utilizzata per creare il processo di etichettatura) e aggiungere la seguente policy al ruolo IAM. AWS Serverless Application Repository 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate"
            ],
            "Resource": "arn:aws:serverlessrepo:{{us-east-1}}:838997950401:applications/aws-sagemaker-ground-truth-recipe"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "serverlessrepo:SearchApplications",
            "Resource": "*"
        }
    ]
}
```

------

**Policy per visualizzare le funzioni Lambda nella console Ground Truth**

Per concedere a un'entità IAM l'autorizzazione a visualizzare le funzioni Lambda nella console Ground Truth quando l'utente crea un processo di etichettatura personalizzato, l'entità deve disporre delle autorizzazioni descritte in [Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth](sms-security-permission-console-access.md), incluse le autorizzazioni descritte nella sezione [Autorizzazioni personalizzate per il flusso di lavoro di etichettatura](sms-security-permission-console-access.md#sms-security-permissions-custom-workflow).

## Concedi l'autorizzazione al ruolo di esecuzione IAM per richiamare le funzioni AWS Lambda
<a name="sms-custom-templates-step3-postlambda-execution-role-perms"></a>

Se aggiungi la policy gestita IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)al ruolo di esecuzione IAM utilizzato per creare il processo di etichettatura, questo ruolo è autorizzato a elencare e richiamare le funzioni Lambda con una delle seguenti stringhe nel nome della funzione:`GtRecipe`,,, `SageMaker` o. `Sagemaker` `sagemaker` `LabelingFunction` 

Se i nomi delle funzioni Lambda di pre-annotazione o post-annotazione non includono uno dei termini del paragrafo precedente o se è necessaria un'autorizzazione più granulare rispetto a quelle della policy gestita `AmazonSageMakerGroundTruthExecution`, puoi aggiungere una policy simile alla seguente per concedere l'autorizzazione al ruolo di esecuzione per richiamare le funzioni di pre-annotazione e post-annotazione.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:{{us-east-1}}:{{111122223333}}:function:{{<pre-annotation-lambda-name>}}",
                "arn:aws:lambda:{{us-east-1}}:{{111122223333:}}function:{{<post-annotation-lambda-name>}}"
            ]
        }
    ]
}
```

------

## Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione
<a name="sms-custom-templates-step3-postlambda-perms"></a>

Come descritto in [Lambda di post-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda), la richiesta Lambda post-annotazione include la posizione dei dati di annotazione in Amazon S3. Questa posizione è identificata dalla stringa `s3Uri` nell'oggetto `payload`. Per elaborare le annotazioni quando arrivano, anche per una semplice funzione passthrough, è necessario assegnare le autorizzazione necessarie al [ruolo di esecuzione della Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) post-annotazione per leggere i file da Amazon S3.

Sono molti i modi per configurare il proprio Lambda ai fini dell’accesso ai dati di annotazione in Amazon S3. Due modi comuni sono i seguenti:
+ Consenti al ruolo di esecuzione Lambda di assumere il ruolo di esecuzione SageMaker AI identificato `roleArn` nella richiesta Lambda post-annotazione. Questo ruolo di esecuzione SageMaker AI è quello utilizzato per creare il processo di etichettatura e ha accesso al bucket di output di Amazon S3 in cui sono archiviati i dati di annotazione.
+ Concedi al ruolo di esecuzione Lambda l'autorizzazione ad accedere direttamente al bucket di output Amazon S3.

Utilizza le seguenti sezioni per avere ulteriori informazioni sul modo per configurare queste opzioni. 

**Concedi a Lambda l'autorizzazione ad assumere il ruolo di esecuzione dell' SageMaker IA**

Per consentire a una funzione Lambda di assumere un ruolo di esecuzione SageMaker AI, è necessario allegare una policy al ruolo di esecuzione della funzione Lambda e modificare la relazione di trust del ruolo di esecuzione SageMaker AI per consentire a Lambda di assumerlo.

1. [Associa la seguente policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) al ruolo di esecuzione della tua funzione Lambda per assumere il ruolo di esecuzione SageMaker AI identificato in. `Resource` Sostituisci `{{222222222222}}` con un [ID di account AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Sostituisci `{{sm-execution-role}}` con il nome del ruolo assunto.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::{{222222222222}}:role/{{sm-execution-role}}"
       }
   }
   ```

------

1. [Modifica la politica di fiducia](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) del ruolo di esecuzione dell' SageMaker IA per includere quanto segue`Statement`. Sostituisci `{{222222222222}}` con un [ID di account AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Sostituisci `{{my-lambda-execution-role}}` con il nome del ruolo assunto.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{222222222222}}:role/{{my-lambda-execution-role}}"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

**Concedi a Lambda l'autorizzazione al ruolo di esecuzione per accedere ad Amazon S3**

Puoi aggiungere una policy simile alla seguente al ruolo di esecuzione della funzione Lambda post-annotazione per assegnarle i permessi di lettura S3. Sostituisci {{amzn-s3-demo-bucket}} con il nome del bucket di output specificato quando crei un lavoro di etichettatura.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
        }
    ]
}
```

------

Per aggiungere autorizzazioni di lettura S3 a un ruolo di esecuzione Lambda nella console Lambda, segui la seguente procedura. 

**Aggiungi le autorizzazioni di lettura S3 alla Lambda post-annotazione:**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Scegli il nome della funzione di post-annotazione.

1. Scegliere **Configuration (Configurazione)**, quindi **Permissions (Autorizzazioni)**.

1. Seleziona il **Nome del ruolo** e la pagina di riepilogo per quel ruolo si apre nella console IAM in una nuova scheda. 

1. Seleziona **Collega policy**.

1. Esegui una delle seguenti operazioni:
   + Cerca e seleziona **`AmazonS3ReadOnlyAccess`** per fornire alla funzione l'autorizzazione a leggere tutti i bucket e gli oggetti nell'account. 
   + Se hai bisogno di autorizzazioni più granulari, seleziona **Crea policy** e usa l'esempio di policy nella sezione precedente per creare una policy. Tieni presente che è necessario tornare alla pagina di riepilogo del ruolo di esecuzione dopo aver creato la policy.

1. Se hai utilizzato la policy gestita `AmazonS3ReadOnlyAccess`, seleziona **Collega policy**. 

   Se hai creato una nuova policy, torna alla pagina di riepilogo del ruolo di esecuzione Lambda e collega la policy appena creata.