Konfigurieren Sie eine Katalogintegration für AWS Glue Iceberg REST

Folgen Sie den Schritten in diesem Thema, um eine Katalogintegration für den AWS Glue Iceberg REST-Endpunkt mit Signaturversion 4 (SigV4)-Authentifizierung zu erstellen.

Schritt 1: Zugriffsberechtigungen für den AWS Glue-Datenkatalog konfigurieren

Erstellen Sie eine IAM-Richtlinie für Snowflake für den Zugriff auf den AWS Glue Data Catalog. Verbinden Sie die Richtlinie mit einer IAM-Rolle, die Sie bei der Erstellung einer Katalogintegration angeben. Eine Anleitung dazu finden Sie unter Erstellen von IAM-Richtlinien und Ändern von Rollenberechtigungsrichtlinien im AWS-Benutzerhandbuch für die Identitäts- und Zugriffsverwaltung.

Snowflake benötigt mindestens die folgenden Berechtigungen für den AWS Glue Data Catalog, um auf Informationen über den Glue Iceberg REST-Katalog zuzugreifen.

  • glue:GetCatalog

  • glue:GetDatabase

  • glue:GetDatabases

  • glue:GetTable

  • glue:GetTables

Die folgende Beispielrichtlinie (im JSON-Format) bietet die erforderlichen Berechtigungen für den Zugriff auf alle Tabellen in einer bestimmten Datenbank.

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

Bemerkung

  • Sie können das Resource-Element dieser Richtlinie ändern, um die zulässigen Ressourcen weiter einzuschränken (z. B. Katalog, Datenbanken oder Tabellen). Weitere Informationen dazu finden Sie unter Von AWS Glue definierte Ressourcentypen

  • Wenn Sie die Verschlüsselung für AWS Glue verwenden, müssen Sie die Richtlinie ändern, um AWS-KMS-Berechtigungen (AWS Key Management Service) hinzuzufügen. Weitere Informationen dazu finden Sie unter Einrichten der Verschlüsselung in AWS Glue.

Schritt 2: Katalogintegration in Snowflake erstellen

Erstellen Sie eine Katalogintegration für den Endpunkt AWS Glue Iceberg REST mit dem Befehl CREATE CATALOG INTEGRATION (Apache Iceberg™ REST). Geben Sie die IAM-Rolle an, die Sie konfiguriert haben. Für CATALOG_NAME verwenden Sie Ihre AWS-Konto-ID.

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

Wobei:

  • CATALOG_URI ist der Dienstendpunkt für den Katalog AWS Glue Iceberg REST.

  • CATALOG_NAME ist die ID Ihres AWS-Kontos.

Weitere Informationen finden Sie unter CREATE CATALOG INTEGRATION (Apache Iceberg™ REST). Dort finden Sie auch Anweisungen für die Konfiguration einer Katalogintegration für AWS Glue.