Étape 3 : attacher une politique aux utilisateurs ou aux groupes accédant à 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 3 : attacher une politique aux utilisateurs ou aux groupes accédant à AWS Glue

L'administrateur doit attribuer des autorisations à tous les utilisateurs, groupes ou rôles à l'aide de la console AWS Glue ou de l'AWS Command Line Interface (AWS CLI). Vous fournissez ces autorisations grâce à AWS Identity and Access Management (IAM) par le biais des politiques. Cette étape décrit l'attribution d'autorisations à des utilisateurs ou groupes.

Une fois cette étape terminée, les politiques suivantes seront associées à votre utilisateur ou groupe :

  • La politique AWSGlueConsoleFullAccess gérée par AWS ou la politique personnalisée GlueConsoleAccessPolicy

  • AWSGlueConsoleSageMakerNotebookFullAccess

  • CloudWatchLogsReadOnlyAccess

  • AWSCloudFormationReadOnlyAccess

  • AmazonAthenaFullAccess

Associer une politique en ligne et l'intégrer à un utilisateur ou à un groupe

Vous pouvez attacher une politique gérée par AWS ou une politique en ligne à un utilisateur ou à un groupe pour accéder à la console AWS Glue. 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, AWS CloudFormation 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.

Note

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

Important

AWS Glue a besoin d'une autorisation pour endosser un rôle utilisé pour effectuer des tâches en votre nom. Pour cela, vous ajoutez les autorisations iam:PassRole à vos utilisateurs ou groupes AWS Glue. Cette politique accorde l'autorisation aux rôles commençant par AWSGlueServiceRole pour les rôles de service AWS Glue et AWSGlueServiceNotebookRole pour les rôles qui sont requis lorsque vous créez un serveur de bloc-notes. Vous pouvez également créer votre propre politique pour les autorisations iam:PassRole, conforme à votre convention de dénomination.

Conformément aux bonnes pratiques en matière de sécurité, il est recommandé de restreindre l'accès en limitant les politiques afin de restreindre davantage l'accès au compartiment Amazon S3 et aux groupes de journaux Amazon CloudWatch. Pour obtenir un exemple de politique Amazon S3, consultez notre billet de blog Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket.

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

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

  2. Dans le volet de navigation, choisissez Utilisateurs ou Groupes d'utilisateurs.

  3. Dans la liste, sélectionnez le nom de l'utilisateur ou du groupe auquel intégrer une politique.

  4. Sélectionnez l'onglet Autorisations et, si nécessaire, développez la section Politiques d'autorisations.

  5. Cliquez sur le lien Add Inline policy (Ajouter une politique en ligne).

  6. 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.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*", "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups", "iam:ListRoles", "iam:ListUsers", "iam:ListGroups", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances", "rds:DescribeDBInstances", "rds:DescribeDBClusters", "rds:DescribeDBSubnetGroups", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "cloudformation:DescribeStacks", "cloudformation:GetTemplateSummary", "dynamodb:ListTables", "kms:ListAliases", "kms:DescribeKey", "cloudwatch:GetMetricData", "cloudwatch:ListDashboards" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*/*aws-glue-*/*", "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:*:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*" }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }

    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.

    Si vous avez déjà créé votre politique sans l'action "glue:*", vous devez ajouter les autorisations individuelles suivantes à votre politique :

    • "glue:Listcrawlers"

    • "glue:BatchGetcrawlers"

    • "glue:ListTriggers"

    • "glue:BatchGetTriggers"

    • "glue:ListDevEndpoints"

    • "glue:BatchGetDevEndpoints"

    • "glue:ListJobs"

    • "glue:BatchGetJobs"

    "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups"

    "*"

    Permet de créer des connexions à Amazon Redshift.

    "iam:ListRoles", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies"

    "*"

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

    "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances"

    "*"

    Permet de configurer des éléments réseau Amazon EC2, comme les VPC, lors de l'exécution de tâches, d'crawlers et de points de terminaison de développement.

    "rds:DescribeDBInstances"

    "*"

    Permet de créer des connexions à Amazon RDS.

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

    "*"

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

    "dynamodb:ListTables"

    "*"

    Autorise la création d’une liste des tables DynamoDB.

    "kms:ListAliases", "kms:DescribeKey"

    "*"

    Permet l'utilisation de clés KMS.

    "cloudwatch:GetMetricData", "cloudwatch:ListDashboards"

    "*"

    Permet l'utilisation de métriques CloudWatch.

    "s3:GetObject", "s3:PutObject"

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

    Permet d'obtenir et d'ajouter 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-.

    "tag:GetResources"

    "*"

    Permet la récupération des balises AWS.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

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

    Permet de créer un compartiment 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 Amazon S3 dont les noms portent le préfixe aws-glue-.

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

    "logs:GetLogEvents"

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

    Permet la récupération de CloudWatch Logs.

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

    "cloudformation:CreateStack", "cloudformation:DeleteStack"

    "arn:aws:cloudformation:*:*:stack/ aws-glue*/*"

    Permet de gérer des piles AWS CloudFormation lorsque vous utilisez des serveurs de bloc-notes.

    Convention de dénomination : AWS Glue crée des piles dont le nom commence par aws-glue.

    "ec2:RunInstances"

    "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*"

    Autorise l'exécution de points de terminaison de développement et de serveurs de blocs-notes.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceRole*"

    Permet à AWS Glue de disposer de l'autorisation PassRole pour les rôles commençant par AWSGlueServiceRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceNotebookRole*"

    Permet à Amazon EC2 de disposer de l'autorisation PassRole pour les rôles commençant par AWSGlueServiceNotebookRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/service-role/ AWSGlueServiceRole*"

    Permet à AWS Glue de disposer de l'autorisation PassRole pour les rôles commençant par service-role/AWSGlueServiceRole.

  7. Sur l'écran Review policy (Politique d'examen), entrez le nom de la politique, par exemple GlueConsoleAccessPolicy. Lorsque vous êtes satisfait de la politique, sélectionnez Create policy (Créer une politique). Assurez-vous qu'aucune erreur ne s'affiche dans un cadre rouge en haut de l'écran. Corrigez les erreurs signalées.

    Note

    Si l'option Use autoformatting est sélectionnée, la politique est reformatée chaque fois que vous ouvrez une politique ou sélectionnez Validate Policy.

Pour attacher la politique gérée AWSGlueConsoleFullAccess

Vous pouvez attacher la politique AWSGlueConsoleFullAccess afin d'accorder les autorisations requises par l'utilisateur de la console AWS Glue.

Note

Vous pouvez ignorer cette étape si vous avez créé votre propre politique pour l'accès à la console AWS Glue.

  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, choisissez Policies (Politiques).

  3. Dans la liste des politiques, cochez la case en regard de la politique AWSGlueConsoleFullAccess. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste de politiques.

  4. Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).

  5. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez Attacher la politique.

Pour attacher la politique gérée par AWSGlueConsoleSageMakerNotebookFullAccess

Vous pouvez attacher la politique AWSGlueConsoleSageMakerNotebookFullAccess à un utilisateur afin de gérer les blocs-notes SageMaker créés sur la console AWS Glue. Outre d'autres autorisations de console AWS Glue, cette politique octroie l'accès aux ressources nécessaires pour gérer les blocs-notes SageMaker.

  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, choisissez Policies (Politiques).

  3. Dans la liste des politiques, cochez la case en regard de la politique AWSGlueConsoleSageMakerNotebookFullAccess. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste de politiques.

  4. Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).

  5. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez Attacher la politique.

Pour attacher la politique gérée CloudWatchLogsReadOnlyAccess

Vous pouvez attacher la politique CloudWatchLogsReadOnlyAccess à un utilisateur pour afficher les journaux créés par AWS Glue sur la console CloudWatch Logs.

  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, choisissez Policies (Politiques).

  3. Dans la liste des politiques, cochez la case en regard de la politique CloudWatchLogsReadOnlyAccess. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste de politiques.

  4. Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).

  5. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez Attacher la politique.

Pour attacher la politique gérée AWSCloudFormationReadOnlyAccess

Vous pouvez attacher la politique AWSCloudFormationReadOnlyAccess à un utilisateur pour afficher les piles AWS CloudFormation utilisées par AWS Glue sur la console AWS CloudFormation.

  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, choisissez Policies (Politiques).

  3. Dans la liste des politiques, cochez la case en regard de la politique AWSCloudFormationReadOnlyAccess. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste de politiques.

  4. Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).

  5. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez Attacher la politique.

Pour attacher la politique gérée AmazonAthenaFullAccess

Vous pouvez attacher la politique AmazonAthenaFullAccess à un utilisateur pour afficher les données Amazon S3 dans la console Athena.

  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, choisissez Policies (Politiques).

  3. Dans la liste des politiques, cochez la case en regard de la politique AmazonAthenaFullAccess. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste de politiques.

  4. Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).

  5. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu Filtre et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez Attach policy (Attacher la politique).