Kategorien:

Information Schema, Tabellenfunktionen

LOGIN_HISTORY , LOGIN_HISTORY_BY_USER

Die LOGIN_HISTORY-Familie der Tabellenfunktionen kann verwendet werden, um Anmeldeversuche von Snowflake-Benutzern anhand verschiedener Dimensionen abzufragen:

  • LOGIN_HISTORY gibt Anmeldeereignisse innerhalb eines angegebenen Zeitbereichs zurück.

  • LOGIN_HISTORY_BY_USER gibt Anmeldeereignisse eines angegebenen Benutzers innerhalb eines angegebenen Zeitbereichs zurück.

Jede Funktion ist für die Abfrage anhand der angegebenen Dimension optimiert. Die Ergebnisse können mit SQL-Prädikaten weiter gefiltert werden.

Bemerkung

Diese Funktionen geben Anmeldeaktivitäten der letzten 7 Tage zurück.

Syntax

LOGIN_HISTORY(
      [  TIME_RANGE_START => <constant_expr> ]
      [, TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <num> ] )

LOGIN_HISTORY_BY_USER(
      [  USER_NAME => '<string>' ]
      [, TIME_RANGE_START => <constant_expr> ]
      [, TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <num> ] )
Copy

Argumente

Alle Argumente sind optional.

TIME_RANGE_START => constant_expr, . TIME_RANGE_END => constant_expr

Zeitbereich (im Format TIMESTAMP_LTZ) innerhalb der letzten 7 Tage, in dem das Anmeldeereignis stattgefunden hat.

Wenn TIME_RANGE_END nicht angegeben ist, gibt die Funktion die letzten Anmeldeereignisse zurück.

Wenn der Zeitbereich nicht in den letzten 7 Tagen liegt, wird ein Fehler zurückgegeben.

USER_NAME => 'string'

Gilt nur für LOGIN_HISTORY_BY_USER

Eine Zeichenfolge zur Angabe eines Benutzernamens oder CURRENT_USER. Es werden nur Anmeldeereignisse für den angegebenen Benutzer zurückgegeben. Beachten Sie, dass der Anmeldename in einfache Anführungszeichen gesetzt werden muss. Wenn der Anmeldename Leerzeichen, gemischte Groß- und Kleinbuchstaben oder Sonderzeichen enthält, muss der Name innerhalb der einfachen Anführungszeichen in doppelte Anführungszeichen gesetzt werden (z. B. '"User 1"' vs. 'user1').

Standard: CURRENT_USER

RESULT_LIMIT => num

Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden.

Wenn die Anzahl der übereinstimmenden Zeilen größer ist als dieser Grenzwert, werden die Anmeldeereignisse mit dem neuesten Zeitstempel zurückgegeben – bis zum angegebenen Grenzwert.

Bereich: 1 bis 10000

Standard: 100.

Nutzungshinweise

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

EVENT_TIMESTAMP

TIMESTAMP_LTZ

Zeitpunkt des Auftretens des Ereignisses.

EVENT_ID

NUMBER

Eindeutige ID des Ereignisses.

EVENT_TYPE

TEXT

Ereignistyp, z. B. LOGIN bei Authentifizierungsereignissen.

USER_NAME

TEXT

Benutzer, der diesem Ereignis zugeordnet ist.

CLIENT_IP

TEXT

IP-Adresse, von der die Anfrage stammte.

REPORTED_CLIENT_TYPE

TEXT

Gemeldeter Typ der Clientsoftware, z. B. JDBC_DRIVER, ODBC_DRIVER usw. Diese Informationen werden nicht authentifiziert.

REPORTED_CLIENT_VERSION

TEXT

Gemeldete Version der Clientsoftware. Diese Informationen werden nicht authentifiziert.

FIRST_AUTHENTICATION_FACTOR

TEXT

Methode zur Authentifizierung des Benutzers (der erste Faktor bei Verwendung von mehrstufiger Authentifizierung).

SECOND_AUTHENTICATION_FACTOR

TEXT

Der zweite Faktor bei Verwendung von mehrstufiger Authentifizierung; ansonsten NULL.

IS_SUCCESS

TEXT

Gibt an, ob die Benutzeranfrage erfolgreich war oder nicht.

ERROR_CODE

NUMBER

Fehlercode, wenn die Anfrage nicht erfolgreich war.

ERROR_MESSAGE

TEXT

Fehlermeldung, die an den Benutzer zurückgegeben wird, wenn die Anfrage nicht erfolgreich war.

RELATED_EVENT_ID

NUMBER

Reserviert für zukünftige Verwendung.

CONNECTION

TEXT

Name der vom Client verwendeten Verbindung, oder NULL, wenn der Client keine Verbindungs-URL verwendet. Die Verbindung ist ein Snowflake-Objekt, das Teil der Clientumleitung ist. Es repräsentiert eine Verbindungs-URL, für die über mehrere Konten hinweg ein Failover ausgeführt werden kann, um Geschäftskontinuität und Notfallwiederherstellung zu ermöglichen. . , HINWEIS: Wenn sich ein Client über einen Identitätsanbieter (IdP) authentifiziert, der mit der Konto-URL und nicht mit der Verbindungs-URL konfiguriert ist, leitet der IdP den Client nach Abschluss der Authentifizierung an die Konto-URL weiter. Die Spalte CONNECTION für dieses Anmeldeereignis ist NULL. Siehe Authentifizierung und Clientumleitung.

Details zu den Fehlercodes/Fehlermeldungen für Anmeldeversuche, die aufgrund ungültiger SAML-Antworten nicht erfolgreich waren, finden Sie unter Problembehandlung bei Verbundauthentifizierung und SSO.

Beispiele

Abrufen der bis zu 100 letzten Anmeldeereignisse des aktuellen Benutzers:

select *
from table(information_schema.login_history_by_user())
order by event_timestamp;
Copy

Abrufen der bis zu 1.000 letzten Anmeldeereignisse des angegebenen Benutzers:

select *
from table(information_schema.login_history_by_user(USER_NAME => 'USER1', result_limit => 1000))
order by event_timestamp;
Copy

Abrufen von bis zu 100 Anmeldeereignissen in der letzten Stunde für jeden Benutzer, den Ihre aktuelle Rolle überwachen darf:

select *
from table(information_schema.login_history(TIME_RANGE_START => dateadd('hours',-1,current_timestamp()),current_timestamp()))
order by event_timestamp;
Copy