Configurez une intégration au catalogue pour AWS Glue Iceberg REST

Suivez les étapes de cette rubrique pour créer une intégration de catalogue pour le point de terminaison AWS Glue Iceberg REST avec authentification Signature Version 4 (SigV4).

Étape 1 : Configurer des autorisations d’accès pour le catalogue de données AWS Glue

Créez une politique IAM pour que Snowflake puisse accéder au catalogue de données AWS Glue. Attachez la politique à un rôle IAM, que vous spécifiez lors de la création d’une intégration au catalogue. Pour des instructions, voir Création de politiques IAM et Modification d’une politique d’autorisations de rôle dans le Guide de l’utilisateur IAM (Identity and Access Management - Gestion de l’identité et de l’accès) AWS.

Au minimum, Snowflake requiert les autorisations suivantes sur le catalogue de données Glue AWS pour accéder aux informations utilisant le catalogue Glue Iceberg REST.

  • glue:GetCatalog

  • glue:GetDatabase

  • glue:GetDatabases

  • glue:GetTable

  • glue:GetTables

L’exemple de politique suivant (au format JSON) fournit les autorisations nécessaires pour pouvoir accéder à toutes les tables d’une base de données spécifique.

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "AllowGlueCatalogTableAccess",
         "Effect": "Allow",
         "Action": [
           "glue:GetCatalog",
           "glue:GetDatabase",
           "glue:GetDatabases",
           "glue:GetTable",
           "glue:GetTables"
         ],
         "Resource": [
            "arn:aws:glue:*:<accountid>:table/*/*",
            "arn:aws:glue:*:<accountid>:catalog",
            "arn:aws:glue:*:<accountid>:database/<database-name>"
         ]
      }
   ]
}
Copy

Note

  • Vous pouvez modifier l’élément Resource de cette politique pour restreindre davantage les ressources autorisées (par exemple, le catalogue, les bases de données ou les tables). Pour plus d’informations, voir Types de ressource définis par AWS Glue

  • Si vous utilisez le chiffrement pour AWS Glue, vous devez modifier la politique pour ajouter des autorisations Key Management Service AWS (AWSKMS). Pour plus d’informations, voir Configuration du chiffrement dans AWS Glue.

Étape 2 : Créer une intégration de catalogue dans Snowflake

Créez une intégration au catalogue pour le point de terminaison AWS Glue Iceberg REST à l’aide de la commande CREATE CATALOG INTEGRATION (Apache Iceberg™ REST). Indiquez le rôle IAM que vous avez configuré. Pour CATALOG_NAME, utilisez l’ID de votre compte AWS.

CREATE CATALOG INTEGRATION glue_rest_catalog_int
  CATALOG_SOURCE = ICEBERG_REST
  TABLE_FORMAT = ICEBERG
  CATALOG_NAMESPACE = 'rest_catalog_integration'
  REST_CONFIG = (
    CATALOG_URI = 'https://glue.us-west-2.amazonaws.com/iceberg'
    CATALOG_API_TYPE = AWS_GLUE
    CATALOG_NAME = '123456789012'
  )
  REST_AUTHENTICATION = (
    TYPE = SIGV4
    SIGV4_IAM_ROLE = 'arn:aws:iam::123456789012:role/my-role'
    SIGV4_SIGNING_REGION = 'us-west-2'
  )
  ENABLED = TRUE;
Copy

Où :

  • CATALOG_URI est le point de terminaison du service pour le catalogue AWS Glue Iceberg REST.

  • CATALOG_NAME est l’ID de votre compte AWS.

Pour plus d’informations, voir CREATE CATALOG INTEGRATION (Apache Iceberg™ REST), où vous trouverez des instructions sur la configuration d’une intégration de catalogue pour AWS Glue.