Étape 1 : créer une politique IAM pour le service AWS Glue - AWS Glue

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.

Étape 1 : créer une politique IAM pour le service AWS Glue

Pour toute opération accédant à des données sur une autre ressource AWS, par exemple, à vos objets dans Amazon S3, AWS Glue a besoin d'une autorisation pour accéder à la ressource en votre nom. Vous fournissez ces autorisations à l'aide d'AWS Identity and Access Management (IAM).

Note

Vous pouvez ignorer cette étape si vous utilisez la politique AWSGlueServiceRole gérée par AWS.

Au cours de cette étape, vous créez une politique similaire à AWSGlueServiceRole. Vous pouvez consulter la version la plus récente de AWSGlueServiceRole sur la console IAM.

Pour créer une politique IAM pour AWS Glue

Cette politique autorise certaines actions Amazon S3 à gérer des ressources de votre compte qui sont nécessaires pour AWS Glue lorsque celui-ci endosse le rôle à l'aide de cette politique. Certaines des ressources spécifiées dans cette politique font référence aux noms par défaut utilisés par AWS Glue pour les compartiments Amazon S3, les scripts ETL Amazon S3, CloudWatch Logs et les ressources Amazon EC2. Pour plus de simplicité, AWS Glue écrit certains objets Amazon S3 dans des compartiments de votre compte portant le préfixe aws-glue-* par défaut.

  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, choisissez Politiques.

  3. Sélectionnez Créer une politique.

  4. Sur l'écran Créer une politique, accédez à un onglet pour modifier le fichier JSON. Créez un document de politique avec les instructions JSON suivantes, puis sélectionnez Examiner une politique.

    Note

    Ajoutez les permissions requises pour les ressources Amazon S3. Vous pouvez vouloir définir la portée de la section des ressources de votre politique d'accès uniquement aux ressources qui sont requises.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "cloudwatch:PutMetricData" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::aws-glue-*/*", "arn:aws:s3:::*/*aws-glue-*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:DeleteTags" ], "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "aws-glue-service-resource" ] } }, "Resource": [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*" ] } ] }

    Le tableau suivant décrit les autorisations accordées par cette politique.

    Action Ressource Description

    "glue:*"

    "*"

    Accorde les autorisations pour exécuter toutes les opérations d'API AWS Glue.

    "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl",

    "*"

    Permet de répertorier les compartiments Amazon S3 des crawlers, des tâches, des points de terminaison de développement et des serveurs de bloc-notes.

    "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute",

    "*"

    Permet la configuration d'éléments réseau Amazon EC2 tels que des Virtual Private Clouds (VPC) lors de l'exécution de tâches, des crawlers et des points de terminaison de développement.

    "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy"

    "*"

    Permet de répertorier les rôles IAM des crawlers, des tâches, des points de terminaison de développement et des serveurs de bloc-notes.

    "cloudwatch:PutMetricData"

    "*"

    Permet d'écrire des métriques CloudWatch pour des tâches.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

    "arn:aws:s3:::aws-glue-*"

    Permet de créer de compartiments Amazon S3 dans votre compte à partir de tâches et de serveurs de bloc-notes.

    Convention de dénomination : utilise les dossiers Amazon S3 nommés aws-glue-.

    Active AWS Glue pour créer des compartiments qui bloquent l'accès public.

    "s3:GetObject", "s3:PutObject", "s3:DeleteObject"

    "arn:aws:s3:::aws-glue-*/*", "arn:aws:s3:::*/*aws-glue-*/*"

    Permet d'obtenir, d'ajouter et de supprimer des objets Amazon S3 dans votre compte lors du stockage d'objets, tel que des scripts ETL et des emplacements de serveurs de bloc-notes.

    Convention de dénomination : accorde l'autorisation aux compartiments ou dossiers Amazon S3 dont les noms portent le préfixe aws-glue-.

    "s3:GetObject"

    "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*"

    Permet d'obtenir des objets Amazon S3 utilisés par des exemples et des didacticiels d'crawlers et de tâches.

    Convention de dénomination : les noms de compartiments Amazon S3 dont le nom commence par crawler-public et aws-glue-.

    "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"

    "arn:aws:logs:*:*:log-group:/aws-glue/*"

    Permet d'écrire des journaux dans CloudWatch Logs.

    Convention de dénomination : AWS Glue écrit des journaux dans des groupes de journaux dont le nom commence par aws-glue.

    "ec2:CreateTags", "ec2:DeleteTags"

    "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*"

    Permet de baliser des ressources Amazon EC2 créées pour des points de terminaison de développement.

    Convention de dénomination : AWS Glue balise des interfaces réseau, groupes de sécurité et instances Amazon EC2 avec aws-glue-service-resource.

  5. Sur l'écran Review policy (Examiner la politique), tapez votre Policy Name (Nom de politique), par exemple GlueServiceRolePolicy. Saisissez éventuellement une description, et lorsque vous êtes satisfait de la politique, sélectionnez Créer une politique.