Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Octroi d'un accès intercompte

Mode de mise au point
Octroi d'un accès intercompte - 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.

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.

L'octroi d'un accès intercompte aux ressources du catalogue de données permet à vos tâches Extract-transform-load (ETL) d'interroger et de joindre des données provenant de comptes différents.

Méthodes d'octroi d'un accès entre comptes dans AWS Glue

Vous pouvez autoriser l'accès à vos données à des AWS comptes externes en utilisant AWS Glue méthodes ou en utilisant des subventions AWS Lake Formation intercomptes. Le AWS Glue les méthodes utilisent des politiques AWS Identity and Access Management (IAM) pour obtenir un contrôle d'accès précis. Lake Formation utilise un modèle d'autorisations GRANT/REVOKE plus simple similaire aux commandes GRANT/REVOKE dans un système de base de données relationnelle.

Cette section décrit l'utilisation du AWS Glue méthodes. Pour de plus amples informations sur l'utilisation des autorisations intercomptes Lake Formation, consultez Octroi des autorisations Lake Formation dans le Guide du développeur AWS Lake Formation .

Il y en a deux AWS Glue méthodes pour accorder un accès multicompte à une ressource :

  • Utilisation d'une politique de ressources de catalogue de données

  • Utilisation d'un rôle IAM

Octroi d'un accès intercompte à l'aide d'une politique de ressource

Voici les étapes générales d'octroi d'un accès intercompte à l'aide d'une politique de ressource de catalogue de données :

  1. Un administrateur (ou toute autre identité autorisée) d'un compte A attache une politique de ressource au catalogue de données dans le compte A. Cette politique accorde au compte B des autorisations intercomptes spécifiques pour effectuer des opérations sur une ressource dans le catalogue du compte A.

  2. Un administrateur du compte B attache une politique IAM à une identité IAM dans le compte B qui délègue les autorisations reçues du compte A.

    L'identité du compte B a désormais accès à la ressource spécifiée dans le compte A.

    L'identité a besoin d'une autorisation accordée à la fois par le propriétaire de la ressource (compte A) et son compte parent (compte B) afin d'être en mesure d'accéder à la ressource.

Octroi d'un accès intercompte avec un rôle IAM

Voici les étapes générales d'octroi d'un accès intercompte à l'aide d'un rôle IAM :

  1. Un administrateur (ou toute autre identité autorisée) dans le compte qui possède la ressource (compte A) crée un rôle IAM.

  2. L'administrateur du Compte A attache une politique au rôle qui accorde des autorisations intercomptes pour l'accès à la ressource en question.

  3. L'administrateur du compte A attache une politique d'approbation au rôle qui identifie une identité IAM dans un compte différent (compte B) comme principal pouvant assumer le rôle.

    Le principal de la politique de confiance peut également être un directeur de AWS service si vous souhaitez accorder à un AWS service l'autorisation d'assumer ce rôle.

  4. Un administrateur dans le compte B délègue désormais des autorisations à une ou plusieurs identités IAM du compte B afin qu'elle puisse assumer ce rôle. Cela donne à ces identités du compte B l'accès à la ressource du compte A.

Pour plus d'informations sur l'utilisation d'IAM pour déléguer des autorisations, veuillez consulter la section Access management (français non garanti) dans le Guide de l'utilisateur IAM. Pour plus d’informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez Identités (utilisateurs, groupes et rôles) dans le Guide de l’utilisateur IAM.

Pour une comparaison de ces deux approches, consultez la section En quoi les rôles IAM diffèrent des politiques basées sur les ressources dans le Guide de l'utilisateur IAM. AWS Glue prend en charge les deux options, avec la restriction selon laquelle une politique de ressources ne peut accorder l'accès qu'aux ressources du catalogue de données.

Par exemple, pour accorder au rôle Dev du compte B l'accès à la base de données db1 du compte A, attachez la politique de ressources suivante au catalogue du compte A.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase" ], "Principal": {"AWS": [ "arn:aws:iam::account-B-id:role/Dev" ]}, "Resource": [ "arn:aws:glue:us-east-1:account-A-id:catalog", "arn:aws:glue:us-east-1:account-A-id:database/db1" ] } ] }

En outre, le compte B devrait attacher la politique IAM suivante au rôle Dev avant d'obtenir l'accès à db1 sur le compte A.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:account-A-id:catalog", "arn:aws:glue:us-east-1:account-A-id:database/db1" ] } ] }

Ajouter ou mettre à jour la politique de ressource du catalogue de données

Vous pouvez ajouter ou mettre à jour le AWS Glue Politique de ressources du catalogue de données à l'aide de la console, de l'API ou AWS Command Line Interface (AWS CLI).

Important

Si vous avez déjà accordé des autorisations intercomptes à partir de votre compte avec AWS Lake Formation, l'ajout ou la mise à jour de la politique de ressource du catalogue de données nécessite une étape supplémentaire. Pour plus d'informations, voir Gestion des autorisations entre comptes à l'aide des deux AWS Glue et Lake Formation in the AWS Lake Formation Developer Guide.

Pour déterminer s'il existe des octrois intercomptes Lake Formation, utilisez l'opération d'API glue:GetResourcePolicies ou l' AWS CLI. Si glue:GetResourcePolicies renvoie des politiques autres qu'une politique de catalogue de données existante, les octrois Lake Formation existent. Pour plus d'informations, consultez la section Affichage de toutes les subventions entre comptes à l'aide du fonctionnement de l' GetResourcePolicies API dans le Guide du AWS Lake Formation développeur.

Pour ajouter ou mettre à jour la politique de ressource du catalogue de données (console)
  1. Ouvrez le fichier AWS Glue console à https://console.aws.amazon.com/glue/.

    Connectez-vous en tant qu'utilisateur administratif AWS Identity and Access Management (IAM) glue:PutResourcePolicy autorisé.

  2. Dans le panneau de navigation, sélectionnez Settings (Paramètres).

  3. Dans la page Paramètres du catalogue de données, sous Permissions (Autorisations), collez une politique de ressource dans la zone de texte. Ensuite, choisissez Save (Enregistrer).

    Si la console affiche une alerte indiquant que les autorisations de la politique s'ajouteront aux autorisations accordées à l'aide de Lake Formation, sélectionnez Proceed (Continuer).

Pour ajouter ou mettre à jour la politique de ressource du catalogue de données (AWS CLI)
  • Soumettez une commande aws glue put-resource-policy. Si des autorisations Lake Formation existent déjà, assurez-vous d'inclure l'option --enable-hybrid avec la valeur 'TRUE'.

    Pour obtenir des exemples d'utilisation de cette commande, veuillez consulter Exemples de politiques basées sur les ressources pour Glue AWS.

Créer un appel d'API intercompte

Tous AWS Glue Data Catalog les opérations ont un CatalogId champ. Si les autorisations requises ont été accordées pour activer l'accès intercompte, un utilisateur peut créer des appels d'API du catalogue de données intercompte. L'appelant effectue cette opération en transmettant l'ID de compte AWS cible dans CatalogId afin d'accéder à la ressource de ce compte de destination.

Si aucune CatalogId valeur n'est fournie, AWS Glue utilise par défaut le propre identifiant de compte de l'appelant, et l'appel n'est pas intercomptes.

Créez un appel ETL intercompte

Momentanée AWS Glue PySpark et Scala APIs ont un champ d'ID de catalogue. Si toutes les autorisations requises ont été accordées pour permettre l'accès entre comptes, une tâche ETL peut effectuer PySpark et Scala appeler des opérations d'API entre comptes en transmettant l'ID du AWS compte cible dans le champ ID du catalogue pour accéder aux ressources du catalogue de données d'un compte cible.

Si aucune valeur d'ID de catalogue n'est fournie, AWS Glue utilise par défaut le propre identifiant de compte de l'appelant, et l'appel n'est pas intercomptes.

Pour PySpark APIs ce supportcatalog_id, voirGlueContext classe. Pour APIs ce support ScalacatalogId, voirAWS Glue Scala GlueContext APIs.

L'exemple suivant montre les autorisations requises par le bénéficiaire pour exécuter une tâche ETL. Dans cet exemple, grantee-account-id est catalog-id le client qui exécute le travail et grantor-account-id le propriétaire de la ressource. Cet exemple accorde l'autorisation à toutes les ressources de catalogue dans le compte du concédant. Pour limiter l'étendue des ressources accordées, vous pouvez fournir des informations spécifiques au catalogue, ARNs à la base de données, à la table et à la connexion.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetConnection", "glue:GetDatabase", "glue:GetTable", "glue:GetPartition" ], "Principal": {"AWS": ["arn:aws:iam::grantee-account-id:root"]}, "Resource": [ "arn:aws:glue:us-east-1:grantor-account-id:*" ] } ] }
Note

Si la table dans le compte du concédant pointe vers un emplacement Amazon S3, qui est également dans le compte du concédant, le rôle IAM utilisé pour exécuter une tâche ETL dans le compte du concédant doit avoir l'autorisation de répertorier et d'obtenir les objets à partir du compte du concédant.

Étant donné que le client du Compte A est déjà autorisé à créer et exécuter des tâches ETL, les étapes élémentaires de configuration d'une tâche ETL pour l'accès intercompte sont les suivantes :

  1. Autorisez l'accès intercompte aux données (ignorez cette étape si l'accès intercompte Amazon S3 est déjà configuré).

    1. Mettez à jour la politique de compartiment Amazon S3 du compte B pour autoriser un accès intercompte à partir du compte A.

    2. Mettez à jour la politique IAM du compte A pour autoriser l'accès au compartiment du Compte B.

  2. Autoriser l'accès intercompte aux catalogues de données.

    1. Créez ou mettez à jour la politique de ressource attachée au catalogue de données dans le compte B pour autoriser l'accès depuis le compte A.

    2. Mettez à jour la politique IAM du compte A pour autoriser l'accès au catalogue de données dans le compte B.

Journalisation entre comptes CloudTrail

Quand un AWS Glue La tâche d'extraction, de transformation et de chargement (ETL) accède aux données sous-jacentes d'une table de catalogue de données partagée via des autorisations AWS Lake Formation entre comptes. Il existe un comportement de AWS CloudTrail journalisation supplémentaire.

Aux fins de cette discussion, le AWS compte qui a partagé la table est le compte propriétaire, et le compte avec lequel la table a été partagée est le compte destinataire. Lorsqu'une tâche ETL du compte destinataire accède aux données de la table du compte propriétaire, l' CloudTrail événement d'accès aux données ajouté aux journaux du compte destinataire est copié dans les journaux du CloudTrail compte propriétaire. Cela permet aux comptes propriétaires de suivre les accès aux données par les différents comptes destinataires. Par défaut, les CloudTrail événements n'incluent pas d'identifiant principal lisible par l'homme (ARN principal). Un administrateur du compte destinataire peut choisir d'inclure l'ARN du principal dans les journaux.

Pour plus d'informations, consultez la section CloudTrailConnexion entre comptes dans le Guide du AWS Lake Formation développeur.

Propriété et facturation des ressources intercomptes

Lorsqu'un utilisateur d'un AWS compte (compte A) crée une nouvelle ressource telle qu'une base de données dans un autre compte (compte B), cette ressource est alors détenue par le compte B, le compte sur lequel elle a été créée. L'administrateur du Compte B obtient automatiquement des autorisations complètes pour accéder à la nouvelle ressource, y compris la lecture, l'écriture et l'octroi d'autorisations d'accès à un compte tiers. L'utilisateur du Compte A peut accéder à la ressource qu'il vient de créer uniquement s'il dispose des autorisations appropriées accordées par le Compte B.

Les coûts de stockage et les autres coûts directement liés à la nouvelle ressource sont facturés au Compte B, le propriétaire de la ressource. Le coût des demandes de l'utilisateur qui a créé la ressource est facturé au compte du demandeur, le Compte A.

Pour plus d'informations sur AWS Glue facturation et tarification, voir Comment fonctionne la AWS tarification.

Limitations des accès inter-comptes

AWS Glue l'accès entre comptes comporte les limites suivantes :

  • Accès multicompte à AWS Glue n'est pas autorisé si vous avez créé des bases de données et des tables à l'aide d'Amazon Athena ou d'Amazon Redshift Spectrum avant le support d'une région pour AWS Glue et le compte du propriétaire de la ressource n'a pas migré le catalogue de données Amazon Athena vers AWS Glue. Vous pouvez consulter le statut actuel de la migration à l'aide duGetCatalogImportStatus (get_catalog_import_status). Pour plus de détails sur la migration d'un catalogue Athena vers AWS Glue, voir Mise à niveau vers AWS Glue Data Catalog step-by-stepdans le guide de l'utilisateur d'Amazon Athena.

  • L'accès intercompte est uniquement pris en charge pour les ressources du catalogue de données, y compris les bases de données, les tables, les fonctions définies par l'utilisateur et les connexions.

  • L'accès entre comptes au catalogue de données depuis Athena nécessite que vous enregistrez le catalogue en tant que ressource DataCatalog d'Athena. Pour obtenir des instructions, consultez la section Enregistrement d'un AWS Glue Data Catalog depuis un autre compte figurant dans le guide de l'utilisateur d'Amazon Athena.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.