Integration von Snowflake
GAPTEQ unterstützt eine direkte Connection zu Snowflake. Über die Key-Pair Authentication können Anwender eine sichere Verbindung herstellen und bequem über das GAPTEQ Web-Frontend mit Ihren Snowflake Daten arbeiten.
In diesem Artikel lesen Sie folgende Inhalte:
Key-Pair Authentication einrichten
Snowflake Connection konfigurieren
Besonderheiten beim Arbeiten mit Snowflake
1. Key-Pair Authentication einrichten
Die Key-Pair Authentication ist der Standard für die Service-zu-Service Verbindungen zwischen GAPTEQ und Snowflake, da die generierten Schlüssel (im Gegensatz zu OAuth Tokens) nicht ablaufen und sicherer sind als statische Passwörter.
Sofern der Service nicht auf dem eigenen System verfügbar ist (bei Mac/Linux bzw. WSL meist verfügbar), erzeugt man beispielsweise über das Tool openssl einen privaten Schlüssel (für GAPTEQ) und einen öffentlichen Schlüssel (für Snowflake).
Folgende Befehle sind dazu auf der Konsole (bspw. Windows PowerShell) auszuführen:
-
Privaten Schlüssel erstellen (verschlüsselt mit Passphrase): Das gefragte Passwort am besten gleich notieren!
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8
-
Öffentlichen Schlüssel aus dem privaten extrahieren:
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
Im Ergebnis existieren nun zwei Dateien:
- rsa_key.p8: Das Geheimnis. Der Inhalt geht zu Gapteq
- rsa_key.pub: Der öffentliche Teil wird für die Snowflake-Konfiguration benötigt.
2. Snowflake Connection konfigurieren
Der Inhalt der öffentlichen Datei kann wie folgt aussehen:

- im nächsten Schritt wird der Datei-Inhalt (der SQL-Befehl) in Snowflake ausgeführt
ACHTUNG! nur den Inhalt zwischen Header- und Footer-Zeile (alles in einer Zeile, also ohne -----BEGIN... und -----END...) kopieren und diesen SQL-Befehl in Snowflake als SECURITYADMIN oder ACCOUNTADMIN ausführen
-
Der Platzhalter ' your_user ' wird durch den echten User ersetzt und der lange String durch Ihren Public Key Inhalt:
-> ALTER USER your_user SET RSA_PUBLIC_KEY = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCA...';
3. Connection in GAPTEQ aufbauen
- Im Snowflake Portal unter dem "Accountnamen" -> "Account" -> "View account details" sind die Verbindungsdaten im Reiter „Config file“ oder “Connection/Drivers” sichtbar
- Im GAPTEQ-Designer unter dem Reiter "Connections" kann die Verbindungsart "Snowflake" gewählt werden - dort werden die entsprechenden Daten abgefragt
Tipp! Unter dem Reiter "Private key content" kann die erzeugte "rsa_key.p8" ausgewählt werden - hier wird nun das zuvor vergebene PW benötigt.

4. Besonderheiten beim Arbeiten mit Snowflake
Notiz! Beim Verwenden von Session Variablen im Logon Script ist im Vergleich zu anderen Datenquellen ein Unterschied zu beachten. Die Variablen werden auf Snowflake Basis über ein SELECT SQL Statement befüllt.
- Von anderen Datenquellen ist das Setzen von Session Variablen über den Weg "SET @variablename =“ bekannt. Ein SELECT SQL Statement auf Snowflake kann beispielhaft so aussehen:
SELECT 102 as @ServerTestCount (--> Hier wird der Variable der Wert 102 zugeordnet)
Tipp! Außerdem ist zu beachten, dass nur EIN SQL Statement gesetzt sein darf. Mehrere durch Semikolon getrennte SQL Befehle sind nicht erlaubt.