Autorisations et sécurité dans Amazon Augmented AI - Amazon SageMaker

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.

Autorisations et sécurité dans Amazon Augmented AI

Lorsque vous utilisez Amazon Augmented AI (Amazon A2I) pour créer un flux de travail de révision humaine pour votre application ML/AI, vous créez et configurez des ressources dans Amazon, SageMaker telles qu'une main-d'œuvre humaine et des modèles de tâches pour les travailleurs. Pour configurer et démarrer une boucle humaine, vous devez soit intégrer Amazon A2I à d'autres AWS services tels qu'Amazon Textract ou Amazon Rekognition, soit utiliser l'API Amazon Augmented AI Runtime. Pour créer un flux de travail de révision humaine et démarrer une boucle humaine, vous devez associer certaines politiques à votre rôle ou à votre utilisateur AWS Identity and Access Management (IAM). En particulier :

  • Lorsque vous démarrez une boucle humaine à l'aide de données d'entrée d'image le 12 janvier 2020 ou après, vous devez ajouter une stratégie d'en-tête CORS au compartiment Amazon S3 qui contient vos données d'entrée. Pour en savoir plus, veuillez consulter la section Autorisations CORS requises.

  • Lorsque vous créez une définition de flux, vous devez fournir un rôle qui accorde à Amazon A2I l'autorisation d'accéder à Amazon S3, tant pour lire les objets qui sont rendus dans une interface utilisateur de tâche humaine que pour écrire les résultats de la vérification humaine.

    Ce rôle doit également être associé à une politique de confiance pour SageMaker autoriser l'assumer. Cela permet à Amazon A2I d'exécuter des actions conformément aux autorisations qui sont attachées au rôle.

    Veuillez consulter Ajouter des autorisations au rôle IAM utilisé pour créer une définition de flux pour obtenir des exemples de stratégies que vous pouvez modifier et attacher au rôle que vous utilisez pour créer une définition de flux. Il s'agit des politiques associées au rôle IAM créé dans la section Human review workflows de la zone Amazon A2I de la SageMaker console.

  • Pour créer et démarrer des boucles humaines, vous utilisez soit une opération d'API à partir d'un type de tâche intégré (DetectModerationLabel ou AnalyzeDocument, par ex.), soit l'opération d'API d'exécution Amazon A2I StartHumanLoop dans une application ML personnalisée. Vous devez attacher la politique gérée AmazonAugmentedAIFullAccess à l'utilisateur qui appelle ces opérations d'API pour accorder à ces services l'autorisation d'utiliser des opérations Amazon A2I. Pour savoir comment procéder, veuillez consulter la section Création d'un utilisateur pouvant appeler les opérations d'API Amazon A2I.

    Cette politique n'autorise pas l'appel des opérations d'API du AWS service associées aux types de tâches intégrés. Par exemple, AmazonAugmentedAIFullAccess n'accorde pas l'autorisation d'appeler l'opération d'API Amazon Rekognition DetectModerationLabel ou une opération d'API Amazon Textract AnalyzeDocument. Vous pouvez également utiliser la stratégie plus générale, AmazonAugmentedAIIntegratedAPIAccess, pour accorder ces autorisations. Pour plus d’informations, consultez Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition. C'est une bonne option lorsque vous souhaitez accorder à un utilisateur des autorisations étendues pour utiliser les opérations d'API d'Amazon A2I et AWS des services intégrés.

    Si vous voulez configurer des autorisations de façon plus précise, consultez Amazon Rekognition Identity-Based Policy Examples (Exemples de stratégies basées sur l'identité Amazon Rekognition et Amazon Textract Identity-Based Policy Examples (Exemples de stratégies basées sur l'identité Amazon Textract pour les stratégies basées sur l'identité que vous pouvez utiliser pour accorder l'autorisation d'utiliser ces services individuels.

  • Pour prévisualiser votre modèle d'interface utilisateur de tâche d'employé personnalisé, vous avez besoin d'un rôle IAM disposant d'autorisations de lecture d'objets Amazon S3 qui sont rendus sur votre interface utilisateur. Veuillez consulter un exemple de stratégie dans Activation des aperçus du modèle de tâche de travail .

Autorisations CORS requises

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. Auparavant, les images s'affichaient toujours dans les navigateurs de la façon exacte 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 en matière de même origine. Par conséquent, pour garantir que les travailleurs humains annotent vos images d'entrée dans une orientation prévisible lorsque vous envoyez des demandes de création d'une boucle humaine, vous devez ajouter une stratégie d'en-tête CORS aux compartiments S3 qui contiennent vos images d'entrée.

Important

Si vous n'ajoutez pas de configuration CORS aux compartiments S3 qui contiennent vos données d'entrée, les tâches de vérification humaine pour ces objets de données en entrée échouent.

Vous pouvez ajouter une stratégie CORS à un compartiment S3 qui contient des données d'entrée dans la console Amazon S3. Pour définir les en-têtes CORS requis dans le compartiment S3 qui contient vos images d'entrée dans la console S3, suivez les instructions détaillées dans How do I add cross-domain resource sharing with CORS? (Comment ajouter le partage des ressources inter-domaines avec le partage CORS ?). 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.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": [] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

Le GIF suivant illustre les instructions figurant dans la Documentation Amazon S3 pour ajouter une stratégie d'en-tête CORS à l'aide de la console Amazon S3.

Ajouter des autorisations au rôle IAM utilisé pour créer une définition de flux

Pour créer une définition de flux, associez les politiques de cette section au rôle que vous utilisez lors de la création d'un flux de travail de révision humain dans la SageMaker console ou lors de l'utilisation de l'opération CreateFlowDefinition API.

  • Si vous utilisez la console pour créer un flux de vérification humaine, entrez l'Amazon Resource Name (ARN) du rôle dans le champ IAM role (Rôle IAM) lors de la création d'un flux de vérification humaine dans la console.

  • Lorsque vous créez une définition de flux à l'aide de l'API, attachez ces stratégies au rôle transmis au paramètre RoleArn de l'opération CreateFlowDefinition.

Lorsque vous créez un flux de vérification humaine (définition de flux), Amazon A2I appelle Amazon S3 pour terminer votre tâche. Pour accorder à Amazon A2I l'autorisation de récupérer et de stocker vos fichiers dans votre compartiment Amazon S3, créez la stratégie suivante et attachez-la à votre rôle. Par exemple, si les images, documents et autres fichiers que vous envoyez pour vérification humaine sont stockés dans un compartiment S3 nommé my_input_bucket, et que vous souhaitez que les vérifications humaines soient stockées dans un compartiment nommé my_output_bucket, vous devez créer la stratégie suivante.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }

En outre, le rôle IAM doit respecter la politique de confiance suivante pour SageMaker autoriser l'exercice du rôle. Pour en savoir plus sur les stratégies d'approbation IAM, veuillez consulter la section Resource-Based Policies (Stratégies basées sur les ressources) dans Policies and Permissions (Stratégies et autorisations) dans la documentation Identity and Access Management AWS .

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

Pour de plus amples informations sur la création et la gestion des rôles IAM et des stratégies, veuillez consulter les rubriques suivantes dans le Guide de l'utilisateur AWS Identity and Access Management  :

Création d'un utilisateur pouvant appeler les opérations d'API Amazon A2I

Pour utiliser Amazon A2I pour la création et le démarrage de boucles humaines pour Amazon Rekognition, Amazon Textract ou l'API d'exécution Amazon A2I, vous devez utiliser un utilisateur disposant des autorisations permettant d'appeler les opérations Amazon A2I. Pour ce faire, utilisez la console IAM pour attacher la politique gérée AmazonAugmentedAIFullAccess à un utilisateur nouveau ou existant.

Cette politique autorise un utilisateur à invoquer des opérations d'API à partir de l' SageMaker API pour la création et la gestion des définitions de flux et de l'API Amazon Augmented AI Runtime pour la création et la gestion de boucles humaines. Pour en savoir plus sur ces opérations d'API, consultez Utiliser les API dans Amazon Augmented AI.

AmazonAugmentedAIFullAccess n'accorde pas d'autorisations pour l'utilisation d'opérations d'API Amazon Rekognition ou Amazon Textract.

Note

Vous pouvez également attacher la stratégie AmazonAugmentedAIFullAccess à un rôle IAM utilisé pour créer et démarrer une boucle humaine.

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Pour de plus amples informations, veuillez consulter Adding and Removing IAM Identity Permissions (Ajout et suppression d'autorisations basées sur l'identité IAM) dans le Guide de l'utilisateur AWS Identity and Access Management .

Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition

Pour créer un utilisateur disposant de l'autorisation permettant d'appeler les opérations d'API utilisées par les types de tâches intégrés (à savoir DetectModerationLables pour Amazon Rekognition et AnalyzeDocument pour Amazon Textract) et de l'autorisation permettant d'utiliser toutes les opérations d'API Amazon A2I, attachez la politique gérée IAM AmazonAugmentedAIIntegratedAPIAccess. Vous voudrez peut-être utiliser cette politique pour accorder des autorisations étendues à un utilisateur utilisant Amazon A2I avec plusieurs types de tâches. Pour en savoir plus sur ces opérations d'API, consultez Utiliser les API dans Amazon Augmented AI.

Note

Vous pouvez également attacher la stratégie AmazonAugmentedAIIntegratedAPIAccess à un rôle IAM utilisé pour créer et démarrer une boucle humaine.

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Pour de plus amples informations, veuillez consulter Adding and Removing IAM Identity Permissions (Ajout et suppression d'autorisations basées sur l'identité IAM) dans le Guide de l'utilisateur AWS Identity and Access Management .

Activation des aperçus du modèle de tâche de travail

Pour personnaliser l'interface et les instructions que vos collaborateurs voient lorsqu'ils travaillent sur vos tâches, créez un modèle de tâche de travail. Vous pouvez créer le modèle à l'aide de l'CreateHumanTaskUiopération ou de la SageMaker console.

Pour prévisualiser votre modèle, vous avez besoin d'un rôle IAM disposant des autorisations suivantes pour lire les objets Amazon S3 qui sont rendus sur votre interface utilisateur.

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

Pour les types de tâches Amazon Rekognition et Amazon Textract, vous pouvez prévisualiser votre modèle à l'aide de la section Amazon Augmented AI de la console. SageMaker Pour les types de tâches personnalisés, vous prévisualisez votre modèle en appelant l'opération RenderUiTemplate. Pour prévisualiser votre modèle, suivez les instructions relatives à votre type de tâche :

  • SageMaker Types de tâches Amazon Rekognition et Amazon Textract : dans la console, utilisez le nom de ressource Amazon (ARN) du rôle dans la procédure décrite dans. Créer un modèle de tâche d'employé

  • Types de tâches personnalisés : dans l'opération RenderUiTemplate, utilisez l'ARN du rôle dans le paramètre RoleArn.

Utilisation d'Amazon A2I avec des compartiments AWS KMS chiffrés

Si vous spécifiez une clé gérée par le client AWS Key Management Service (AWS KMS) dans laquelle chiffrer les données OutputConfig de sortie CreateFlowDefinition, vous devez ajouter une politique IAM similaire à la suivante à cette clé. Cette stratégie donne au rôle d'exécution IAM que vous utilisez pour créer vos boucles humaines l'autorisation d'utiliser cette clé pour effectuer toutes les actions répertoriées dans"Action". Pour en savoir plus sur ces actions, consultez AWS KMS les autorisations dans le guide du AWS Key Management Service développeur.

Pour utiliser cette stratégie, remplacez l'ARN de la fonction du service IAM dans "Principal" par l'ARN du rôle d'exécution que vous utilisez pour créer le flux de vérification humaine (définition de flux). Lorsque vous créez une tâche d'étiquetage à l'aide de CreateFlowDefinition, il s'agit de l'ARN que vous spécifiez pour RoleArn. Notez que vous ne pouvez pas fournir de KmsKeyId lorsque vous créez une définition de flux dans la console.

{ "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": "*" }

Autorisations supplémentaires et ressources de sécurité