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 Amazon Augmented AI Runtime. API Pour créer un flux de révision humain 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 lancez une boucle humaine en utilisant des données d'entrée d'image le 12 janvier 2020 ou après cette date, vous devez ajouter une politique d'CORSen-tête au compartiment Amazon S3 qui contient vos données d'entrée. Pour en savoir plus, veuillez consulter la section CORSExigence d'autorisation.

  • 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 donner SageMaker l'autorisation d'assumer le rôle. 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 IAM rôle 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 IAM rôle 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 pouvez soit utiliser une API opération issue d'un type de tâche intégré (tel que DetectModerationLabel ouAnalyzeDocument), soit l'APIopération Amazon A2I Runtime StartHumanLoop dans une application ML personnalisée. Vous devez associer la politique AmazonAugmentedAIFullAccess gérée à l'utilisateur qui invoque ces API opérations pour autoriser ces services à utiliser les opérations Amazon A2I. Pour savoir comment procéder, veuillez consulter la section Création d'un utilisateur capable d'invoquer les opérations Amazon A2I API.

    Cette politique n'accorde pas l'autorisation d'invoquer les API opérations 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 Amazon Rekognition ou l'opération DetectModerationLabel API Amazon Textract. AnalyzeDocument API Vous pouvez également utiliser la stratégie plus générale, AmazonAugmentedAIIntegratedAPIAccess, pour accorder ces autorisations. Pour de plus amples informations, veuillez consulter Créez un utilisateur autorisé à invoquer les opérations Amazon A2I, Amazon Textract et Amazon Rekognition API. C'est une bonne option lorsque vous souhaitez accorder à un utilisateur des autorisations étendues pour utiliser Amazon A2I et les opérations AWS des services API 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âches de travail personnalisé, vous avez besoin d'un IAM rôle autorisé à lire les objets Amazon S3 affichés sur votre interface utilisateur. Veuillez consulter un exemple de stratégie dans Activation des aperçus du modèle de tâche de travail .

CORSExigence d'autorisation

Plus tôt en 2020, des navigateurs largement utilisés tels que Chrome et Firefox ont modifié leur comportement par défaut en matière de rotation des images en fonction des métadonnées des images, appelées EXIFdonnées. 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'EXIForientation n'est pas prise en compte, les applications utilisées pour annoter des images peuvent afficher les images dans des orientations inattendues et générer 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 soumettez des demandes pour créer une boucle humaine, vous devez ajouter une politique d'CORSen-tête aux compartiments S3 contenant vos images d'entrée.

Important

Si vous n'ajoutez aucune CORS configuration aux compartiments S3 contenant vos données d'entrée, les tâches de révision humaine de ces objets de données d'entrée échouent.

Vous pouvez ajouter une CORS politique à un compartiment S3 qui contient des données d'entrée dans la console Amazon S3. Pour définir CORS les en-têtes requis sur le compartiment S3 qui contient vos images d'entrée dans la console S3, suivez les instructions détaillées dans Comment ajouter le partage de ressources entre domaines avec ? CORS . Utilisez le code CORS de configuration suivant pour les compartiments qui hébergent vos images. Si vous utilisez la console Amazon S3 pour ajouter la politique à votre compartiment, vous devez utiliser le JSON format.

JSON

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

XML

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

Ce qui suit GIF illustre les instructions contenues dans la documentation Amazon S3 pour ajouter une politique d'CORSen-tête à l'aide de la console Amazon S3.

Gif expliquant comment ajouter une politique d'CORSen-tête à l'aide de la console Amazon S3.

Ajouter des autorisations au IAM rôle 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'CreateFlowDefinitionAPIopération.

  • Si vous utilisez la console pour créer un flux de travail de révision humain, entrez le rôle Amazon Resource Name (ARN) dans le champ du IAMrôle lors de la création d'un flux de travail de révision humain dans la console.

  • Lorsque vous créez une définition de flux à l'aide duAPI, associez ces politiques au rôle transmis au RoleArn paramètre de l'CreateFlowDefinitionopération.

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 IAM rôle doit respecter la politique de confiance suivante pour être SageMaker autorisé à assumer le rôle. Pour en savoir plus sur les politiques de IAM confiance, consultez la section Politiques basées sur les ressources de la section Politiques et autorisations de la documentation AWS Identity and Access Management.

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

Pour plus d'informations sur la création et la gestion IAM des rôles et des politiques, consultez les rubriques suivantes du Guide de AWS Identity and Access Management l'utilisateur :

Création d'un utilisateur capable d'invoquer les opérations Amazon A2I API

Pour utiliser Amazon A2I afin de créer et démarrer des boucles humaines pour Amazon Rekognition, Amazon Textract ou API le runtime Amazon A2I, vous devez utiliser un utilisateur autorisé à appeler les opérations Amazon A2I. Pour ce faire, utilisez la IAM console pour associer la politique AmazonAugmentedAIFullAccessgérée à un utilisateur nouveau ou existant.

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

AmazonAugmentedAIFullAccessn'accorde pas l'autorisation d'utiliser les opérations Amazon Rekognition ou API Amazon Textract.

Note

Vous pouvez également associer la AmazonAugmentedAIFullAccess politique à un IAM rôle 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 plus d'informations, consultez la section Ajouter et supprimer des autorisations IAM d'identité dans le guide de AWS Identity and Access Management l'utilisateur.

Créez un utilisateur autorisé à invoquer les opérations Amazon A2I, Amazon Textract et Amazon Rekognition API

Pour créer un utilisateur autorisé à invoquer les API opérations utilisées par les types de tâches intégrés (c'est-à-dire DetectModerationLables pour Amazon AnalyzeDocument Rekognition et pour Amazon Textract) et autorisé à utiliser toutes les opérations API Amazon A2I, joignez 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 API opérations, consultez APIsUse in Amazon Augmented AI.

Note

Vous pouvez également associer la AmazonAugmentedAIIntegratedAPIAccess politique à un IAM rôle 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 plus d'informations, consultez la section Ajouter et supprimer des autorisations IAM d'identité dans le guide de AWS Identity and Access Management l'utilisateur.

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 devez disposer d'un IAM rôle doté des autorisations suivantes pour lire les objets Amazon S3 affichés 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 ARN Amazon () 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'RenderUiTemplateopération, utilisez le rôle indiqué ARN dans le RoleArn paramètre.

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 IAM politique similaire à la suivante à cette clé. Cette politique donne au rôle IAM d'exécution 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 politique, remplacez le rôle de IAM service par le rôle ARN ARN d'exécution que vous utilisez pour créer le flux de travail de révision humain (définition du flux). "Principal" Lorsque vous créez une tâche d'étiquetage à l'aide deCreateFlowDefinition, c'est pour cela ARN que vous spécifiez 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é