

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.

# Sécurité et autorisations Ground Truth
<a name="sms-security-general"></a>

Utilisez les rubriques de cette page pour en savoir plus sur les fonctionnalités de sécurité de Ground Truth et comment configurer les autorisations Gestion des identités et des accès AWS (IAM) pour autoriser un utilisateur ou un rôle à créer une tâche d’étiquetage. En outre, apprenez à créer un *Rôle d’exécution*. Un rôle d’exécution est le rôle que vous spécifiez lorsque vous créez une tâche d’étiquetage. Ce rôle est utilisé pour démarrer votre tâche d’étiquetage.

Si vous êtes un nouvel utilisateur et que vous souhaitez démarrer rapidement, ou si vous n’avez pas besoin d’autorisations détaillées, consultez [Utiliser les stratégies gérées IAM avec Ground Truth](sms-security-permissions-get-started.md).

Pour en savoir plus sur les utilisateurs, les groupes, les rôles et les autorisations, consultez [Identités (utilisateurs, groupes et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le Guide de l’utilisateur IAM. 

Pour en savoir plus sur l'utilisation de l'IAM avec SageMaker l'IA, consultez[Gestion des identités et des accès AWS pour Amazon SageMaker AI](security-iam.md).

**Topics**
+ [

# Exigence CORS pour les données d’image d’entrée
](sms-cors-update.md)
+ [

# Attribuer des autorisations IAM pour utiliser Ground Truth
](sms-security-permission.md)
+ [

# Utilisation d'Amazon SageMaker Ground Truth dans un Amazon Virtual Private Cloud
](sms-vpc.md)
+ [

# Chiffrement des données et des volumes de stockage
](sms-security.md)
+ [

# Authentification et restrictions du personnel
](sms-security-workforce-authentication.md)

# Exigence CORS pour les données d’image d’entrée
<a name="sms-cors-update"></a>

Plus tôt en 2020, les navigateurs largement utilisés comme Chrome et Firefox ont changé leur comportement par défaut pour la rotation d’images en fonction de métadonnées d’image, que l’on appelle les [données EXIF](https://en.wikipedia.org/wiki/Exif). Auparavant, les images s’affichaient toujours dans les navigateurs exactement de la façon dont elles sont stockées sur le disque, c’est-à-dire généralement sans rotation. Après la modification, les images tournent désormais en fonction d’un élément de métadonnées d’image appelé *valeur d’orientation*. Cela impacte l’ensemble de la communauté du machine learning (ML). Par exemple, si l’orientation EXIF n’est pas prise en compte, les applications d’annotation d’images peuvent afficher des images dans des orientations inattendues et entraîner des étiquettes incorrectes. 

À partir de Chrome 89, il n'est plus AWS possible d'empêcher automatiquement la rotation des images, car le groupe de normes Web W3C a décidé que la possibilité de contrôler la rotation des images violait la politique du Web relative à la même origine. Par conséquent, pour garantir que les employés humains annotent vos images source dans une orientation prévisible lorsque vous soumettez des requêtes de création d’une tâche d’étiquetage, vous devez ajouter une stratégie d’en-tête CORS aux compartiments Amazon S3 qui contiennent vos images source.

**Important**  
Si vous n’ajoutez pas de configuration CORS aux compartiments Amazon S3 contenant vos données d’entrée, les tâches d’étiquetage pour ces objets de données d’entrée échoueront.

Si vous créez une tâche via la console Ground Truth, CORS est activé par défaut. Si toutes vos données source ne sont *pas* situées dans le même compartiment Amazon S3 que votre fichier manifeste source, vous devez ajouter une configuration CORS à tous les compartiments Amazon S3 contenant des données source en utilisant les instructions suivantes.

Si vous utilisez l’API `CreateLabelingJob` pour créer une tâche d’étiquetage Ground Truth, vous pouvez ajouter une stratégie CORS à un compartiment Amazon S3 qui contient des données d’entrée dans la console S3. Pour définir les en-têtes CORS requis sur le compartiment Amazon S3 qui contiennent vos images source dans la console Amazon S3, suivez les instructions détaillées dans [Comment ajouter le partage des ressources interdomaines avec le partage CORS ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html). Utilisez le code de configuration CORS suivant pour les compartiments qui hébergent vos images. Si vous utilisez la console Amazon S3 pour ajouter la stratégie à votre compartiment, vous devez utiliser le format JSON.

**Important**  
Si vous créez une tâche d’étiquetage de nuage de points 3D ou de trame vidéo, vous devez ajouter des règles supplémentaires à votre configuration CORS. Pour en savoir plus, consultez [Autorisations requises pour les tâches d’étiquetage de nuage de points 3D](sms-security-permission-3d-point-cloud.md) et [Exigences d’autorisation de tâche de trame vidéo](sms-video-overview.md#sms-security-permission-video-frame), respectivement. 

**JSON**

```
[{
   "AllowedHeaders": [],
   "AllowedMethods": ["GET"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": ["Access-Control-Allow-Origin"]
}]
```

**XML**

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
   <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
 </CORSRule>
</CORSConfiguration>
```

Le fichier GIF suivant présente les instructions contenues dans la documentation Amazon S3 pour ajouter une stratégie d’en-tête CORS à l’aide de la console Amazon S3. Pour obtenir des instructions, consultez **Utilisation de la console Amazon S3** sur la page de documentation [Comment ajouter le partage des ressources interdomaines avec le partage CORS ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) dans le Guide de l’utilisateur Amazon Simple Storage Service.

![\[Fichier GIF illustrant comment ajouter une stratégie d’en-tête CORS à l’aide de la console Amazon S3.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/sms/gifs/cors-config.gif)


# Attribuer des autorisations IAM pour utiliser Ground Truth
<a name="sms-security-permission"></a>

Consultez les rubriques de cette section pour apprendre à utiliser les politiques gérées et personnalisées Gestion des identités et des accès AWS (IAM) pour gérer l'accès à Ground Truth et aux ressources associées. 

Vous pouvez utiliser les sections de cette page pour apprendre ce qui suit : 
+ Comment créer des politiques IAM qui accordent à un utilisateur ou à un rôle l’autorisation de créer une tâche d’étiquetage. Les administrateurs peuvent utiliser les politiques IAM pour restreindre l'accès à Amazon SageMaker AI et à d'autres AWS services spécifiques à Ground Truth.
+ Comment créer un *rôle d'exécution SageMaker basé sur l'*IA. Un rôle d'exécution est le rôle que vous spécifiez lorsque vous créez une tâche d'étiquetage. Le rôle est utilisé pour démarrer et gérer votre tâche d’étiquetage.

Voici un aperçu des rubriques que vous trouverez sur cette page : 
+ Si vous commencez à utiliser Ground Truth ou si vous n’avez pas besoin d’autorisations détaillées pour votre cas d’utilisation, il est recommandé d’utiliser les stratégies gérées IAM décrites dans [Utiliser les stratégies gérées IAM avec Ground Truth](sms-security-permissions-get-started.md).
+ Pour en savoir plus sur les autorisations requises pour utiliser la console Ground Truth, consultez [Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth](sms-security-permission-console-access.md). Cette section contient des exemples de stratégie qui accordent à une entité IAM l’autorisation de créer et de modifier des équipes de travail privées, de s’abonner à des équipes de travail fournisseur et de créer des flux de travail d’étiquetage personnalisés.
+ Lorsque vous créez une tâche d’étiquetage, vous devez fournir un rôle d’exécution. Utilisez [Créez un rôle d'exécution basé sur l' SageMaker IA pour un job d'étiquetage Ground Truth](sms-security-permission-execution-role.md) pour en savoir plus sur les autorisations requises pour ce rôle.

# Utiliser les stratégies gérées IAM avec Ground Truth
<a name="sms-security-permissions-get-started"></a>

SageMaker AI et Ground Truth fournissent des politiques AWS gérées que vous pouvez utiliser pour créer une tâche d'étiquetage. Si vous commencez à utiliser Ground Truth et que vous n’avez pas besoin d’autorisations détaillées pour votre cas d’utilisation, il est recommandé d’utiliser les stratégies suivantes :
+ `[AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)` : utilisez cette politique pour autoriser un utilisateur ou un rôle à créer une tâche d’étiquetage. Il s'agit d'une politique générale qui accorde à une entité l'autorisation d'utiliser les fonctionnalités de l' SageMaker IA, ainsi que les fonctionnalités des AWS services nécessaires via la console et l'API. Cette politique donne à l’entité l’autorisation de créer une tâche d’étiquetage ainsi que de créer et de gérer des effectifs à l’aide d’Amazon Cognito. Pour en savoir plus, consultez [AmazonSageMakerFullAccess la section Politique](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess).
+ `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` : pour créer un *rôle d’exécution*, vous pouvez attacher la politique `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` à un rôle. Un rôle d’exécution est le rôle que vous spécifiez lorsque vous créez une tâche d’étiquetage et il est utilisé pour démarrer votre tâche d’étiquetage. Cette stratégie vous permet de créer des tâches d’étiquetage en streaming et ponctuelles, et de créer une tâche d’étiquetage à l’aide de n’importe quel type de tâche. Notez les limites suivantes de cette stratégie gérée.
  + **Autorisations Amazon S3** : cette stratégie accorde une autorisation de rôle d’exécution pour accéder aux compartiments Amazon S3 dont le nom contient les chaînes suivantes : `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker` et `sagemaker` ou un compartiment avec une [balise d’objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) qui inclut `SageMaker` dans le nom (insensible à la casse). Assurez-vous que vos noms de compartiment source et de sortie incluent ces chaînes, ou ajoutez des autorisations supplémentaires à votre rôle d’exécution sur [Accorder l’autorisation d’accéder à vos compartiments Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket.html). Vous devez autoriser ce rôle à effectuer les actions suivantes sur vos compartiments Amazon S3 : `AbortMultipartUpload`, `GetObject` et `PutObject`.
  + **Flux de travail personnalisés** : lorsque vous créez un [flux de travail d'étiquetage personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), ce rôle d'exécution est limité à l'appel de AWS Lambda fonctions avec l'une des chaînes suivantes dans le nom de la fonction : `GtRecipe``SageMaker`,, `Sagemaker``sagemaker`, ou`LabelingFunction`. Cela s’applique à la fois aux fonctions Lambdas de pré-annotation et de post-annotation. Si vous choisissez d’utiliser des noms ne comportant pas ces chaînes, vous devez fournir explicitement l’autorisation `lambda:InvokeFunction` au rôle IAM utilisé pour créer la tâche d’étiquetage.

Pour savoir comment associer une politique AWS gérée à un utilisateur ou à un rôle, reportez-vous à la section [Ajout et suppression d'autorisations d'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) dans le guide de l'utilisateur IAM.

# Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth
<a name="sms-security-permission-console-access"></a>

Pour utiliser la zone Ground Truth de la console SageMaker AI, vous devez autoriser une entité à accéder à l' SageMaker IA et aux autres AWS services avec lesquels Ground Truth interagit. Les autorisations requises pour accéder à d'autres AWS services dépendent de votre cas d'utilisation : 
+ Les autorisations Amazon S3 sont requises pour tous les cas d’utilisation. Ces autorisations doivent accorder l’accès aux compartiments Amazon S3 qui contiennent des données d’entrée et de sortie. 
+ AWS Marketplace des autorisations sont requises pour utiliser le personnel d'un fournisseur.
+ L’autorisation Amazon Cognito est requise pour la configuration d’une équipe de travail privée.
+ AWS KMS des autorisations sont requises pour afficher AWS KMS les clés disponibles qui peuvent être utilisées pour le chiffrement des données de sortie.
+ Les autorisations IAM sont requises pour répertorier les rôles d’exécution préexistants ou pour en créer un. En outre, vous devez utiliser l'option Ajouter une `PassRole` autorisation pour permettre à l' SageMaker IA d'utiliser le rôle d'exécution choisi pour démarrer la tâche d'étiquetage.

Les sections suivantes répertorient les politiques que vous pourriez accorder à un rôle pour lui permettre d’utiliser une ou plusieurs fonctions de Ground Truth. 

**Topics**
+ [

## Autorisations de la console Ground Truth
](#sms-security-permissions-console-all)
+ [

## Autorisations de flux de travail d’étiquetage personnalisées
](#sms-security-permissions-custom-workflow)
+ [

## Autorisations de main-d’œuvre privée
](#sms-security-permission-workforce-creation)
+ [

## Autorisations de main-d’œuvre fournisseur
](#sms-security-permissions-workforce-creation-vendor)

## Autorisations de la console Ground Truth
<a name="sms-security-permissions-console-all"></a>

Pour autoriser un utilisateur ou un rôle à utiliser la zone Ground Truth de la console SageMaker AI pour créer une tâche d'étiquetage, associez la politique suivante à l'utilisateur ou au rôle. La stratégie suivante donnera à un rôle IAM l’autorisation de créer une tâche d’étiquetage en utilisant un [type de tâche intégré](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Si vous souhaitez créer un flux de travail d’étiquetage personnalisé, ajoutez la stratégie qui se trouve dans [Autorisations de flux de travail d’étiquetage personnalisées](#sms-security-permissions-custom-workflow) à la stratégie suivante. Chaque `Statement` inclus dans la politique suivante est décrit ci-dessous ce bloc de code.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerApis",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KmsKeysForCreateForms",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AccessAwsMarketplaceSubscriptions",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:CreateSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListAndCreateExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PassRoleForExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "groundtruthlabeling:*",
                "lambda:InvokeFunction",
                "lambda:ListFunctions",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketCors",
                "s3:PutBucketCors",
                "s3:ListAllMyBuckets",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Cette stratégie comprend les déclarations suivantes. Vous pouvez réduire la portée de l’une de ces instructions en ajoutant des ressources spécifiques à la liste de `Resource` pour cette instruction.

`SageMakerApis`

Cette déclaration inclut `sagemaker:*` ce qui permet à l'utilisateur d'effectuer toutes les [actions de l'API SageMaker AI](sagemaker/latest/APIReference/API_Operations.html). Vous pouvez réduire la portée de cette stratégie en empêchant les utilisateurs d’effectuer des actions qui ne sont pas utilisées pour créer et contrôler une tâche d’étiquetage. 

**`KmsKeysForCreateForms`**

Vous ne devez inclure cette déclaration que si vous souhaitez autoriser un utilisateur à répertorier et sélectionner les AWS KMS clés dans la console Ground Truth à utiliser pour le chiffrement des données de sortie. La stratégie ci-dessus accorde à un utilisateur l’autorisation d’afficher et de sélectionner n’importe quelle clé dans le compte dans AWS KMS. Pour limiter le nombre de clés qu'un utilisateur peut répertorier et sélectionner, ARNs spécifiez-les`Resource`.

**`SecretsManager`**

Cette instruction autorise l'utilisateur à décrire, répertorier et créer les ressources AWS Secrets Manager nécessaires à la création de la tâche d'étiquetage.

`ListAndCreateExecutionRoles`

Cette instruction donne à un utilisateur l’autorisation de lister (`ListRoles`) et créer (`CreateRole`) des rôles IAM dans votre compte. Il accorde également à l’utilisateur l’autorisation de créer (`CreatePolicy`) des politiques et d’attacher (`AttachRolePolicy`) des politiques aux entités. Celles-ci sont requises pour lister, sélectionner et, si nécessaire, créer un rôle d’exécution dans la console. 

Si vous avez déjà créé un rôle d'exécution et que vous souhaitez restreindre la portée de cette déclaration afin que les utilisateurs puissent uniquement sélectionner ce rôle dans la console, spécifiez les rôles que vous souhaitez que l'utilisateur soit autorisé à consulter `Resource` et supprimez les actions `CreateRole``CreatePolicy`, et`AttachRolePolicy`. ARNs 

`AccessAwsMarketplaceSubscriptions`

Ces autorisations sont nécessaires pour afficher et choisir les équipes de travail fournisseur auxquelles vous êtes déjà abonné lors de la création d’une tâche d’étiquetage. Pour accorder à l’utilisateur l’autorisation de *s’abonner* aux équipes de travail du fournisseur, ajoutez l’instruction qui se trouve dans [Autorisations de main-d’œuvre fournisseur](#sms-security-permissions-workforce-creation-vendor) à la politique ci-dessus.

`PassRoleForExecutionRoles`

Ceci est nécessaire pour donner au créateur de tâche d’étiquetage l’autorisation d’afficher une prévisualisation de l’interface utilisateur employé et de vérifier que les données d’entrée, les étiquettes et les instructions s’affichent correctement. Cette instruction autorise une entité à transmettre le rôle d'exécution IAM utilisé pour créer la tâche d'étiquetage à SageMaker AI pour qu'elle affiche et prévisualise l'interface utilisateur de travail. Pour restreindre la portée de cette stratégie, ajoutez l’ARN de rôle du rôle d’exécution utilisé pour créer la tâche d’étiquetage sous `Resource`.

**`GroundTruthConsole`**
+ `groundtruthlabeling` : ceci permet à un utilisateur d’effectuer les actions requises pour utiliser certaines fonctionnalités de la console Ground Truth. Ceux-ci incluent les autorisations pour décrire le statut de la tâche d’étiquetage (`DescribeConsoleJob`), lister tous les objets du jeu de données dans le fichier manifeste source (`ListDatasetObjects`), filtrer le jeu de données si l’échantillonnage du jeu de données est sélectionné (`RunFilterOrSampleDatasetJob`), et pour générer des fichiers manifestes source si l’étiquetage automatisé des données est utilisé (`RunGenerateManifestByCrawlingJob`). Ces actions ne sont disponibles que lors de l’utilisation de la console Ground Truth et ne peuvent pas être appelées directement à l’aide d’une API.
+ `lambda:InvokeFunction` et `lambda:ListFunctions` : ces actions donnent aux utilisateurs l’autorisation de lister et d’invoquer les fonctions Lambda utilisées pour exécuter un flux de travail d’étiquetage personnalisé.
+ `s3:*` : toutes les autorisations Amazon S3 incluses dans cette instruction sont utilisées pour afficher les compartiments Amazon S3 en vue d’effectuer la [configuration automatisée des données](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-console-create-manifest-file.html) (`ListAllMyBuckets`), d’accéder aux données d’entrée dans Amazon S3 (`ListBucket`, `GetObject`), de vérifier et de créer une stratégie CORS dans Amazon S3 si nécessaire (`GetBucketCors` et `PutBucketCors`), et d’écrire les fichiers de sortie de travail d’étiquetage dans S3 (`PutObject`).
+ `cognito-idp` : ces autorisations sont utilisées pour créer, afficher et gérer de la mains-d’œuvre privées à l’aide d’Amazon Cognito. Pour en savoir plus sur ces actions, consultez la [Référence des API Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-reference.html).

## Autorisations de flux de travail d’étiquetage personnalisées
<a name="sms-security-permissions-custom-workflow"></a>

Ajoutez l’instruction suivante à une politique similaire à celle de [Autorisations de la console Ground Truth](#sms-security-permissions-console-all) pour donner à un utilisateur l’autorisation de sélectionner des fonctions Lambda préexistantes de pré-annotation et de post-annotation lors de la [création d’un flux de travail d’étiquetage personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html).

```
{
    "Sid": "GroundTruthConsoleCustomWorkflow",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction",
        "lambda:ListFunctions"
    ],
    "Resource": "*"
}
```

Pour savoir comment accorder à une entité l’autorisation de créer et de tester des fonctions Lambda de pré-annotation et de post-annotation, consultez [Autorisations nécessaires à l’utilisation d’AWS Lambda avec Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3-lambda-permissions.html).

## Autorisations de main-d’œuvre privée
<a name="sms-security-permission-workforce-creation"></a>

Lorsqu’elle est ajoutée à une stratégie d’autorisations, l’autorisation suivante accorde l’accès à la création et à la gestion d’une main-d’œuvre et d’une équipe de travail privées utilisant Amazon Cognito. Ces autorisations ne sont pas requises pour utiliser une [main-d’œuvre OIDC IdP](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html#sms-workforce-create-private-oidc-next-steps).

```
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:ListGroups",
        "cognito-idp:ListIdentityProviders",
        "cognito-idp:ListUsers",
        "cognito-idp:ListUsersInGroup",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:ListUserPools",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient"
        ],
    "Resource": "*"
}
```

Pour en savoir plus sur la création d’une main-d’œuvre privée à l’aide d’Amazon Cognito, consultez [Mains-d’œuvre d’Amazon Cognito](sms-workforce-private-use-cognito.md). 

## Autorisations de main-d’œuvre fournisseur
<a name="sms-security-permissions-workforce-creation-vendor"></a>

Vous pouvez ajouter l’instruction suivante à la politique dans [Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth](#sms-security-permission-console-access) pour accorder à une entité l’autorisation de s’abonner à une [main-d’œuvre de fournisseurs](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html).

```
{
    "Sid": "AccessAwsMarketplaceSubscriptions",
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:Subscribe",
        "aws-marketplace:Unsubscribe",
        "aws-marketplace:ViewSubscriptions"
    ],
    "Resource": "*"
}
```

# Créez un rôle d'exécution basé sur l' SageMaker IA pour un job d'étiquetage Ground Truth
<a name="sms-security-permission-execution-role"></a>

Lorsque vous configurez votre tâche d'étiquetage, vous devez fournir un *rôle d'exécution*, rôle que l' SageMaker IA est autorisée à assumer pour démarrer et exécuter votre tâche d'étiquetage.

Ce rôle doit donner à Ground Truth l’autorisation d’accéder aux éléments suivants : 
+ Amazon S3, pour récupérer vos données source et écrire les données de sortie dans un compartiment Amazon S3. Vous pouvez soit accorder à un rôle IAM l’autorisation d’accéder à un compartiment entier en fournissant l’ARN de ce dernier, soit accorder au rôle l’autorisation d’accéder à des ressources spécifiques dans un compartiment. Par exemple, l’ARN d’un compartiment peut ressembler à `arn:aws:s3:::amzn-s3-demo-bucket1` et l’ARN d’une ressource d’un compartiment Amazon S3 peut ressembler à `arn:aws:s3:::amzn-s3-demo-bucket1/prefix/file-name.png`. Pour appliquer une action à toutes les ressources d’un compartiment Amazon S3, vous pouvez utiliser le caractère de remplacement : `*`. Par exemple, `arn:aws:s3:::amzn-s3-demo-bucket1/prefix/*`. Pour plus d’informations, consultez [Ressources Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) dans le Guide de l’utilisateur Amazon Simple Storage Service.
+ CloudWatch pour enregistrer les statistiques des employés et étiqueter les statuts des tâches.
+ AWS KMS pour le chiffrement des données. (Facultatif)
+ AWS Lambda pour traiter les données d'entrée et de sortie lorsque vous créez un flux de travail personnalisé. 

En outre, si vous créez une [Tâche d’étiquetage en streaming](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html), ce rôle doit avoir l’autorisation d’accéder à :
+ Amazon SQS, pour créer une interaction avec une file d’attente SQS utilisée pour [gérer les requêtes d’étiquetage](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-sqs).
+ Amazon SNS, pour vous abonner et récupérer des messages à partir de votre rubrique d’entrée Amazon SNS et pour envoyer des messages à votre rubrique de sortie Amazon SNS.

Toutes ces autorisations peuvent être accordées avec la stratégie gérée `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)`, *sauf* :
+ Chiffrement des données et des volumes de stockage de vos compartiments Amazon S3. Pour savoir comment configurer ces autorisations, consultez [Chiffrez les données de sortie et le volume de stockage avec AWS KMS](sms-security-kms-permissions.md).
+ Autorisation de sélectionner et d’invoquer Lambda des fonctions Lambda qui n’incluent pas `GtRecipe`, `SageMaker`, `Sagemaker`, `sagemaker` ou `LabelingFunction` dans le nom de la fonction.
+ Les compartiments Amazon S3 qui n’incluent pas `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker` et `sagemaker` dans le préfixe ou le nom du compartiment ou une [balise d’objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) qui inclut `SageMaker` dans le nom (insensible à la casse).

Si vous avez besoin d’autorisations plus détaillées que celles fournies dans `AmazonSageMakerGroundTruthExecution`, utilisez les exemples de stratégie suivants pour créer un rôle d’exécution qui correspond à votre cas d’utilisation spécifique.

**Topics**
+ [

## Exigences du rôle d’exécution des types de tâches intégrés (tâches qui ne s’exécutent pas en streaming, ou dites ponctuelles)
](#sms-security-permission-execution-role-built-in-tt)
+ [

## Exigences du rôle d’exécution des types de tâches intégrés (tâches à exécution perpétuelle)
](#sms-security-permission-execution-role-built-in-tt-streaming)
+ [

## Exigences de rôle d’exécution pour les types de tâche personnalisés
](#sms-security-permission-execution-role-custom-tt)
+ [

## Autorisations requises pour l’étiquetage automatique des données
](#sms-security-permission-execution-role-custom-auto-labeling)

## Exigences du rôle d’exécution des types de tâches intégrés (tâches qui ne s’exécutent pas en streaming, ou dites ponctuelles)
<a name="sms-security-permission-execution-role-built-in-tt"></a>

La stratégie suivante accorde l’autorisation de créer une tâche d’étiquetage pour un [type de tâche intégré](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Cette politique d'exécution n'inclut pas les autorisations pour le chiffrement ou le déchiffrement AWS KMS des données. Remplacez chaque ARN rouge en italique par votre propre Amazon S3. ARNs

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ViewBuckets",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>",
                "arn:aws:s3:::<output-bucket-name>"
            ]
        },
        {
            "Sid": "S3GetPutObjects",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>/*",
                "arn:aws:s3:::<output-bucket-name>/*"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exigences du rôle d’exécution des types de tâches intégrés (tâches à exécution perpétuelle)
<a name="sms-security-permission-execution-role-built-in-tt-streaming"></a>

Si vous créez une tâche d’étiquetage en streaming, vous devez ajouter une stratégie similaire à la suivante au rôle d’exécution que vous utilisez pour créer la tâche d’étiquetage. Pour réduire la portée de la politique, remplacez le `*` in par `Resource` des AWS ressources spécifiques auxquelles vous souhaitez autoriser le rôle IAM à accéder et à utiliser.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "StreamingQueue",
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:SendMessage",
                "sqs:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sns:us-east-1:111122223333:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        }
    ]
}
```

------

## Exigences de rôle d’exécution pour les types de tâche personnalisés
<a name="sms-security-permission-execution-role-custom-tt"></a>

Si vous souhaitez créer un [Flux d’étiquetage personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), ajoutez l’instruction suivante à une stratégie de rôle d’exécution comme celles se trouvant dans [Exigences du rôle d’exécution des types de tâches intégrés (tâches qui ne s’exécutent pas en streaming, ou dites ponctuelles)](#sms-security-permission-execution-role-built-in-tt) ou [Exigences du rôle d’exécution des types de tâches intégrés (tâches à exécution perpétuelle)](#sms-security-permission-execution-role-built-in-tt-streaming).

Cette stratégie donne au rôle d’exécution l’autorisation `Invoke` pour vos fonctions Lambda de pré-annotation et de post-annotation.

```
{
    "Sid": "LambdaFunctions",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": [
        "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>",
        "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>"
    ]
}
```

## Autorisations requises pour l’étiquetage automatique des données
<a name="sms-security-permission-execution-role-custom-auto-labeling"></a>

Si vous souhaitez créer une tâche d’étiquetage avec [étiquetage automatisé des données](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html), vous devez 1) ajouter une stratégie à la politique IAM attachée au rôle d’exécution et 2) mettre à jour la stratégie d’approbation du rôle d’exécution. 

L'instruction suivante permet de transmettre le rôle d'exécution IAM à l' SageMaker IA afin qu'il puisse être utilisé pour exécuter les tâches de formation et d'inférence utilisées respectivement pour l'apprentissage actif et l'étiquetage automatique des données. Ajoutez cette instruction à une stratégie de rôle d’exécution comme celles qui se trouvent dans [Exigences du rôle d’exécution des types de tâches intégrés (tâches qui ne s’exécutent pas en streaming, ou dites ponctuelles)](#sms-security-permission-execution-role-built-in-tt) ou [Exigences du rôle d’exécution des types de tâches intégrés (tâches à exécution perpétuelle)](#sms-security-permission-execution-role-built-in-tt-streaming). Remplacez `arn:aws:iam::<account-number>:role/<role-name>` par l’ARN du rôle d’exécution. Vous pouvez trouver l’ARN de votre rôle IAM dans la console IAM, sous **Rôles**. 

```
{
    "Effect": "Allow",
    "Action": [
        "iam:PassRole"
    ],
    "Resource": "arn:aws:iam::<account-number>:role/<execution-role-name>",
    "Condition": {
        "StringEquals": {
            "iam:PassedToService": [
                "sagemaker.amazonaws.com"
            ]
        }
    }
}
```

L'énoncé suivant permet à l' SageMaker IA d'assumer le rôle d'exécution pour créer et gérer les tâches de SageMaker formation et d'inférence. Cette stratégie doit être ajoutée à la relation d’approbation du rôle d’exécution. Pour savoir comment ajouter ou modifier une stratégie d’approbation de rôle IAM, consultez [Modification d’un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le Guide de l’utilisateur IAM.

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

****  

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

------



# Chiffrez les données de sortie et le volume de stockage avec AWS KMS
<a name="sms-security-kms-permissions"></a>

Vous pouvez utiliser AWS Key Management Service (AWS KMS) pour chiffrer les données de sortie d'une tâche d'étiquetage en spécifiant une [clé gérée par le client](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) lorsque vous créez la tâche d'étiquetage. Si vous utilisez l’opération d’API `CreateLabelingJob` pour créer une tâche d’étiquetage qui utilise l’étiquetage automatisé des données, vous pouvez également utiliser une clé gérée par le client pour chiffrer le volume de stockage attaché aux instances de calcul ML pour exécuter les tâches d’entraînement et d’inférence.

Cette section décrit les politiques IAM que vous devez attacher à votre clé gérée par le client pour activer le chiffrement des données de sortie et les politiques que vous devez attacher à votre clé gérée par le client et à votre rôle d’exécution pour utiliser le chiffrement du volume de stockage. Pour en savoir plus sur ces options, consultez [Chiffrement des données et des volumes de stockage](sms-security.md).

## Chiffrer les données de sortie à l’aide de KMS
<a name="sms-security-kms-permissions-output-data"></a>

Si vous spécifiez une clé gérée par le AWS KMS client pour chiffrer les données de sortie, vous devez ajouter à cette clé une politique IAM similaire à la suivante. Cette stratégie donne au rôle d’exécution IAM que vous utilisez pour créer votre tâche d’étiquetage l’autorisation d’utiliser cette clé pour effectuer toutes les actions listées dans `"Action"`. Pour en savoir plus sur ces actions, consultez [AWS KMS les autorisations](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) dans le guide du AWS Key Management Service développeur.

Pour utiliser cette stratégie, remplacez l’ARN du rôle de service IAM dans `"Principal"` par l’ARN du rôle d’exécution utilisé pour créer la tâche d’étiquetage. Lorsque vous créez une tâche d’étiquetage dans la console, c’est le rôle que vous spécifiez pour **Rôle IAM** sous la section **Présentation de la tâche**. Lorsque vous créez une tâche d’étiquetage à l’aide `CreateLabelingJob`, c’est l’ARN que vous spécifiez pour [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn).

```
{
    "Sid": "AllowUseOfKmsKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/service-role/example-role"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*"
}
```

## Chiffrer le volume de stockage d’instance de calcul ML de l’étiquetage automatisé des données
<a name="sms-security-kms-permissions-storage-volume"></a>

Si vous spécifiez un [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId) pour chiffrer le volume de stockage attaché à l’instance de calcul ML utilisée pour l’entraînement et l’inférence d’étiquetage automatisé des données, vous devez effectuer les opérations suivantes :
+ Attachez les autorisations décrites dans [Chiffrer les données de sortie à l’aide de KMS](#sms-security-kms-permissions-output-data) à la clé gérée par le client.
+ Attacher une stratégie semblable à la suivante au rôle d’exécution IAM que vous utilisez pour créer votre tâche d’étiquetage. Il s’agit du rôle IAM que vous spécifiez pour [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn) dans `CreateLabelingJob`. Pour en savoir plus sur les `"kms:CreateGrant"` actions autorisées par cette politique, consultez [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)la référence des AWS Key Management Service API.

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

****  

```
{
"Version":"2012-10-17",		 	 	  
"Statement": 
 [  
   {
    "Effect": "Allow",
    "Action": [
       "kms:CreateGrant"
    ],
    "Resource": "*"
  }
]
}
```

------

Pour en savoir plus sur le chiffrement des volumes de stockage Ground Truth, veuillez consulter [Utiliser votre clé KMS pour chiffrer le volume de stockage d’étiquetage automatisé des données (API uniquement)](sms-security.md#sms-security-kms-storage-volume).

# Utilisation d'Amazon SageMaker Ground Truth dans un Amazon Virtual Private Cloud
<a name="sms-vpc"></a>

 Avec [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC), vous pouvez lancer AWS des ressources dans un réseau virtuel isolé de manière logique que vous définissez. Ground Truth prend en charge l’exécution des tâches d’étiquetage au sein d’un VPC Amazon au lieu de vous connecter via Internet. Lorsque vous lancez une tâche d'étiquetage dans un Amazon VPC, la communication entre votre VPC et Ground Truth s'effectue entièrement et en toute sécurité au sein du réseau. AWS 

Ce guide décrit les différentes méthodes d’utilisation de Ground Truth dans un VPC Amazon :

1. [Exécutez une tâche d'étiquetage Amazon SageMaker Ground Truth dans un Amazon Virtual Private Cloud](samurai-vpc-labeling-job.md)

1. [Utilisation du mode Amazon VPC à partir d'un portail d'employés privé](samurai-vpc-worker-portal.md)

# Exécutez une tâche d'étiquetage Amazon SageMaker Ground Truth dans un Amazon Virtual Private Cloud
<a name="samurai-vpc-labeling-job"></a>

Ground Truth prend en charge les fonctionnalités suivantes dans Amazon VPC.
+ Vous pouvez utiliser les politiques relatives aux compartiments Amazon S3 pour contrôler l'accès aux compartiments à partir de points de terminaison Amazon VPC spécifiques ou spécifiques. VPCs Si vous lancez une tâche d’étiquetage et que vos données d’entrée se trouvent dans un compartiment Amazon S3 qui est limité aux utilisateurs de votre VPC, vous pouvez ajouter une stratégie de compartiment afin d’accorder également à un point de terminaison Ground Truth l’autorisation d’accéder au compartiment. Pour en savoir plus, veuillez consulter la section [Autoriser Ground Truth à accéder aux compartiments Amazon S3 restreints par VPC](#sms-vpc-permissions-s3).
+ Vous pouvez lancer une [tâche d’étiquetage automatisé des données](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) dans votre VPC. Vous utilisez une configuration VPC pour spécifier les sous-réseaux et les groupes de sécurité VPC. SageMaker L'IA utilise cette configuration pour lancer les tâches d'entraînement et d'inférence utilisées pour l'étiquetage automatique des données dans votre VPC. Pour en savoir plus, veuillez consulter la section [Création d’une tâche d’étiquetage automatisé des données dans un VPC](#sms-vpc-permissions-automated-labeling).

Vous pouvez utiliser ces options de l’une des façons suivantes.
+ Vous pouvez utiliser ces deux méthodes pour lancer une tâche d’étiquetage à l’aide d’un compartiment Amazon S3 protégé par VPC en ayant activé l’étiquetage automatisé des données.
+ Vous pouvez lancer une tâche d’étiquetage en utilisant n’importe quel [type de tâche intégrée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) à l’aide d’un compartiment protégé par VPC.
+ Vous pouvez lancer un [flux de travail d’étiquetage personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html) à l’aide d’un compartiment protégé par VPC. Ground Truth interagit avec vos fonctions Lambda de pré-annotation et de post-annotation à l’aide d’un point de terminaison [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html).

Nous vous recommandons de consulter [Prérequis pour l’exécution d’une tâche d’étiquetage Ground Truth dans un VPC](#sms-vpc-gt-prereq) avant de créer une tâche d’étiquetage dans un Amazon VPC.

## Prérequis pour l’exécution d’une tâche d’étiquetage Ground Truth dans un VPC
<a name="sms-vpc-gt-prereq"></a>

Passez en revue les conditions préalables suivantes avant de créer une tâche d’étiquetage Ground Truth dans un Amazon VPC. 
+ Si vous êtes un nouvel utilisateur de Ground Truth, consultez [Mise en route](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-getting-started.html) pour apprendre à créer une tâche d’étiquetage.
+ Si vos données d’entrée se trouvent dans un compartiment Amazon S3 protégé par VPC, vos employés doivent accéder au portail des employés depuis votre VPC. Les tâches d’étiquetage basées sur un VPC nécessitent le recours à une équipe de travail privée. Pour plus d’informations sur la création d’une équipe de travail privée, consultez [Utilisation d’une main-d’œuvre privée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html).
+ Les conditions préalables suivantes sont spécifiques au lancement d’une tâche d’étiquetage dans votre VPC.
  + Utilisez les instructions de la rubrique [Création d’un point de terminaison d’un VPC Amazon S3](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3). Les conteneurs d’entraînement et d’inférence utilisés dans le flux de travail d’étiquetage automatisé des données utilisent ce point de terminaison pour communiquer avec vos compartiments dans Amazon S3.
  + Pour en savoir plus sur cette fonctionnalité, consultez [Automatiser l’étiquetage des données](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html). Notez que l’étiquetage automatisé des données est pris en charge pour les [types de tâches intégrés](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) suivants : [Classification des images (étiquette unique)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-image-classification.html), [Segmentation sémantique des images](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-semantic-segmentation.html), [Cadre de délimitation](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-bounding-box.html) et [Classification de texte (étiquette unique)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-text-classification.html). Les tâches d’étiquetage en streaming ne prennent pas en charge l’étiquetage automatisé des données.
+ Passez en revue la section [Sécurité et autorisations Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-general.html) et assurez-vous de satisfaire aux conditions suivantes.
  + L’utilisateur qui crée la tâche d’étiquetage dispose de toutes les autorisations nécessaires.
  + Vous avez créé un rôle d’exécution IAM avec les autorisations requises. Si vous n’avez pas besoin d’autorisations précises pour votre cas d’utilisation, nous vous recommandons d’utiliser les politiques gérées IAM décrites à la rubrique [Accorder des autorisations générales pour commencer à utiliser Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-permission.html#sms-security-permissions-get-started).
  + Autorisez votre VPC à avoir accès aux compartiments S3 `sagemaker-labeling-data-region` et `sm-bxcb-region-saved-task-states`. Il s’agit de compartiments S3 régionalisés appartenant au système qui sont accessibles depuis le portail des employés quand l’employé travaille à une tâche. Nous utilisons ces compartiments pour interagir avec les données gérées par le système.

## Autoriser Ground Truth à accéder aux compartiments Amazon S3 restreints par VPC
<a name="sms-vpc-permissions-s3"></a>

Les sections suivantes fournissent des détails sur les autorisations requises par Ground Truth pour lancer des tâches d’étiquetage à l’aide de compartiments Amazon S3 dont l’accès est limité à votre VPC et à vos points de terminaison de VPC. Pour découvrir comment limiter l’accès d’un compartiment Amazon S3 à un VPC, consultez [Contrôle de l’accès à partir des points de terminaison d’un VPC avec des politiques de compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) dans le Guide de l’utilisateur Amazon Simple Storage Service. Pour savoir comment ajouter une stratégie à un compartiment S3, consultez [Ajout d’une stratégie de compartiment à l’aide de la console Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

**Note**  
La modification de politiques sur des compartiments existants peut entraîner l’échec des tâches Ground Truth `IN_PROGRESS`. Nous vous recommandons de démarrer les nouvelles tâches à l’aide d’un nouveau compartiment. Si vous souhaitez continuer à utiliser le même compartiment, vous pouvez :  
attendre qu’une tâche `IN_PROGRESS` se termine ou
terminer la tâche à l’aide de la console ou de l’interface AWS CLI.

Vous pouvez restreindre l’accès d’un compartiment Amazon S3 aux utilisateurs de votre VPC à l’aide d’un point de terminaison [AWS PrivateLink](https://aws.amazon.com/privatelink/). Par exemple, la stratégie de compartiment S3 suivante autorise l’accès à un compartiment spécifique, `<bucket-name>`, depuis `<vpc>` et le point de terminaison `<vpc-endpoint>` uniquement. Lorsque vous modifiez cette politique, vous devez tout remplacer *red-italized text* par vos ressources et spécifications.

**Note**  
La politique suivante *refuse* toutes les entités *autres que* les utilisateurs d’un VPC pour effectuer les actions répertoriées dans `Action`. Si vous n’incluez pas d’actions dans cette liste, elles restent accessibles à toutes les entités qui ont accès à ce compartiment et qui ont l’autorisation d’effectuer ces actions. Par exemple, si un utilisateur est autorisé à effectuer l’action `GetBucketLocation` sur votre compartiment Amazon S3, la politique ci-dessous n’empêche pas l’utilisateur d’effectuer cette action en dehors de votre VPC.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1415115909152",
    "Statement": [
        {
            "Sid": "AccessToSpecificVPCEOnly",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678901234567"
                    ]
                }
            }
        }
    ]
}
```

------

Ground Truth doit être en mesure d’effectuer les actions Amazon S3 suivantes sur les compartiments S3 que vous utilisez pour configurer la tâche d’étiquetage.

```
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketLocation"
```

Pour ce faire, vous pouvez ajouter un point de terminaison Ground Truth à la politique de compartiment comme celle mentionnée précédemment. Le tableau suivant indique les points de terminaison du service Ground Truth pour chaque AWS région. Ajoutez un point de terminaison dans la même [région AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) que celle que vous utilisez pour exécuter votre tâche d’étiquetage sur votre stratégie de compartiment.


****  

| AWS Région | Point de terminaison Ground Truth | 
| --- | --- | 
| us-east-2 | vpce-02569ba1c40aad0bc | 
| us-east-1 | vpce-08408e335ebf95b40 | 
| us-west-2 | vpce-0ea07aa498eb78469 | 
| ca-central-1 | vpce-0d46ea4c9ff55e1b7 | 
| eu-central-1 | vpce-0865e7194a099183d | 
| eu-west-2 | vpce-0bccd56798f4c5df0 | 
| eu-west-1 | vpce-0788e7ed8628e595d | 
| ap-south-1 | vpce-0d7fcda14e1783f11 | 
| ap-southeast-2 | vpce-0b7609e6f305a77d4 | 
| ap-southeast-1 | vpce-0e7e67b32e9efed27 | 
| ap-northeast-2 | vpce-007893f89e05f2bbf | 
| ap-northeast-1 | vpce-0247996a1a1807dbd | 

Par exemple, la politique suivante restreint les actions `GetObject` et `PutObject` sur :
+ un compartiment Amazon S3 aux utilisateurs d’un VPC (`<vpc>`)
+ un point de terminaison de VPC (`<vpc-endpoint>`)
+ un point de terminaison de service Ground Truth (`<ground-truth-endpoint>`)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ],
            "Condition": {
              "StringNotEquals": {
                "aws:SourceVpc": "vpc-12345678",
                "aws:sourceVpce": [
                  "vpce-12345678",
                  "vpce-12345678"
                ] 
             }
           }
        }
    ]
}
```

------

Si vous souhaitez qu’un utilisateur soit autorisé à lancer une tâche d’étiquetage à l’aide de la console Ground Truth, vous devez également ajouter l’ARN de l’utilisateur à la stratégie de compartiment à l’aide de la condition `aws:PrincipalArn`. Cet utilisateur doit également être autorisé à effectuer les actions Amazon S3 suivantes sur le compartiment que vous utilisez pour lancer la tâche d’étiquetage.

```
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketCors",
"s3:PutBucketCors",
"s3:ListAllMyBuckets",
```

Le code suivant est un exemple de stratégie de compartiment qui limite l’autorisation d’effectuer les actions répertoriées dans `Action` sur le compartiment S3 `<bucket-name>` aux :
+ *<role-name>*
+ points de terminaison de VPC répertoriés dans `aws:sourceVpce`
+ Les utilisateurs du VPC nommés *<vpc>*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name/*",
                "arn:aws:s3:::bucket-name"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpc": "vpc-12345678",
                    "aws:PrincipalArn": "arn:aws:iam::111122223333:role/role-name"
                },
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

**Note**  
Les points de terminaison de l'interface Amazon VPC et les compartiments Amazon S3 protégés que vous utilisez pour les données d'entrée et de sortie doivent être situés dans la même AWS région que celle que vous avez utilisée pour créer la tâche d'étiquetage.

Une fois que vous avez accordé l’autorisation Ground Truth d’accéder à vos compartiments Amazon S3, vous pouvez utiliser l’une des rubriques de la section [Création d’une tâche d’étiquetage](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job.html) pour lancer une tâche d’étiquetage. Spécifiez les compartiments Amazon S3 restreints au VPC pour vos compartiments de données d’entrée et de sortie.

## Création d’une tâche d’étiquetage automatisé des données dans un VPC
<a name="sms-vpc-permissions-automated-labeling"></a>

Pour créer une tâche d’étiquetage automatisé des données à l’aide d’un VPC Amazon, fournissez une configuration de VPC à l’aide de la console Ground Truth ou de l’opération d’API `CreateLabelingJob`. SageMaker L'IA utilise les sous-réseaux et les groupes de sécurité que vous fournissez pour lancer les tâches de formation et d'inférence utilisées pour l'étiquetage automatique. 

**Important**  
Avant de lancer une tâche d’étiquetage automatisé des données avec une configuration de VPC, assurez-vous d’avoir créé un point de terminaison de VPC Amazon S3 à l’aide du VPC que vous souhaitez utiliser pour la tâche d’étiquetage. Pour savoir comment procéder, consultez [Créer un point de terminaison de VPC Amazon S3](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3).  
En outre, si vous créez une tâche d’étiquetage automatisé des données à l’aide d’un compartiment Amazon S3 restreint au VPC, vous devez suivre les instructions figurant dans [Autoriser Ground Truth à accéder aux compartiments Amazon S3 restreints par VPC](#sms-vpc-permissions-s3) pour autoriser Ground Truth à accéder au compartiment.

Procédez comme suit pour savoir comment ajouter une configuration de VPC à votre demande de tâche d’étiquetage.

**Ajouter une configuration de VPC à une tâche d’étiquetage automatisé des données (console) :**

1. Suivez les instructions de la rubrique [Création d’une tâche d’étiquetage (console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html) et terminez chaque étape de la procédure, jusqu’à l’étape 15.

1. Dans la section **Employés**, cochez la case en regard de **Activer l’étiquetage automatisé des données**.

1. Agrandissez la section **VPC configuration** (Configuration de VPC) de la console en sélectionnant la flèche.

1. Spécifiez le **cloud privé virtuel (VPC)** que vous souhaitez utiliser pour votre tâche d’étiquetage automatisé des données.

1. Choisissez la liste déroulante sous **Subnets** (Sous-réseaux) et sélectionnez un ou plusieurs sous-réseaux.

1. Choisissez la liste déroulante sous **Security groups** (Groupes de sécurité) et sélectionnez un ou plusieurs groupes.

1. Terminez toutes les étapes restantes de la procédure de [Création d’une tâche d’étiquetage (console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html).

**Ajouter une configuration de VPC à une tâche d’étiquetage automatisé des données (API) :**  
Pour configurer une tâche d’étiquetage à l’aide de l’opération d’API Ground Truth, `CreateLabelingJob`, suivez les instructions figurant dans [Créer une tâche d’étiquetage automatisé des données (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html#sms-create-automated-labeling-api) pour configurer votre demande. Outre les paramètres décrits dans la présente documentation, vous devez inclure un paramètre `VpcConfig` dans `LabelingJobResourceConfig` pour spécifier un ou plusieurs sous-réseaux et groupes de sécurité à l’aide du schéma suivant.

```
"LabelingJobAlgorithmsConfig": { 
      "InitialActiveLearningModelArn": "string",
      "LabelingJobAlgorithmSpecificationArn": "string",
      "LabelingJobResourceConfig": { 
         "VolumeKmsKeyId": "string",
         "VpcConfig": { 
            "SecurityGroupIds": [ "string" ],
            "Subnets": [ "string" ]
         }
      }
}
```

Voici un exemple de [demande AWS kit SDK Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) de création d’une tâche d’étiquetage automatisé des données dans la région USA Est (Virginie du Nord) à l’aide d’une main-d’œuvre privée. Remplacez le tout *red-italicized text* par les ressources et les spécifications de votre travail d'étiquetage. Pour en savoir plus sur l'`CreateLabelingJob`opération, consultez le didacticiel [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html) et la documentation de [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)l'API.

```
import boto3
client = boto3.client(service_name='sagemaker')

response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    },
    "LabelingJobAlgorithmsConfig": {
      "LabelingJobAlgorithmSpecificationArn": "arn:aws:sagemaker:us-east-1:027400017018:labeling-job-algorithm-specification/tasktype",
      "LabelingJobResourceConfig": { 
         "VpcConfig": { 
            "SecurityGroupIds": [ "sg-01233456789", "sg-987654321" ],
            "Subnets": [ "subnet-e0123456", "subnet-e7891011" ]
         }
      }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Add task title here",
        'TaskDescription': "Add description of task here for workers",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

# Utilisation du mode Amazon VPC à partir d'un portail d'employés privé
<a name="samurai-vpc-worker-portal"></a>

Pour restreindre l'accès au portail des employés aux étiqueteurs travaillant à l'intérieur de votre Amazon VPC, vous pouvez ajouter une configuration de VPC lorsque vous créez une main-d'œuvre privée Ground Truth. Vous pouvez également ajouter une configuration de VPC à une main-d'œuvre privée existante. Ground Truth crée automatiquement des points de terminaison d'interface VPC dans votre VPC et configure AWS PrivateLink entre le point de terminaison de votre VPC et les services Ground Truth. L'URL du portail des employés associée à la main-d'œuvre est accessible depuis votre VPC. L'URL du portail des employés est également accessible à partir de l'Internet public tant que vous ne définissez pas la restriction sur l'Internet public. Lorsque vous supprimez la main-d'œuvre ou retirez la configuration de VPC de votre main-d'œuvre, Ground Truth supprime automatiquement les points de terminaison de VPC associés à la main-d'œuvre.

**Note**  
Un seul VPC peut être pris en charge par une main-d'œuvre.

Les tâches de [nuage de points](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html) et [vidéo](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video.html) ne prennent pas en charge le chargement via un VPC.

Le guide décrit l'exécution des étapes nécessaires pour ajouter et supprimer une configuration Amazon VPC de votre main-d'œuvre et pour satisfaire aux prérequis.

## Prérequis
<a name="samurai-vpc-getting-started-prerequisites"></a>

Pour exécuter une tâche d'étiquetage Ground Truth dans Amazon VPC, passez en revue les conditions préalables suivantes.
+ Vous disposez d'un Amazon VPC configuré que vous pouvez utiliser. Si vous n'avez pas configuré de VPC, suivez ces instructions pour [créer un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets).
+ En fonction de la façon dont un [modèle de tâche d'employé](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html) est écrit, les données d'étiquetage stockées dans un compartiment Amazon S3 sont accessibles directement depuis Amazon S3 pendant les tâches d'étiquetage. Dans ce cas, le réseau VPC doit être configuré pour autoriser le trafic entre le périphérique utilisé par l'étiqueteur humain et le compartiment S3 contenant les données d'étiquetage.
+ Pour activer les noms d'hôte DNS et la résolution DNS pour votre VPC, suivez la procédure [Afficher et mettre à jour les attributs DNS pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating).

**Note**  
Il existe deux méthodes pour configurer votre VPC pour votre main-d'œuvre. Vous pouvez le faire via la [console](https://console.aws.amazon.com/sagemaker) ou l' AWS SageMaker AI [CLI](https://aws.amazon.com/cli/).

# Utilisation de la console SageMaker AI pour gérer une configuration VPC
<a name="samurai-vpc-workforce-console"></a>

Vous pouvez utiliser la [console SageMaker AI](https://console.aws.amazon.com/sagemaker) pour ajouter ou supprimer une configuration VPC. Vous pouvez également supprimer une main-d'œuvre existante.

## Ajout d'une configuration de VPC à votre main-d'œuvre
<a name="samurai-add-vpc-workforce"></a>

### Créer une main-d'œuvre privée
<a name="samurai-vpc-create-workforce"></a>
+ [Créer une main-d'œuvre privée à l'aide d'Amazon Cognito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-cognito.html)
+ [Créez une main-d'œuvre privée à l'aide du fournisseur d'identité (IdP) OpenID Connect (OIDC)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-oidc.html).

Une fois que vous avez créé votre main-d'œuvre privée, ajoutez-y une configuration de VPC.

1. Accédez à [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) sur votre console.

1. Sélectionnez **Labeling workforces** (Mains-d'œuvre d'étiquetage) dans le panneau de gauche.

1. Sélectionnez **Private** (Privée) pour accéder à votre main-d'œuvre privée. Une fois que **Workforce status** (Statut de la main-d'œuvre) est défini sur **Active** (Actif), sélectionnez **Add** (Ajouter) en regard de **VPC**.

1. Lorsque vous êtes invité à configurer votre VPC, indiquez les éléments suivants :

   1. Votre **VPC**

   1. **Sous-réseaux**

      1. Assurez-vous que votre VPC possède un sous-réseau existant.

   1. **Groupes de sécurité**

      1. 
**Note**  
Vous ne pouvez pas sélectionner plus de 5 groupes de sécurité.

   1. Après avoir renseigné ces informations, choisissez **Confirm** (Confirmer).

1. Après avoir choisi **Confirm** (Confirmer), vous êtes redirigé vers la page **Private** (Privé) sous **Labeling workforces** (Mains-d'œuvre d'étiquetage). En haut de la page, vous devriez voir une bannière verte indiquant : **Your private workforce update with VPC configuration was successfully initialized** (La mise à jour de votre main-d'œuvre privée avec la configuration de VPC a été initialisée avec succès). Le statut de la main-d'œuvre est **Updating** (Mise à jour en cours). En regard du bouton **Delete workforce** (Supprimer la main-d'œuvre) figure le bouton **Refresh** (Actualiser), qui permet de récupérer les dernières informations **Workforce status** (Statut de la main-d'œuvre). Une fois que le statut de la main-d'œuvre est passé à **Active** (Actif), l'ID du point de terminaison de VPC est également mis à jour.

## Retrait d'une configuration de VPC de votre main-d'œuvre
<a name="samurai-remove-vpc-workforce"></a>

Utilisez les informations suivantes pour retirer une configuration de VPC de votre main-d'œuvre à l'aide de la console.

1. Accédez à [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) sur votre console.

1. Sélectionnez **Labeling workforces** (Mains-d'œuvre d'étiquetage) dans le panneau de gauche.

1. Recherchez et sélectionnez votre main-d'œuvre.

1. Sous **Private workforce summary** (Récapitulatif de la main-d'œuvre privée), recherchez **VPC** et choisissez **Remove** (Supprimer) en regard.

1. Sélectionnez **Remove** (Retirer).

## Mise à jour d'une main-d'œuvre via la console
<a name="samurai-delete-vpc-workforce"></a>

Si vous supprimez une main-d'œuvre, aucune équipe ne doit lui être associée. Vous pouvez supprimer une main-d'œuvre uniquement si son statut est **Active** (Actif) ou **Failed** (Échec).

Utilisez les informations suivantes pour supprimer une main-d'œuvre à l'aide de la console.

1. Accédez à [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) sur votre console.

1. Sélectionnez **Labeling workforces** (Mains-d'œuvre d'étiquetage) dans le panneau de gauche.

1. Recherchez et sélectionnez votre main-d'œuvre.

1. Choisissez **Delete workforce** (Supprimer la main-d'œuvre).

1. Sélectionnez **Delete** (Supprimer).

# Utilisation de l' AWS API SageMaker AI pour gérer une configuration VPC
<a name="samurai-vpc-workforce-cli"></a>

Utilisez les sections suivantes pour en savoir plus sur la gestion d'une VPCs configuration, tout en maintenant le bon niveau d'accès pour l'équipe de travail.

## Créer une main-d'œuvre avec une configuration de VPC
<a name="samurai-create-vpc-cli"></a>

Si le compte dispose déjà d'une main-d'œuvre, vous devez commencer par la supprimer. Vous pouvez également mettre à jour la main-d'œuvre avec la configuration de VPC.

```
aws sagemaker create-workforce --cognito-config '{"ClientId": "app-client-id","UserPool": "Pool_ID",}' --workforce-vpc-config \       
" {\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}" --workforce-name workforce-name
{
    "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name"
}
```

Décrivez la main-d'œuvre et assurez-vous que son statut est `Initializing`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Initializing"
    }
}
```

Accédez à la console Amazon VPC. Sélectionnez **Endpoints** (Points de terminaison) dans le panneau de gauche. Deux points de terminaison de VPC doivent avoir été créés dans votre compte.

## Ajout d'une configuration de VPC à votre main-d'œuvre
<a name="samurai-add-vpc-cli"></a>

Mettez à jour une main-d'œuvre privée non-VPC avec une configuration de VPC à l'aide de la commande suivante.

```
aws sagemaker update-workforce --workforce-name workforce-name\
--workforce-vpc-config "{\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}"
```

Décrivez la main-d'œuvre et assurez-vous que son statut est `Updating`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Updating"
    }
}
```

Accédez à votre console Amazon VPC. Sélectionnez **Endpoints** (Points de terminaison) dans le panneau de gauche. Deux points de terminaison de VPC doivent avoir été créés dans votre compte.

## Retrait d'une configuration de VPC de votre main-d'œuvre
<a name="samurai-remove-vpc-cli"></a>

Mettez à jour une main-d'œuvre privée de VPC avec une configuration de VPC vide pour retirer les ressources du VPC.

```
aws sagemaker update-workforce --workforce-name workforce-name\ 
--workforce-vpc-config "{}"
```

Décrivez la main-d'œuvre et assurez-vous que son statut est `Updating`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "Status": "Updating"
    }
}
```

Accédez à votre console Amazon VPC. Sélectionnez **Endpoints** (Points de terminaison) dans le panneau de gauche. Les deux points de terminaison de VPC doivent être supprimés.

## Restreindre l'accès public au portail des employés tout en maintenant l'accès via un VPC
<a name="public-access-vpc"></a>

 Les employés d'un portail d'employés VPC ou non-VPC peuvent voir les tâches d'étiquetage qui leur sont affectées. L'affectation est rattachée à l'affectation d'employés dans une équipe de travail par l'intermédiaire de groupes OIDC. Il est de la responsabilité du client de restreindre l'accès à son portail d'employés public en définissant `sourceIpConfig` dans sa main-d'œuvre. 

**Note**  
Vous pouvez restreindre l'accès au portail des travailleurs uniquement via l' SageMaker API. Vous ne pouvez pas le faire via la console.

Utilisez la commande suivante pour restreindre l'accès public au portail des employés.

```
aws sagemaker update-workforce --region us-west-2 \
--workforce-name workforce-demo --source-ip-config '{"Cidrs":["10.0.0.0/16"]}'
```

Une fois que `sourceIpConfig` est défini sur la main-d'œuvre, les employés peuvent accéder au portail des employés dans le VPC, mais pas via l'Internet public.

**Note**  
Vous ne pouvez pas définir la restriction `sourceIP` pour le portail des employés dans le VPC.

# Chiffrement des données et des volumes de stockage
<a name="sms-security"></a>

Avec Amazon SageMaker Ground Truth, vous pouvez étiqueter les données très sensibles, garder le contrôle de vos données et appliquer les meilleures pratiques en matière de sécurité. Pendant que votre tâche d’étiquetage est en cours d’exécution, Ground Truth chiffre les données en transit et au repos. En outre, vous pouvez utiliser AWS Key Management Service (AWS KMS) avec Ground Truth pour effectuer les opérations suivantes :
+ Utilisez une [clé gérée par le client](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) pour chiffrer vos données de sortie. 
+ Utilisez une clé gérée par le AWS KMS client dans le cadre de votre tâche d'étiquetage automatique des données pour chiffrer le volume de stockage attaché à l'instance de calcul utilisée pour l'apprentissage et l'inférence des modèles. 

Utilisez les rubriques de cette page pour en savoir plus sur les fonctionnalités de sécurité de Ground Truth.

## Utiliser votre clé KMS pour chiffrer les données de sortie
<a name="sms-security-kms-output-data"></a>

Vous pouvez éventuellement fournir une clé gérée par le AWS KMS client lorsque vous créez une tâche d'étiquetage, que Ground Truth utilise pour chiffrer vos données de sortie. 

Si vous ne fournissez pas de clé gérée par le client, Amazon SageMaker AI utilise la clé par défaut Clé gérée par AWS d'Amazon S3 pour le compte de votre rôle afin de chiffrer vos données de sortie.

Si vous fournissez une clé gérée par le client, vous devez ajouter les autorisations requises à la clé décrites dans [Chiffrez les données de sortie et le volume de stockage avec AWS KMS](sms-security-kms-permissions.md). Lorsque vous utilisez l’opération d’API `CreateLabelingJob`, vous pouvez spécifier l’ID de votre clé gérée par le client à l’aide du paramètre `[KmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobOutputConfig.html#sagemaker-Type-LabelingJobOutputConfig-KmsKeyId)`. Consultez la procédure suivante pour savoir comment ajouter une clé gérée par le client lorsque vous créez une tâche d’étiquetage à l’aide de la console.

**Pour ajouter une AWS KMS clé permettant de chiffrer les données de sortie (console) :**

1. Effectuez les 7 premières étapes dans [Création d’une tâche d’étiquetage (Console)](sms-create-labeling-job-console.md).

1. À l’étape 8, sélectionnez la flèche en regard de **Additional configuration (Configuration supplémentaire)** pour développer cette section.

1. Pour **Clé de chiffrement**, sélectionnez la AWS KMS clé que vous souhaitez utiliser pour chiffrer les données de sortie.

1. Suivez le reste des étapes dans [Création d’une tâche d’étiquetage (Console)](sms-create-labeling-job-console.md) pour créer une tâche d’étiquetage.

## Utiliser votre clé KMS pour chiffrer le volume de stockage d’étiquetage automatisé des données (API uniquement)
<a name="sms-security-kms-storage-volume"></a>

Lorsque vous créez une tâche d’étiquetage avec étiquetage automatisé des données à l’aide de l’opération d’API `CreateLabelingJob`, vous avez la possibilité de chiffrer le volume de stockage attaché aux instances de calcul ML qui exécutent les tâches d’entraînement et d’inférence. Pour chiffrer votre volume de stockage, utilisez le paramètre `VolumeKmsKeyId` pour saisir une clé gérée par AWS KMS le client. Pour plus d’informations sur ce paramètre, consultez `[LabelingJobResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId)`.

Si vous spécifiez un ID de clé ou un ARN pour`VolumeKmsKeyId`, votre rôle d'exécution d' SageMaker IA doit inclure les autorisations d'appel`kms:CreateGrant`. Pour savoir comment ajouter cette autorisation à un rôle d’exécution, consultez [Créez un rôle d'exécution basé sur l' SageMaker IA pour un job d'étiquetage Ground Truth](sms-security-permission-execution-role.md).

**Note**  
Si vous spécifiez une clé gérée par le AWS KMS client lorsque vous créez une tâche d'étiquetage dans la console, cette clé est *uniquement* utilisée pour chiffrer vos données de sortie. Elle n’est pas utilisée pour chiffrer le volume de stockage attaché aux instances de calcul ML utilisées pour l’étiquetage automatisé des données.

# Authentification et restrictions du personnel
<a name="sms-security-workforce-authentication"></a>

Ground Truth vous permet d’utiliser votre propre main-d’œuvre privée pour travailler sur l’étiquetage des tâches. Une *main-d’œuvre privée* est un concept abstrait qui fait référence à un ensemble de personnes qui travaillent pour vous. Chaque tâche d’étiquetage est créée à l’aide d’une équipe de travail composée d’employés de votre personnel. Ground Truth prend charge la création de main-d’œuvre privée avec Amazon Cognito. 

Une main-d’œuvre Ground Truth est mappée à un groupe d’utilisateurs Amazon Cognito. Une équipe de travail Ground Truth est mappée à un groupe d’utilisateurs Amazon Cognito. Amazon Cognito gère l’authentification de l’employé. Amazon Cognito prend en charge la connexion Open ID (OIDC) et les clients peuvent configurer la fédération Amazon Cognito avec leur propre fournisseur d’identité (IdP). 

Ground Truth n'autorise qu'un seul employé par compte et par AWS région. Chaque main-d’œuvre dispose d’une URL de connexion dédiée au portail de travail Ground Truth. 

Vous pouvez également limiter les travailleurs à une plage d'adresses CIDR (Classless Inter-Domain Routing) block/IP . Cela signifie que les annotateurs doivent se trouver sur un réseau spécifique pour accéder au site d’annotations. Vous pouvez ajouter jusqu’à quatre blocs CIDR pour une main-d’œuvre. Pour en savoir plus, veuillez consulter la section [Gestion du personnel privé à l'aide de l' SageMaker API Amazon](sms-workforce-management-private-api.md).

Pour savoir comment créer un personnel privé, consultez [Création d’une main-d’œuvre privée (Amazon Cognito)](sms-workforce-create-private.md).

## Restreindre l’accès aux types de personnel
<a name="sms-security-permission-condition-keys"></a>

Les équipes de travail d'Amazon SageMaker Ground Truth se répartissent en trois [catégories de personnel](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) : public (avec Amazon Mechanical Turk), privé et fournisseur. Pour restreindre l'accès des utilisateurs à une équipe de travail spécifique à l'aide de l'un de ces types ou de l'ARN de l'équipe de travail, utilisez `sagemaker:WorkteamType` and/or les clés de `sagemaker:WorkteamArn` condition. Pour la clé de condition `sagemaker:WorkteamType`, utilisez les [opérateurs de condition de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). Pour la clé de condition `sagemaker:WorkteamArn`, utilisez les [opérateurs de condition Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). Si l'utilisateur tente de créer une tâche d'étiquetage avec une équipe de travail restreinte, SageMaker AI renvoie un message d'erreur de refus d'accès. 

Les politiques ci-dessous illustrent différentes façons d’utiliser les clés de condition `sagemaker:WorkteamType` et `sagemaker:WorkteamArn` avec des opérateurs de condition appropriés et des valeurs de condition valides. 

L’exemple suivant utilise la clé de condition `sagemaker:WorkteamType` avec l’opérateur de condition `StringEquals` pour restreindre l’accès à une équipe de travail public. Il accepte les valeurs de condition au format suivant :`workforcetype-crowd`, où *workforcetype* peut être égal à `public``private`, ou`vendor`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:WorkteamType": "public-crowd"
                }
            }
        }
    ]
}
```

------

Les politiques suivantes montrent comment restreindre l’accès à une équipe de travail public à l’aide de la clé de condition `sagemaker:WorkteamArn`. Le premier montre comment l’utiliser avec une expression régulière IAM valide de l’ARN de l’équipe de travail et l’opérateur de condition `ArnLike`. La seconde montre comment l’utiliser avec l’opérateur de condition `ArnEquals` et l’ARN de l’équipe de travail.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:*:*:workteam/public-crowd/*"
                }
            }
        }
    ]
}
```

------

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:us-west-2:394669845002:workteam/public-crowd/default"
                }
            }
        }
    ]
}
```

------