- Kategorien:
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> ] )
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
bis10000
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;
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;
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;