Snowflake-Token-Authentifizierung für Snowflake Postgres¶
Snowflake ermöglicht es Benutzern, kurzlebige Zugriffstoken zu generieren, die für die Anmeldung bei Snowflake Postgres-Instanzen verwendet werden können. Auf Instanzebene wird dies als Snowflake-Autorisierung bezeichnet und erfolgt in diesen drei Schritten, die im Folgenden erweitert werden:
Aktivieren Sie die Snowflake-Autorisierung für die Snowflake-Postgres-Instanz.
Erstellen Sie auf der Snowflake Postgres-Instanz Zuordnungen zwischen Postgres-Benutzern und Snowflake-Benutzern.
Zugeordnete Snowflake-Benutzer generieren dann kurzlebige Zugriffstoken, die sie beim Anmelden bei der Snowflake Postgres-Instanz verwenden können.
Bemerkung
Die Snowflake-Token-Authentifizierung für Snowflake-Postgres ist ein von den Snowflake Authentifizierungsmethoden :doc:` Snowflake OAuth</user-guide/oauth-snowflake-overview>` und :doc:` Programmgesteuerte Zugriffstoken</user-guide/programmatic-access-tokens>` getrenntes Feature.
Erstellen von Zuordnungen zwischen Postgres-Benutzern und Snowflake-Benutzern¶
Um eine Zuordnung zwischen einem Postgres-Benutzer und einem Snowflake-Benutzer zu erstellen, melden Sie sich bei Ihrer Postgres-Instanz mit dem snowflake_admin-Benutzer an und führen Sie Folgendes aus:
ALTER USER {postgres_user} SET snowflake_user = '{snowflake_user}';
Bei den angegebenen {postgres_user}- und``{snowflake_user}``-Namen in der obigen Anweisung wird die Groß-/Kleinschreibung nicht berücksichtigt. Wenn die Groß-/Kleinschreibung erforderlich ist, setzen Sie die Namen in doppelte Anführungszeichen. So können Sie beispielsweise einen Postgres-Benutzer namens „Casey“ einem Snowflake-Benutzer mit demselben Namen zuordnen:
ALTER USER "Casey" SET snowflake_user = '"Casey"';
Um eine Zuordnung zwischen einem Postgres-Benutzer und einem Snowflake-Benutzer zu entfernen, melden Sie sich bei Ihrer Postgres-Instanz mit dem snowflake_admin-Benutzer an und führen Sie Folgendes aus:
ALTER USER {postgres_user} RESET snowflake_user;
Um anzuzeigen, welche Zuordnungen zwischen Postgres-Benutzern und Snowflake-Benutzern bestehen, melden Sie sich mit dem snowflake_admin-Benutzer bei Ihrer Postgres-Instanz und fragen Sie die SNOWFLAKE_AUTH.IDENTITY_MAPPING Postgres-Ansicht-Ansicht ab.
Bemerkung
Postgres-Benutzer mit Snowflake-Benutzerzuordnungen können sich nur mit generierten kurzlebigen Zugriffstoken anmelden. Sie können sich nicht mit einem Postgres-Kennwort verbinden, und ihre Postgres-Kennwörter können nicht geändert werden. Um die Standard-Kennwortanmeldefunktion für einen bestimmten Postgres-Benutzer wieder zu aktivieren, müssen Sie die entsprechende Zuordnung zu einem Snowflake-Benutzer entfernen.
Erstellen von kurzlebigen Zugriffstoken für zugeordnete Snowflake-Benutzer¶
Eigentümer von Snowflake Postgres-Instanzen und Snowflake-Benutzer mit der USAGE-Berechtigung, die für eine bestimmte Instanz erteilt wird, können selbst für Instanzen, bei denen die Snowflake-Autorisierung aktiviert ist, kurzlebige Kennwörter für Zugriffstoken erstellen. Sie verwenden dazu die Anweisungen oben unter Aktivieren und Deaktivieren der Snowflake-Autorisierung auf Snowflake-Postgres-Instanzen.
Wählen Sie im Navigationsmenü die Option Postgres aus.
Wählen Sie Ihre -Instanz aus.
Wählen Sie im Menü Manage oben rechts die Option Regenerate token aus.
Geben Sie im vorgestellten:ui:
Regenerate token-Dialogfeld den Namen eines Postgres-Benutzers ein, der Ihrem Snowflake-Benutzer zugeordnet wurde, und wählen Sie Acknowledge & continue aus.Kopieren Sie das vorgestellte kurzlebige Zugriffstoken oder die Postgres-URI, um innerhalb der nächsten 15 Minuten neue Verbindungen zur Snowflake Postgres-Instanz herzustellen.
Verwenden Sie die Funktion GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER.
SNOWFLAKE_AUTH.IDENTITY_MAPPING Postgres-Ansicht¶
Diese Snowflake Postgres-Ansicht kann verwendet werden, um eine Liste aller Zuordnungen zwischen Postgres-Benutzern und Snowflake-Benutzern der Instanz abzufragen.
Bemerkung
Diese Ansicht kann nur innerhalb von Snowflake Postgres-Instanzen abgefragt werden und kann nicht direkt aus Snowflake abgefragt werden.
Spalten¶
Spaltenname |
Datentyp |
Beschreibung |
|---|---|---|
postgres_role |
name |
Der Name des zugeordneten Postgres-Benutzers |
snowflake_identity |
text |
Die Snowflake-Benutzeridentität inUSER Form von :#, wobei # die |