

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ajouter les autorisations requises à utiliser AWS Lambda avec Ground Truth
<a name="sms-custom-templates-step3-lambda-permissions"></a>

**Note**  
Amazon SageMaker Ground Truth n'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. AWS continue d'investir dans l'amélioration de la sécurité et de la disponibilité de Ground Truth, mais nous ne prévoyons pas d'introduire de nouvelles fonctionnalités.

Vous devrez peut-être configurer tout ou partie des éléments suivants pour créer et utiliser AWS Lambda avec Ground Truth. 
+ Vous devez accorder à un rôle IAM ou à un utilisateur (collectivement, une entité IAM) l'autorisation de créer les fonctions Lambda de pré-annotation et de post-annotation à l'aide AWS Lambda de et de les sélectionner lors de la création de la tâche d'étiquetage. 
+ Le rôle d’exécution IAM spécifié, lorsque la tâche d’étiquetage est configurée, doit être autorisé à invoquer les fonctions Lambda de pré-annotation et de post-annotation. 
+ Les fonctions Lambda post-annotation peuvent avoir besoin d’une autorisation pour accéder à Amazon S3.

Utilisez les sections suivantes pour apprendre comment créer les entités IAM et accorder des autorisations décrites ci-dessus.

**Topics**
+ [Autoriser la création et la sélection d'un AWS Lambda Fonction](#sms-custom-templates-step3-postlambda-create-perms)
+ [Autoriser le rôle d'exécution IAM à invoquer AWS Lambda Fonctions](#sms-custom-templates-step3-postlambda-execution-role-perms)
+ [Accorder à Post-Annotation Lambda les autorisations d'accès à Annotation](#sms-custom-templates-step3-postlambda-perms)

## Autoriser la création et la sélection d'un AWS Lambda Fonction
<a name="sms-custom-templates-step3-postlambda-create-perms"></a>

Si vous n'avez pas besoin d'autorisations granulaires pour développer des fonctions Lambda avant et après les annotations, vous pouvez associer la politique AWS gérée à un utilisateur ou `AWSLambda_FullAccess` à un rôle. Cette politique accorde des autorisations étendues pour utiliser toutes les fonctionnalités de Lambda, ainsi que l'autorisation d'effectuer des actions dans d'autres AWS services avec lesquels Lambda interagit.

Pour créer une politique plus précise pour les cas d'utilisation sensibles à la sécurité, consultez la documentation Politiques [ Identity-based IAM pour Lambda ](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html) dans le guide du AWS Lambda développeur pour savoir comment créer une politique IAM adaptée à votre cas d'utilisation. 

**Stratégies d’utilisation de la console Lambda**

Si vous souhaitez autoriser une entité IAM à utiliser la console Lambda, consultez la section [ Utilisation de la console Lambda ](https://docs.aws.amazon.com/lambda/latest/dg/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) dans le Guide du AWS Lambda développeur.

En outre, si vous souhaitez que l'utilisateur puisse accéder aux fonctions de pré-annotation et de post-annotation de Ground Truth Starter et les déployer AWS Serverless Application Repository à l'aide de la console Lambda, vous devez spécifier l'{{`<aws-region>`}}endroit où vous souhaitez déployer les fonctions (il doit s'agir de la même AWS région que celle utilisée pour créer la tâche d'étiquetage) et ajouter la politique suivante au rôle IAM.

------
#### [ 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": "*"
        }
    ]
}
```

------

**Stratégies accordant l’affichage des fonctions Lambda dans la console Ground Truth**

Pour accorder à une entité IAM l’autorisation d’afficher les fonctions Lambda dans la console Ground Truth lorsque l’utilisateur crée une tâche d’étiquetage personnalisée, l’entité doit disposer des autorisations décrites dans [Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth](sms-security-permission-console-access.md), y compris les autorisations décrites dans la section [Autorisations de flux de travail d’étiquetage personnalisées](sms-security-permission-console-access.md#sms-security-permissions-custom-workflow).

## Autoriser le rôle d'exécution IAM à invoquer AWS Lambda Fonctions
<a name="sms-custom-templates-step3-postlambda-execution-role-perms"></a>

Si vous ajoutez la politique gérée IAM [ AmazonSageMakerGroundTruthExecution ](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution) au rôle d'exécution IAM utilisé pour créer la tâche d'étiquetage, ce rôle est autorisé à répertorier et à invoquer des fonctions Lambda avec l'une des chaînes suivantes dans le nom de la fonction :`GtRecipe`,`SageMaker`, `Sagemaker` ou. `sagemaker` `LabelingFunction` 

Si les noms de fonction Lambda de pré-annotation ou de post-annotation n’incluent pas l’un des termes du paragraphe précédent, ou si vous avez besoin d’une autorisation plus détaillée que celles de la stratégie gérée `AmazonSageMakerGroundTruthExecution`, vous pouvez ajouter une stratégie similaire à la suivante pour donner au rôle d’exécution l’autorisation d’appeler des fonctions de pré-annotation et de post-annotation.

------
#### [ 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>}}"
            ]
        }
    ]
}
```

------

## Accorder à Post-Annotation Lambda les autorisations d'accès à Annotation
<a name="sms-custom-templates-step3-postlambda-perms"></a>

Comme décrit dans [Post-annotation Lambda](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda), la requête Lambda de post-annotation inclut l’emplacement des données d’annotation dans Amazon S3. Cet emplacement est identifié par la chaîne `s3Uri` dans l’objet `payload`. Pour traiter les annotations au fur et à mesure de leur arrivée, même pour une simple fonction de passage, vous devez attribuer les autorisations nécessaires au [rôle d’exécution Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) de post-annotation pour lire les fichiers depuis Amazon S3.

Il existe de nombreuses façons de configurer votre Lambda pour accéder aux données d’annotation dans Amazon S3. Deux façons communes sont :
+ Autorisez le rôle d'exécution Lambda à assumer le rôle d'exécution SageMaker AI identifié `roleArn` dans la demande Lambda post-annotation. Ce rôle d'exécution de l' SageMaker IA est celui utilisé pour créer la tâche d'étiquetage et permet d'accéder au compartiment de sortie Amazon S3 dans lequel les données d'annotation sont stockées.
+ Accordez au rôle d’exécution Lambda l’autorisation d’accéder directement au compartiment de sortie Amazon S3.

Utilisez les sections suivantes pour en savoir plus sur ces options. 

**Autoriser Lambda à assumer le rôle d'exécution de l' SageMaker IA **

Pour autoriser une fonction Lambda à assumer un rôle d'exécution d' SageMaker IA, vous devez associer une politique au rôle d'exécution de la fonction Lambda et modifier la relation de confiance du rôle d'exécution d' SageMaker IA pour permettre à Lambda de l'assumer.

1. [Associez la politique IAM suivante ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) au rôle d'exécution de votre fonction Lambda pour assumer le rôle d'exécution de l' SageMaker IA identifié dans. `Resource` Remplacez `{{222222222222}}` par votre [ID de compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Remplacez `{{sm-execution-role}}` par le nom du rôle assumé.

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

****  

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

------

1. [Modifiez la politique ](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) de confiance du rôle d'exécution de l' SageMaker IA pour inclure les éléments suivants`Statement`. Remplacez `{{222222222222}}` par votre [ID de compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Remplacez `{{my-lambda-execution-role}}` par le nom du rôle assumé.

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

****  

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

------

**Accorder au rôle d’exécution Lambda l’autorisation d’accéder à S3**

Vous pouvez ajouter une stratégie similaire à la suivante au rôle d’exécution de la fonction Lambda de post-annotation pour lui donner des autorisations de lecture S3. Remplacez-le {{amzn-s3-demo-bucket}} par le nom du compartiment de sortie que vous spécifiez lorsque vous créez une tâche d'étiquetage.

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

****  

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

------

Pour ajouter des autorisations de lecture S3 à un rôle d’exécution Lambda dans la console Lambda, procédez comme suit. 

**Ajouter des autorisations de lecture S3 à la fonction Lambda de post-annotation :**

1. Ouvrez la [page **Functions (Fonctions)**](https://console.aws.amazon.com/lambda/home#/functions) de la console Lambda.

1. Choisissez le nom de la fonction de post-annotation.

1. Choisissez **Configuration (Configuration)**, puis **Permissions (Autorisations)**.

1. Sélectionnez le **Role name (Nom de rôle)** et la page de résumé de ce rôle s’ouvre dans la console IAM dans un nouvel onglet. 

1. Sélectionnez **Attach policies (Attacher des stratégies)**.

1. Effectuez l’une des actions suivantes :
   + Recherchez et sélectionnez **`AmazonS3ReadOnlyAccess`** pour donner à la fonction l’autorisation de lire tous les compartiments et objets du compte. 
   + Si vous avez besoin d’autorisations plus détaillées, sélectionnez **Create policy (Créer une stratégie)** et utilisez l’exemple de stratégie de la section précédente pour créer une stratégie. Notez que vous devez revenir à la page récapitulative du rôle d’exécution après avoir créé la stratégie.

1. Si vous avez utilisé la stratégie gérée par `AmazonS3ReadOnlyAccess`, sélectionnez **Attacher une stratégie**. 

   Si vous avez créé une nouvelle stratégie, revenez à la page récapitulative du rôle d’exécution Lambda et attachez la stratégie que vous venez de créer.