Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth - 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.

Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth

Pour utiliser la zone Ground Truth de la SageMaker console, vous devez autoriser une entité à accéder SageMaker 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 source 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 SageMaker pour autoriser l'utilisation du 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.

Autorisations de la console Ground Truth

Pour autoriser un utilisateur ou un rôle à utiliser la zone Ground Truth de la SageMaker console 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é. Si vous souhaitez créer un flux d'étiquetage personnalisé, ajoutez la stratégie qui se trouve dans Autorisations de flux d'étiquetage personnalisées à la stratégie suivante. Chaque Statement inclus dans la politique suivante est décrit ci-dessous ce bloc de code.

{ "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 instruction inclutsagemaker:*, qui permet à l'utilisateur d'effectuer toutes les actions de SageMaker l'API. 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 restreindre les clés qu'un utilisateur peut lister et sélectionner, spécifiez ces ARN de clé dans 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 instruction de manière à ce que les utilisateurs puissent uniquement sélectionner ce rôle dans la console, spécifiez les ARN des rôles que l'utilisateur doit avoir pour visualiser les Resource et supprimer les actions CreateRole, CreatePolicy et AttachRolePolicy.

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'abonneraux équipes de travail du fournisseur, ajoutez l'instruction qui se trouve dans Autorisations de main-d'œuvre fournisseur à 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 source, 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 au rendu et SageMaker à la prévisualisation de 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'appeler les fonctions Lambda utilisées pour exécuter un flux d'étiquetage personnalisé.

  • s3:* – Toutes les autorisations Amazon S3 incluses dans cette instruction sont utilisées pour afficher les compartiments Amazon S3 en vue de configuration automatisée des données (ListAllMyBuckets), accéder aux données source dans Amazon S3 (ListBucket, GetObject), vérifier et créer une stratégie CORS dans Amazon S3 si nécessaire (GetBucketCors et PutBucketCors), et é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 des mains-d'œuvre privées à l'aide d'Amazon Cognito. Pour en savoir plus sur ces actions, veuillez consulter Références d'API Amazon Cognito.

Autorisations de flux d'étiquetage personnalisées

Ajoutez l'instruction suivante à une politique similaire à celle de Autorisations de la console Ground Truth 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 d'étiquetage personnalisé.

{ "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.

Autorisations de main-d'œuvre privée

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.

{ "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, veuillez consulter Création et gestion de mains-d'œuvres Amazon Cognito.

Autorisations de main-d'œuvre fournisseur

Vous pouvez ajouter l'instruction suivante à la politique dans Autoriser IAM à utiliser la console Amazon SageMaker Ground Truth pour accorder à une entité l'autorisation de s'abonner à une main-d'œuvre de fournisseurs.

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