ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN (PAT)

Erzeugt ein programmatisches Zugriffstoken für einen Benutzer.

Siehe auch:

ALTER USER … MODIFY PROGRAMMATIC ACCESS TOKEN (PAT), ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT), ALTER USER … REMOVE PROGRAMMATIC ACCESS TOKEN (PAT), SHOW USER PROGRAMMATIC ACCESS TOKENS

Syntax

ALTER USER [ IF EXISTS ] [ <username> ] ADD { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
  [ ROLE_RESTRICTION = '<string_literal>' ]
  [ DAYS_TO_EXPIRY = <integer> ]
  [ MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = <integer> ]
  [ COMMENT = '<string_literal>' ]
Copy

Erforderliche Parameter

ADD { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

Erzeugt ein programmatisches Zugriffstoken mit dem angegebenen Namen.

Sie können das Schlüsselwort PAT als eine kürzere Form der Angabe der Schlüsselwörter PROGRAMMATIC ACCESS TOKEN verwenden.

Optionale Parameter

username

Der Name des Benutzers, dem das Token zugeordnet ist. Ein Benutzer kann nicht das programmatische Zugriffstoken eines anderen Benutzers zur Authentifizierung verwenden.

Um programmatische Zugriffstoken im Namen eines Benutzers zu erstellen, müssen Administratoren den Namen dieses Benutzers in dem Befehl ALTER USER angeben.

Wenn username weggelassen wird, erzeugt der Befehl ein programmatisches Zugriffstoken für den Benutzer, der gerade angemeldet ist (der aktive Benutzer dieser Sitzung).

ROLE_RESTRICTION = 'string_literal'

Der Name der Rolle, die für die Berechtigungsprüfung und die Objekterstellung verwendet wird. Dies muss eine der Rollen sein, die dem Benutzer bereits zugewiesen wurde.

Bemerkung

Dieser Parameter ist erforderlich, wenn der Benutzer ein Dienstbenutzer ist (wenn für das Objekt USER TYPE=SERVICE gilt).

Wenn Sie dieses Token für die Authentifizierung verwenden, gehören alle Objekte, die Sie erstellen, dieser Rolle, und diese Rolle wird für die Berechtigungsprüfung verwendet.

Bemerkung

Sekundärrollen werden nicht verwendet, auch wenn DEFAULT_SECONDARY_ROLES für den Benutzer auf (‚ALL‘) eingestellt ist.

Wenn dem Benutzer, der mit dem programmatischen Zugriffstoken verbunden ist, diese Rolle entzogen wird, schlagen alle Versuche, das Token zur Authentifizierung zu verwenden, fehl.

Bemerkung

Durch die Angabe einer Rolle als ROLE_RESTRICTION-Wert wird die angegebene Rolle nicht für das programmatische Zugriffstoken gewährt. Dem Benutzer muss diese Rolle bereits zugewiesen worden sein.

Wenn Sie ROLE_RESTRICTION weglassen, werden alle Objekte, die Sie erstellen und die Ihrer primären Rolle gehören, und die Berechtigungen anhand Ihrer primären und Sekundärrolle bewertet (wie unter Autorisierung durch Primärrolle und Sekundärrollen erläutert).

DAYS_TO_EXPIRY = integer

Die Anzahl der Tage, während denen das programmatische Zugriffstoken für die Authentifizierung verwendet werden kann.

Sie können einen Wert zwischen 1 und der maximalen Ablaufzeit angeben.

Standard: 15

MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = integer

Die Anzahl der Minuten, in denen ein Benutzer mit diesem Token auf Snowflake zugreifen kann, ohne einer aktiven Netzwerkrichtlinie zu unterliegen.

Sie können dies für ein Token für eine Person festlegen (wenn für das Objekt USER TYPE=PERSON gilt), wenn diese Person keiner Netzwerkrichtlinie unterliegt, aber ein programmatisches Zugriffstoken für die Authentifizierung verwenden muss. Siehe Anforderungen der Netzwerkrichtlinie.

Bemerkung

Die Einstellung MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT erlaubt es Benutzern nicht, die Netzwerkrichtlinie selbst zu umgehen.

Sie können dies auf einen Wert im Bereich von 1 bis 1440 (1 Tag) einstellen.

Standard: 0

COMMENT = 'string_literal'

Beschreibender Kommentar zu dem programmatischen Zugriffstoken. Dieser Kommentar wird in der Liste der programmatischen Zugriffstoken in Snowsight angezeigt.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

MODIFY PROGRAMMATIC AUTHENTICATION METHODS

Benutzer

Nur erforderlich, wenn Sie ein programmatisches Zugriffstoken für einen anderen Benutzer als sich selbst erstellen.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Ausgabe

Die Befehlsausgabe enthält in den folgenden Spalten Informationen über das neu generierte programmatische Zugriffstoken:

Spalte

Beschreibung

token_name

Name des generierten Tokens.

token_secret

Das Token selbst. Verwenden Sie dies, um sich bei einem Endpunkt zu authentifizieren.

Bemerkung

Das Token erscheint nur in der Ausgabe des Befehls ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN. Kein anderer SQL-Befehl oder keine andere Funktion gibt das Token aus oder zurück.

Wenn Sie programmatisch auf dieses Token zugreifen müssen, können Sie Snowflake Scripting verwenden, um diesen Befehl auszuführen und das Token aus dem RESULTSET abzurufen.

Nutzungshinweise

  • Jeder Benutzer kann maximal 15 programmatische Zugriffstoken besitzen.

Beispiele

Erstellen Sie ein programmatisches Zugriffstoken mit dem Namen example_token, das mit dem Benutzer example_user verknüpft ist und alle Berechtigungen von dem zugehörigen Benutzer erbt:

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  COMMENT = 'a reference example';
Copy

Erstellen Sie ein programmatisches Zugriffstoken namens example_token, das mit dem Benutzer example_user verknüpft ist, alle Berechtigungen von der Rolle example_role erbt und nach 15 Tagen abläuft:

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  ROLE_RESTRICTION = 'example_role'
  DAYS_TO_EXPIRY = 15;
Copy