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>"
]
}
]
}
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 RessourcentypenWenn 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;
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.