Configure uma integração de catálogo para AWS Glue Iceberg REST

Siga as etapas deste tópico para criar uma integração de catálogo para o ponto de extremidade AWS Glue Iceberg REST com autenticação Signature Version 4 (SigV4).

Etapa 1: configurar permissões de acesso para o catálogo de dados do AWS Glue

Crie uma política IAM para que o Snowflake acesse o AWS Glue Data Catalog. Anexe a política a uma função IAM, que você especifica ao criar uma integração de catálogo. Para obter instruções, consulte Criação de políticas de IAM e Modificação de uma política de permissões de função no Guia do usuário do gerenciamento de identidade e acesso do AWS.

No mínimo, o Snowflake requer as seguintes permissões no AWS Glue Data Catalog para acessar informações usando o catálogo Glue Iceberg REST.

  • glue:GetCatalog

  • glue:GetDatabase

  • glue:GetDatabases

  • glue:GetTable

  • glue:GetTables

O exemplo de política a seguir (no formato JSON) fornece as permissões necessárias para acessar todas as tabelas em um banco de dados especificado.

{
   "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

Nota

  • Você pode modificar o elemento Resource desta política para restringir ainda mais os recursos permitidos (por exemplo, catálogo, bancos de dados ou tabelas). Para obter mais informações, consulte Tipos de recursos definidos pelo AWS Glue.

  • Se você usar criptografia para o AWS Glue, deverá modificar a política para adicionar permissões do AWS Key Management Service (AWS KMS). Para obter mais informações, consulte Configuração de criptografia no AWS Glue.

Etapa 2: criar uma integração de catálogo no Snowflake

Crie uma integração de catálogo para o ponto de extremidade AWS Glue Iceberg REST usando o comando CREATE CATALOG INTEGRATION (Apache Iceberg™ REST). Especifique a função IAM que você configurou. Para CATALOG_NAME, use seu ID de conta 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

Onde:

  • CATALOG_URI é o ponto de extremidade do servidor para o catálogo AWS Glue Iceberg REST.

  • CATALOG_NAME é o ID de sua conta AWS.

Para obter mais informações, consulte CREATE CATALOG INTEGRATION (Apache Iceberg™ REST), que inclui instruções para configurar uma integração de catálogo para o AWS Glue.