GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER¶
Generiert ein kurzlebiges Zugriffstoken für einen Snowflake-Benutzenden, das als Kennwort verwendet werden kann, wenn er oder sie sich bei einer Snowflake Postgres-Instanz anmeldet, bei der das AUTHENTICATION_AUTHORITY-Attribut auf POSTGRES_OR_SNOWFLAKE festgelegt ist.
Kurzlebige Zugriffstoken, die mit dieser Funktion generiert werden, haben eine Lebensdauer von 15 Minuten. Sobald sie abgelaufen sind, können sie nicht mehr verwendet werden, um neue Verbindungen zur Snowflake Postgres-Instanz herzustellen.
Weitere Details dazu finden Sie unter Snowflake-Token-Authentifizierung für Snowflake Postgres.
Syntax¶
GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('<snowflake_postgres_instance_name>', '<postgres_username>')
Argumente¶
snowflake_postgres_instance_nameGibt den Namen der Snowflake Postgres-Instanz an, für die das kurzlebige Zugriffstoken generiert werden soll. Wenn die angegebene Instanz nicht existiert oder der ausführende Benutzende nicht die Eigentümerschaft oder die USAGE-Berechtigung für die Instanz hat, schlägt die Ausführung der Funktion fehl.
Bei diesem Argument wird die Groß-/Kleinschreibung nicht berücksichtigt. Verwenden Sie doppelte Anführungszeichen, wenn die Groß-/Kleinschreibung relevant ist.
postgres_usernameGibt den Postgres-Benutzernamen an, für den das kurzlebige Zugriffstoken generiert werden soll. Dieses Argument wird nicht validiert, wodurch nicht verwendbare Token für Postgres-Benutzende erstellt werden können, die nicht existieren oder keinem Snowflake-Benutzenden zugeordnet sind. Gültige Token können verwendet werden, wenn anschließend eine Zuordnung erstellt wird.
Bei diesem Argument wird die Groß-/Kleinschreibung berücksichtigt.
Rückgabewerte¶
Gibt ein kurzlebiges Zugriffstoken zurück, das eine Lebensdauer von 15 Minuten hat.
Anforderungen an die Zugriffssteuerung¶
Die Ausführung dieser Funktion für eine bestimmte Snowflake Postgres-Instanz kann nur vom Besitzenden der Instanz oder von Benutzenden, denen die Berechtigung USAGE dafür erteilt wurde, durchgeführt werden.
Beispiele¶
Der Snowflake-Benutzende Casey kann ein kurzlebiges Zugriffstoken generieren, das bei der Anmeldung bei reporting_server mit einem Postgres-Benutzenden namens reporting_user verwendet werden kann:
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('reporting_server', 'reporting_user');
Wenn der Name der Instanz unter Berücksichtigung der Groß-/Kleinschreibung als Reporting_server erstellt wurde, dann sind doppelte Anführungszeichen für den Instanznamen erforderlich:
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('"Reporting_server"', 'reporting_user');