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

Accès aux tables Amazon S3 à l'aide du AWS Glue Iceberg REST point de terminaison

Mode de mise au point
Accès aux tables Amazon S3 à l'aide du AWS Glue Iceberg REST point de terminaison - Amazon Simple Storage Service

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.

Une fois que vos compartiments de table S3 sont intégrés au, AWS Glue Data Catalog vous pouvez utiliser AWS Glue Iceberg REST point de terminaison pour vous connecter à vos tables S3 depuis Apache Iceberg-clients compatibles, tels que PyIceberg or Spark. Le AWS Glue Iceberg REST endpoint implémente le Iceberg REST Spécification de l'API Catalog Open qui fournit une interface standardisée pour interagir avec Iceberg tables. Pour accéder aux tables S3 à l'aide du point de terminaison, vous devez configurer les autorisations via une combinaison de politiques et d' AWS Lake Formation autorisations IAM. Les sections suivantes expliquent comment configurer l'accès, notamment en créant le rôle IAM nécessaire, en définissant les politiques requises et en établissant les autorisations de Lake Formation pour l'accès à la base de données et au niveau de la table.

Pour une procédure pas à pas de bout en bout en utilisant PyIceberg, voir Accès aux données dans les tables Amazon S3 à l'aide de PyIceberg par le biais du AWS Glue Iceberg REST point de terminaison.

Créez un rôle IAM pour votre client

Pour accéder aux tables via des AWS Glue points de terminaison, vous devez créer un rôle IAM avec des autorisations AWS Glue et des actions Lake Formation. Cette procédure explique comment créer ce rôle et configurer ses autorisations.

  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

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

  3. Choisissez Créer une politique, puis JSON dans l’éditeur de politique.

  4. Ajoutez la politique en ligne suivante qui accorde des autorisations d'accès AWS Glue et des actions relatives à Lake Formation :

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow" "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:<region>:<account-id>:catalog", "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog", "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog/<s3_table_bucket_name>", "arn:aws:glue:<region>:<account-id>:table/s3tablescatalog/<s3_table_bucket_name>/<namespace>/*", "arn:aws:glue:<region>:<account-id>:database/s3tablescatalog/<s3_table_bucket_name>/<namespace>" ] } ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Définir l'accès dans Lake Formation

Lake Formation fournit un contrôle d'accès précis pour vos tables de lacs de données. Lorsque vous avez intégré votre compartiment S3 au AWS Glue Data Catalog, vos tables ont été automatiquement enregistrées en tant que ressources dans Lake Formation. Pour accéder à ces tables, vous devez accorder des autorisations spécifiques à Lake Formation pour votre identité IAM, en plus de ses autorisations de politique IAM.

Les étapes suivantes expliquent comment appliquer les contrôles d'accès à Lake Formation pour permettre à votre Iceberg client pour se connecter à vos tables. Vous devez vous connecter en tant qu'administrateur du lac de données pour appliquer ces autorisations.

Autoriser les moteurs externes à accéder aux données des tables

Dans Lake Formation, vous devez activer l'accès complet aux tables pour que les moteurs externes puissent accéder aux données. Cela permet aux applications tierces d'obtenir des informations d'identification temporaires auprès de Lake Formation lorsqu'elles utilisent un rôle IAM disposant d'autorisations complètes sur la table demandée.

Ouvrez la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/.

  1. Ouvrez la console Lake Formation à l'https://console.aws.amazon.com/lakeformation/adresse et connectez-vous en tant qu'administrateur de lac de données.

  2. Dans le volet de navigation, sous Administration, sélectionnez Paramètres d'intégration des applications.

  3. Sélectionnez Autoriser les moteurs externes à accéder aux données dans les emplacements Amazon S3 avec un accès complet aux tables. Ensuite, choisissez Save (Enregistrer).

Octroi des autorisations Lake Formation sur vos ressources de table

Ensuite, accordez à Lake Formation des autorisations pour le rôle IAM que vous avez créé pour votre client compatible avec Iceberg. Ces autorisations permettront au rôle de créer et de gérer des tables dans votre espace de noms. Vous devez fournir des autorisations au niveau de la base de données et au niveau de la table :

Pour accorder des autorisations de base de données

  1. Ouvrez la AWS Lake Formation console sur https://console.aws.amazon.com/lakeformation/et connectez-vous en tant qu'administrateur du lac de données.

  2. Dans le volet de navigation, choisissez Autorisations de données, puis Accorder.

  3. Sur la page Accorder des autorisations, sous Principaux, sélectionnez Utilisateurs et rôles IAM, puis sélectionnez le rôle IAM que vous avez créé pour Iceberg AWS Glue  REST endpoint accès.

  4. Sous Balises LF ou ressources de catalogue, choisissez Ressources de catalogue de données nommées.

  5. Pour Catalogues, choisissez le catalogue de AWS Glue données créé pour votre bucket de tables. Par exemple, <accoundID>:s3tablescatalog/<table-bucket-name>.

  6. Pour Bases de données, sélectionnezmynamespace.

  7. Pour les autorisations relatives aux tables, choisissez Créer une table et Décrire.

  8. Choisissez Accorder.

Pour accorder des autorisations aux tables

  1. Ouvrez la AWS Lake Formation console sur https://console.aws.amazon.com/lakeformation/ et connectez-vous en tant qu'administrateur du lac de données.

  2. Dans le volet de navigation, choisissez Autorisations de données, puis Accorder.

  3. Sur la page Accorder des autorisations, sous Principaux, sélectionnez Utilisateurs et rôles IAM, puis sélectionnez le rôle IAM que vous avez créé pour Iceberg AWS Glue REST endpoint accès.

  4. Sous Balises LF ou ressources de catalogue, choisissez Ressources de catalogue de données nommées.

  5. Pour Catalogues, choisissez le catalogue de AWS Glue données créé pour votre bucket de tables. Par exemple, <accoundID>:s3tablescatalog/<table-bucket-name>.

  6. Pour Bases de données, choisissez l’espace de noms de compartiments de tables S3 que vous avez créé.

  7. Pour Tables, choisissez ALL_TABLES.

  8. Pour Autorisations de table, choisissez Super.

  9. Choisissez Accorder.

Configurez votre environnement pour utiliser le point de terminaison

Après avoir configuré le rôle IAM avec les autorisations requises pour accéder aux tables, vous pouvez l'utiliser pour exécuter Iceberg clients de votre machine locale en configurant le AWS CLI avec votre rôle, à l'aide de la commande suivante :

aws sts assume-role --role-arn "arn:aws:iam::<accountid>:role/<glue-irc-role>" --role-session-name <glue-irc-role>

Pour accéder aux tables par le biais du AWS Glue REST point de terminaison, vous devez initialiser un catalogue dans votre Iceberg-client compatible. Cette initialisation nécessite de spécifier des propriétés personnalisées, notamment les propriétés sigv4, l'URI du point de terminaison et l'emplacement de l'entrepôt. Spécifiez ces propriétés comme suit :

  • Propriétés Sigv4 - Sigv4 doit être activé, le nom de signature est glue

  • Emplacement de l'entrepôt - Il s'agit de votre compartiment de table, spécifié dans le format suivant : <accountid>:s3tablescatalog/<table-bucket-name>

  • URI du point de terminaison : reportez-vous au guide de référence des points AWS Glue de terminaison de service pour le point de terminaison spécifique à la région

L'exemple suivant montre comment initialiser un pyIceberg catalogue.

rest_catalog = load_catalog( s3tablescatalog, **{ "type": "rest", "warehouse": "<accountid>:s3tablescatalog/<table-bucket-name>", "uri": "https://glue.<region>.amazonaws.com/iceberg", "rest.sigv4-enabled": "true", "rest.signing-name": "glue", "rest.signing-region": region } )

Pour plus d'informations sur le AWS Glue Iceberg REST implémentation du point de terminaison, voir Connexion au catalogue de données à l'aide AWS Glue Iceberg REST point de terminaison dans le guide de AWS Glue l'utilisateur.

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