

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.

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