Examinez les autorisations IAM nécessaires pour les tâches ETL - 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.

Examinez les autorisations IAM nécessaires pour les tâches ETL

Lorsque vous créez une tâche à l'aide de AWS Glue Studio, la tâche dispose des autorisations du rôle IAM que vous spécifiez quand vous la créez. Ce rôle IAM doit être autorisé à extraire des données de votre source de données, à écrire des données sur votre cible et à accéder aux AWS Glue ressources.

Le nom du rôle que vous créez pour la tâche doit démarrer par la chaîne AWSGlueServiceRole pour être utilisé correctement par AWS Glue Studio. Par exemple, vous pouvez nommer votre rôle AWSGlueServiceRole-FlightDataJob.

Autorisations de source et de cible de données

Une tâche AWS Glue Studio doit avoir accès à l'intégralité des sources, cibles, scripts et répertoires temporaires Amazon S3 que vous utilisez pour celle-ci. Vous pouvez créer une politique pour fournir un accès détaillé à des ressources Amazon S3 spécifiques.

  • Les sources de données nécessitent les autorisations s3:ListBucket et s3:GetObject.

  • Les sources de données nécessitent les autorisations s3:ListBucket, s3:PutObject et s3:DeleteObject.

Note

Votre politique IAM doit autoriser s3:GetObject les compartiments spécifiques utilisés pour héberger AWS Glue des transformations.

Les compartiments suivants appartiennent au compte de AWS service et sont lisibles dans le monde entier. Ces compartiments servent de référentiel pour le code source correspondant à un sous-ensemble de transformations accessibles via l'éditeur AWS Glue Studio visuel. Les autorisations sur le compartiment sont configurées pour refuser toute autre action d'API sur le compartiment. Tout le monde peut lire les scripts que nous fournissons pour les transformations, mais personne en dehors de notre équipe de service ne peut y « mettre » quoi que ce soit. Lorsque votre AWS Glue tâche s'exécute, ce fichier est extrait sous forme d'importation locale afin qu'il soit téléchargé dans le conteneur local. Après cela, il n'y a plus de communication avec ce compte.

Région : nom du compartiment

  • af-south-1 : -762339736633- aws-glue-studio-transforms -1 prod-af-south

  • ap-east-1 : -125979764932- aws-glue-studio-transforms -1 prod-ap-east

  • ap-northeast-2 : -673535381443- -2 aws-glue-studio-transforms prod-ap-northeast

  • ap-northeast-3 : -149976050262- -3 aws-glue-studio-transforms prod-ap-northeast

  • ap-south-1 : -584702181950- aws-glue-studio-transforms -1 prod-ap-south

  • ap-south-2 : -380279651983- -2 aws-glue-studio-transforms prod-ap-south

  • ap-southeast-1 : -737106620487- -1 aws-glue-studio-transforms prod-ap-southeast

  • ap-southeast-2 : -234881715811- -2 aws-glue-studio-transforms prod-ap-southeast

  • ap-southeast-3 : -151265630221- -3 aws-glue-studio-transforms prod-ap-southeast

  • ap-southeast-4 : -052235663858- -4 aws-glue-studio-transforms prod-ap-southeast

  • ca-central-1 : -622716468547- aws-glue-studio-transforms -1 prod-ca-central

  • ca-west-1 : -915795495192- aws-glue-studio-transforms -1 prod-ca-west

  • eu-central-1 : -560373232017- aws-glue-studio-transforms -1 prod-eu-central

  • aws-glue-studio-transformseu-central-2 : -907358657121- -2 prod-eu-central

  • eu-north-1 : -312557305497- -1 aws-glue-studio-transforms prod-eu-north

  • eu-south-1 : -939684186351- -1 aws-glue-studio-transforms prod-eu-south

  • eu-south-2 : -239737454084- -2 aws-glue-studio-transforms prod-eu-south

  • eu-west-1 : aws-glue-studio-transforms -244479516193- -1 prod-eu-west

  • eu-west-2 : aws-glue-studio-transforms -804222392271- -2 prod-eu-west

  • eu-west-3 : aws-glue-studio-transforms -371299348807- -3 prod-eu-west

  • aws-glue-studio-transformsil-central-1 : -806964611811- -1 prod-il-central

  • me-central-1 : -733304270342- aws-glue-studio-transforms -1 prod-me-central

  • me-south-1 : -112120182341- -1 aws-glue-studio-transforms prod-me-south

  • sa-east-1 : -881619130292- aws-glue-studio-transforms -1 prod-sa-east

  • us-east-1 : -510798373988- aws-glue-studio-transforms -1 prod-us-east

  • aws-glue-studio-transformsus-east-2 : -251189692203- -2 prod-us-east

  • us-west-1 : aws-glue-studio-transforms -593230150239- -1 prod-us-west

  • us-west-2 : aws-glue-studio-transforms -818035625594- -2 prod-us-west

  • ap-northeast-1 : -200493242866- -1 aws-glue-studio-transforms prod-ap-northeast

  • cn-north-1 : aws-glue-studio-transforms -071033555442- -1 prod-cn-north

  • cn-northwest-1 : -070947029561- -1 aws-glue-studio-transforms prod-cn-northwest

  • us-gov-west-1 : aws-glue-studio-transforms -227493901923- -1-2604 prod-us-gov-west

Si vous le souhaitez Amazon Redshift comme source de données, vous pouvez attribuer un rôle aux autorisations de cluster. Les tâches exécutées sur un Amazon Redshift cluster émettent des commandes qui accèdent à Amazon S3 pour un stockage temporaire à l'aide d'informations d'identification temporaires. Si votre tâche s'exécute pendant plus d'une heure, ces informations d'identification expirent, ce qui entraîne l'échec de la tâche. Pour éviter ce problème, vous pouvez attribuer un rôle au cluster Amazon Redshift lui-même qui accorde les autorisations nécessaires aux tâches utilisant des informations d'identification temporaires. Pour de plus amples informations, veuillez consulter la rubrique Déplacement de données vers et depuis Amazon Redshift dans le Guide du développeur AWS Glue .

Si la tâche utilise des sources ou des cibles de données autres qu'Amazon S3, vous devez attacher les autorisations nécessaires au rôle IAM utilisé par la tâche pour accéder à ces sources et cibles de données. Pour de plus amples informations, veuillez consulter Configuration de votre environnement pour accéder aux magasins de données dans le Guide du développeur AWS Glue .

Si vous utilisez des connecteurs et des connexions pour votre magasin de données, vous avez besoin d'autorisations supplémentaires, comme décrit dans Autorisations requises pour l'utilisation de connecteurs.

Autorisations requises pour supprimer des tâches

Dans AWS Glue Studio, vous pouvez sélectionner plusieurs tâches à supprimer dans la console. Pour effectuer cette action, vous devez disposer de l'autorisation glue:BatchDeleteJob. Ceci est différent de la console AWS Glue, qui nécessite une autorisation glue:DeleteJob pour supprimer des tâches.

AWS Key Management Service autorisations

Si vous prévoyez d'accéder aux sources et aux cibles Amazon S3 qui utilisent le chiffrement côté serveur avec AWS Key Management Service (AWS KMS), associez une politique au AWS Glue Studio rôle utilisé par la tâche qui permet à la tâche de déchiffrer les données. Le rôle de la tâche nécessite les autorisations kms:ReEncrypt, kms:GenerateDataKey et kms:DescribeKey. En outre, le poste doit être kms:Decrypt autorisé à charger ou à télécharger un objet Amazon S3 chiffré à l'aide d'une clé principale AWS KMS du client (CMK).

L'utilisation entraîne des frais supplémentaires AWS KMS CMKs. Pour plus d'informations, consultez les sections AWS Key Management Service Concepts - Customer Master Keys (CMKs) et AWS Key Management Service Tarification dans le guide du AWS Key Management Service développeur.

Autorisations requises pour l'utilisation de connecteurs

Si vous utilisez un connecteur personnalisé AWS Glue et une connexion pour accéder à un magasin de données, le rôle utilisé pour exécuter la tâche ETL AWS Glue nécessite l'attribution d'autorisations supplémentaires :

  • Politique gérée par AWS AmazonEC2ContainerRegistryReadOnly pour accéder aux connecteurs achetés auprès de AWS Marketplace.

  • Les autorisations glue:GetJob et glue:GetJobs.

  • AWS Secrets Manager autorisations d'accès aux secrets utilisés avec les connexions. Consultez Example: Permission to retrieve secret values (Exemple : Autorisation pour récupérer des valeurs secrètes) pour obtenir des exemples de politiques IAM.

Si votre tâche ETL AWS Glue s'exécute dans un VPC exécutant Amazon VPC, alors le VPC doit être configuré comme décrit dans Configuration d'un VPC pour votre tâche ETL.