Übersicht zur Snowflake-Authentifizierung

In den folgenden Abschnitten werden die Authentifizierungsmethoden beschrieben, die Benutzer und Anwendungen für den Zugriff auf Snowflake verwenden können. Außerdem werden wichtige Hinweise gegeben, die Ihnen bei der Auswahl der besten Authentifizierungsmethode für Ihren Anwendungsfall helfen.

Auswählen der Authentifizierung für Snowsight

Snowsight ist die Benutzeroberfläche für Snowflake. Dieser Abschnitt bietet eine Übersicht über die Authentifizierungsmethoden, mit denen sich Benutzer bei Snowsight anmelden können, gefolgt von einem Vergleich der Methoden.

Bemerkung

Wenn Sie ein Snowflake-Benutzerobjekt für eine Person erstellen, die sich bei Snowsight authentifiziert, geben Sie TYPE = PERSON an. Weitere Informationen zu Benutzertypen finden Sie unter Benutzertypen.

Single Sign-On (SSO)

Durch SSO für Snowsight authentifizieren sich Benutzer über einen externen Identitätsanbieter (IdP) statt direkt bei Snowflake. Wenn ein Benutzer auf Snowsight zugreift, enthält die Anmeldeseite eine Option zur Authentifizierung mit dem IdP anstelle eines von Snowflake verwalteten Kennworts. Der IdP bestätigt die Identität des Benutzers und sendet dann eine SAML-Assertion (Security Assertion Markup Language) an Snowflake. Da Snowflake und der IdP zuvor eine Vertrauensbeziehung etabliert haben, akzeptiert Snowflake die Assertion als Beleg der Benutzeridentität und gewährt dem Benutzer den Zugriff auf Snowsight.

Einige Organisationen nutzen denselben IdP, um für alle Anwendungen der Organisation SSO bereitzustellen. Diese Organisationen können Snowflake einfach als neuen Serviceanbieter (SP) hinzufügen und so den Mitarbeitern die Nutzung des IdP für den Zugriff auf Snowsight zu ermöglichen.

Benutzername und Kennwort mit MFA (mehrstufiger Authentifizierung)

Die Authentifizierung per Kennwort ermöglicht Benutzern den Zugriff auf Snowsight über die Eingabe einer Zeichenfolge, die den Anforderungen einer Kennwortrichtlinie entspricht. Um die Sicherheit dieser Authentifizierungsmethode zu erhöhen, fordert Snowflake MFA von allen Kennwortbenutzern. Bei MFA gibt der Benutzer ein Kennwort ein und bestätigt dann seine Identität mit einem zweiten Authentifizierungsfaktor. Ein Benutzer könnte zum Beispiel eine auf seinem Computer gespeicherte Kennung als zweiten Authentifizierungsfaktor verwenden.

In der folgenden Tabelle sind die Authentifizierungsmethoden, mit denen sich Benutzer bei Snowsight anmelden können, einander gegenübergestellt:

Methode

Vorteile

Herausforderungen

Single Sign-On . Bevorzugte Option

Ermöglicht es einer Organisation, die Authentifizierung zentral zu verwalten. Ein Benutzer authentifiziert sich über denselben IdP für alle Anwendungen der Organisation, nicht nur für Snowflake.

Ideal für Organisationen, die bereits über einen IdP für Anwendungen SSO bereitstellen.

Erfordert die Konfiguration eines externen IdP.

Kennwort mit MFA

Einfache Implementierung.

Wenn Kennwörter von Snowflake verwaltet werden, muss eine Organisation das Authentifizierungs-Setup für alle ihre Anwendungen wiederholen.

Übersicht über Authentifizierungsmethoden für Anwendungen

In Bezug auf dieses Thema bezieht sich Anwendung auf alles, was mittels eines Programms und nicht über die Snowsight-Benutzeroberfläche auf Snowflake-Daten zugreift. Diese Definition umfasst benutzerdefinierte Webanwendungen, mehrinstanzenfähige Anwendungen von Drittanbietern, Desktopanwendungen, lokale Skripte und Workloads in der Cloud.

Bei der Erörterung der verfügbaren Authentifizierungsmethoden wird zwischen zwei Typen von Anwendungen unterschieden:

  • Eine interaktive Anwendung, die mit einer Person interagiert und sich im Namen dieser Person bei Snowflake authentifiziert, wie z. B. ein Business Intelligence (BI)-Tool, das mit Analysten interagiert.

  • Eine Service-zu-Service-Anwendung, die nicht mit einer Person interagiert und eine eigene Authentifizierungsmethode für den Service hat; zum Beispiel eine CI/CD-Pipeline

Workload Identity Federation (WIF)

Die Workload Identity Federation ist als Form der geheimnislosen Authentifizierung sehr sicher, da sie kurzlebige Anmeldeinformationen nutzt, die für Cloud-Workloads bereits verfügbar sind. Dadurch entfällt die Notwendigkeit, Geheimnisse zu verwalten und zu rotieren.

Wenn eine Workload über einen Cloudanbieter wie AWS EC2, Microsoft Azure-VMsoder Google Cloud-VMs ausgeführt wird, kann die Workload Identity Federation die Workload über Snowflake authentifizieren, indem der native Identitätsmechanismus des Cloudanbieters verwendet wird. Beispiel: Eine Workload, die auf AWS EC2 ausgeführt wird, kann eine Berechtigung – d. h. den Nachweis ihrer Identität – von einer AWS-Identitäts- und Zugriffsverwaltungs (IAM)-Rolle, die mit der Workload verbunden ist, erhalten. Der Workload-Treiber erhält die Berechtigung vom nativen Identitätsmechanismus und sendet sie dann zur Workload-Authentifizierung an Snowflake.

Die Workload Identity Federation erlaubt auch Workloads von Drittanbietern wie GitHub-Aktionen und Workloads, die in Kubernetes ausgeführt werden, um sich über einen OpenID Connect-kompatiblen Identitätsanbieter (IdP) in einem als OIDC-Verbund bezeichneten Prozess zu authentifizieren. Snowflake akzeptiert ID-Token, die vom IdP als Nachweis der Workload-Identität generiert werden.

Geeignet für:

  • Service-zu-Service-Anwendungen

OAuth mit Snowflake als Autorisierungsserver (Snowflake OAuth)

Snowflake OAuth bietet die Sicherheit des OAuth 2.0-Autorisierungsframework. Bei Snowflake OAuth ist Snowflake sowohl der Autorisierungsserver, der einen Snowflake-Benutzer authentifiziert, als auch der Ressourcenserver, der ein Zugriffstoken vom Client akzeptiert, um auf die Daten dieses Benutzers zuzugreifen. Bei Snowflake OAuth kann der Client den Autorisierungscode als Gewährungstyp verwenden.

Da Snowflake der Autorisierungsserver ist, verwendet der Benutzer, der mit der Anwendung interagiert, zur Authentifizierung die Snowflake-Benutzeroberfläche. Sie können Snowflake so konfigurieren, dass der Benutzer mit Single Sign-On (SSO) oder einem Kennwort authentifiziert wird. Weitere Informationen zu den Vorteilen und Herausforderungen von SSO und der Kennwortauthentifizierung finden Sie unter Auswählen der Authentifizierung für Snowsight.

Geeignet für:

  • Interaktive Anwendungen

OAuth mithilfe eines Autorisierungsservers eines Drittanbieters (External OAuth)

External OAuth bietet ebenfalls die Sicherheit von OAuth 2.0, aber als Autorisierungsserver fungiert ein externer IdP und nicht Snowflake. Eine Anwendung erhält ein Zugriffstoken von einem externen IdPund greift dann über das Token auf Snowflake als Ressource zu.

Eine Service-zu-Service-Anwendung könnte mit Clientanmeldeinformationen als Gewährungstyp auf ihre eigenen Snowflake-Daten zugreifen. Eine interaktive Anwendung könnte mit dem Autorisierungscode als Gewährungstyp auf die Snowflake-Daten einer Person zugreifen, die die Anwendung verwendet.

Geeignet für:

  • Interaktive Anwendungen

  • Service-zu-Service-Anwendungen

Schlüsselpaar-Authentifizierung

Die Schlüsselpaar-Authentifizierung basiert auf einem kryptographischen Schlüsselpaar: einem privaten Schlüssel und einem öffentlichen Schlüssel. Der private Schlüssel ist ein Geheimnis, das von der Anwendung aufbewahrt wird, während der öffentliche Schlüssel einem Snowflake-Benutzerobjekt zugeordnet ist. Während der Authentifizierung sendet die Anwendung den Nachweis, dass sie über den privaten Schlüssel verfügt, und Snowflake antwortet mit der Überprüfung, ob der private Schlüssel dem dem Snowflake-Benutzer zugeordneten öffentlichen Schlüssel entspricht. Durch dieses Authentifizierungsverfahren entfällt das Übertragen oder Speichern von Kennwörtern, wodurch das Risiko eines Diebstahls von Anmeldeinformationen verringert wird.

Geeignet für:

  • Service-zu-Service-Anwendungen

Obwohl dies nicht der Standardanwendungsfall ist, kann die Schlüsselpaar-Authentifizierung auch für interaktive Anwendungen verwendet werden.

Programmgesteuerte Zugriffstoken (PATs)

Ein PAT ist eine zeitlich begrenzte Anmeldeinformation, die es Anwendungen ermöglicht, sich ohne Kennwort zu authentifizieren. Ein PAT kann als Ersatz für ein Ein-Faktor-Kennwort in Szenarien verwendet werden, in denen MFA oder sicherere Authentifizierungsmethoden nicht funktionieren. Ein PAT ist stärker als ein Kennwort, da es sich um eine kurzlebige Anmeldeinformation handelt, die die Implementierung zusätzlicher Sicherheitsmaßnahmen erfordert und auf eine bestimmte Rolle der Zugriffssteuerung beschränkt werden kann.

Geeignet für:

  • Interaktive Anwendungen

  • Service-zu-Service-Anwendungen

Auswählen der Authentifizierung für interaktive Anwendungen

Eine interaktive Anwendung ist eine Anwendung, die mit einer Person interagiert und sich im Namen dieser Person bei Snowflake authentifiziert. Die folgende Tabelle enthält die Vor- und Nachteile von Authentifizierungsmethoden, die Sie für interaktive Anwendungen verwenden können. Einen Überblick über diese Authentifizierungsmethoden finden Sie unter Übersicht über Authentifizierungsmethoden für Anwendungen.

Bemerkung

Wenn Sie Snowflake-Benutzerobjekte für die Personen erstellen, die eine interaktive App verwenden, geben Sie TYPE = PERSON an. Weitere Informationen zu Benutzertypen finden Sie unter Benutzertypen.

Methode

Vorteile

Herausforderungen

Snowflake OAuth . Starke Option

  • Ist unter Umständen einfacher zu implementieren als External OAuth.

  • Lokale Anwendungen, z. B. ein Skript, das in VS-Code ausgeführt wird, kann eine integrierte Implementierung von Snowflake OAuth verwenden, die die Sicherheit von OAuth ohne administrative Einrichtung bietet. Mehr erfahren

  • Verhindert Treibereinschränkungen.

  • Benutzer können den Zugriff mit Single Sign-On (SSO) autorisieren, wodurch sie die sicheren Authentifizierungsmethoden eines externen IdP verwenden können.

Keine.

External OAuth . Starke Option

  • Wenn der IdP dies unterstützt, kann die Person, die die Anwendung verwendet, eine geheimnislose Form der Authentifizierung verwenden.

  • Ideal für Organisationen, die bereits einen externen IdP als Autorisierungsserver für ihre Anwendungen verwenden.

Erfordert Fachkenntnisse bei der Konfiguration eines externen IdP als Autorisierungsserver.

Programmgesteuertes Zugriffstoken (PAT)

  • Einfacher Ersatz für Ein-Faktor-Kennwörter.

  • Von Snowflake generierte Anmeldeinformationen, die außerhalb von Snowflake nicht wiederverwendet werden können.

  • Kann auf eine bestimmte Rolle für die Zugriffssteuerung beschränkt werden, damit der Schaden bei Kompromittierung begrenzt bleibt.

  • Snowflake erfordert, dass Sie zusätzliche Sicherheitsmaßnahmen implementieren, um die Risiken bei der Verwendung von langlebigen Geheimnissen zu mindern.

  • GitHub-Geheimnisscanner-Programm erkennt automatisch geleakte Snowflake-PATs in öffentlichen Repositorys, deaktiviert diese und benachrichtigt Snowflake-Administratoren.

  • Im Gegensatz zu Schlüsselpaaren ist die Sicherheit sowohl auf dem Client als auch auf dem Server erforderlich.

  • Im Gegensatz zu Schlüsselpaaren muss das Geheimnis in der Anforderung an Snowflake gesendet werden, was die Exposition erhöht.

  • Bei Kompromittierung kann sich jeder, der im Besitz des Geheimnisses ist, als die Anwendung ausgeben.

  • Sicherheitsrisiken, die mit langlebigen Anmeldeinformationen verbunden sind, müssen durch andere Sicherheitsmaßnahmen wie einer robusten Speicher- und Rotationsstrategie gemindert werden.

  • Da Netzwerkrichtlinien erforderlich sind, müssen Sie Ihren Kunden bei einer Cloudanwendung mit mehreren Mandanten Ihre IP-Adressen zur Verfügung stellen, damit diese eine Netzwerkrichtlinie erstellen können, die diese Adressbereiche zulässt.

  • Das Eingabefeld für PATs muss mindestens 256 Zeichen lang sein.

Schlüsselpaar

  • Flexible Authentifizierungsmethode.

  • Kennwortlose Anmeldeinformationen, die nicht in einer Anforderung offengelegt werden.

  • Wird normalerweise nicht für interaktive Anwendungen verwendet.

  • Sicherheitsrisiken, die mit langlebigen Anmeldeinformationen verbunden sind, müssen durch andere Sicherheitsmaßnahmen wie Netzwerkrichtlinien und einer robusten Speicher- und Rotationsstrategie gemindert werden. Im Gegensatz zu programmgesteuerten Zugriffstoken erfordert das Schlüsselpaar keine zusätzlichen Maßnahmen, was zu einer weniger sicheren Authentifizierung führen kann.

Auswählen der Authentifizierung für Service-zu-Service-Anwendungen

Eine Service-zu-Service-Anwendung interagiert nicht mit einer Person und hat eine spezielle Authentifizierungsmethode für den Service. Die folgende Tabelle enthält die Vorteile und Herausforderungen im Zusammenhang mit Authentifizierungsmethoden, die Sie für Service-zu-Service-Anwendungen verwenden können. Einen Überblick über diese Authentifizierungsmethoden finden Sie unter Übersicht über Authentifizierungsmethoden für Anwendungen.

Bemerkung

Wenn Sie ein Snowflake-Benutzerobjekt für eine Service-zu-Service-Anwendung erstellen, geben Sie TYPE = SERVICE an. Weitere Informationen zu Benutzertypen finden Sie unter Benutzertypen.

Methode

Vorteile

Herausforderungen

Workload Identity Federation . Bevorzugte Option

  • Geheimnislose Authentifizierung.

  • Administratoren müssen den Client-IDs und -Geheimnisse nicht kontinuierlich sichern und rotieren.

Keine.

External OAuth . Starke Option

  • Wenn der IdP dies unterstützt, kann die Anwendung eine geheimnislose Form der Authentifizierung verwenden.

  • Ideal für Organisationen, die bereits einen externen IdP als Autorisierungsserver für ihre Anwendungen verwenden.

Erfordert Fachkenntnisse bei der Konfiguration eines externen IdP als Autorisierungsserver.

Schlüsselpaar

  • Flexible Authentifizierungsmethode.

  • Kennwortlose Anmeldeinformationen, die nicht in einer Anforderung offengelegt werden.

Sicherheitsrisiken, die mit langlebigen Anmeldeinformationen verbunden sind, müssen durch andere Sicherheitsmaßnahmen wie Netzwerkrichtlinien und einer robusten Speicher- und Rotationsstrategie gemindert werden. Im Gegensatz zu programmgesteuerten Zugriffstoken erfordert das Schlüsselpaar keine zusätzlichen Maßnahmen, was zu einer weniger sicheren Authentifizierung führen kann.

Programmgesteuertes Zugriffstoken (PAT)

  • Einfacher Ersatz für Ein-Faktor-Kennwörter.

  • Von Snowflake generierte Anmeldeinformationen, die außerhalb von Snowflake nicht wiederverwendet werden können.

  • Kann auf eine bestimmte Rolle für die Zugriffssteuerung beschränkt werden, damit der Schaden bei Kompromittierung begrenzt bleibt.

  • Snowflake erfordert, dass Sie zusätzliche Sicherheitsmaßnahmen implementieren, um die Risiken bei der Verwendung von langlebigen Geheimnissen zu mindern.

  • GitHub-Geheimnisscanner-Programm erkennt automatisch geleakte Snowflake-PATs in öffentlichen Repositorys, deaktiviert diese und benachrichtigt Snowflake-Administratoren.

  • Im Gegensatz zu Schlüsselpaaren ist die Sicherheit sowohl auf dem Client als auch auf dem Server erforderlich.

  • Im Gegensatz zu Schlüsselpaaren muss das Geheimnis in der Anforderung an Snowflake gesendet werden, was die Exposition erhöht.

  • Bei Kompromittierung kann sich jeder, der im Besitz des Geheimnisses ist, als die Anwendung ausgeben.

  • Sicherheitsrisiken, die mit langlebigen Anmeldeinformationen verbunden sind, müssen durch andere Sicherheitsmaßnahmen wie einer robusten Speicher- und Rotationsstrategie gemindert werden.