- Catégories :
LOGIN_HISTORY , LOGIN_HISTORY_BY_USER¶
La famille LOGIN_HISTORY de fonctions de table peut être utilisée pour interroger les tentatives de connexion effectuées par les utilisateurs de Snowflake selon différentes dimensions :
LOGIN_HISTORY renvoie les événements de connexion dans un intervalle de temps spécifié.
LOGIN_HISTORY_BY_USER renvoie les événements de connexion d’un utilisateur spécifié dans un intervalle de temps spécifié.
Chaque fonction est optimisée pour les requêtes au sein de la dimension spécifiée. Les résultats peuvent être filtrés à l’aide de prédicats SQL.
Note
Ces fonctions renvoient l’activité de connexion au cours des 7 derniers jours.
Syntaxe¶
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> ] )
Arguments¶
Tous les arguments sont facultatifs.
TIME_RANGE_START => expr_constante
, .TIME_RANGE_END => expr_constante
Plage de temps (au format TIMESTAMP_LTZ), dans les 7 derniers jours durant lesquels l’événement de connexion s’est produit.
Si
TIME_RANGE_END
n’est pas spécifié, la fonction renvoie les événements de connexion les plus récents.Si l’intervalle de temps ne tombe pas dans les 7 derniers jours, une erreur est renvoyée.
USER_NAME => 'chaîne'
S’applique uniquement à LOGIN_HISTORY_BY_USER
Une chaîne spécifiant un nom d’utilisateur ou CURRENT_USER. Seuls les événements de connexion pour l’utilisateur spécifié sont renvoyés. Notez que le nom d’utilisateur doit être entre guillemets simples. De plus, si le nom de connexion contient des espaces, des caractères en majuscules et minuscules ou des caractères spéciaux, le nom doit être entre guillemets doubles à l’intérieur des guillemets simples (p. ex.
'"User 1"'
vs'user1'
).Par défaut : CURRENT_USER
RESULT_LIMIT => nb
Un nombre spécifiant le nombre maximum de lignes renvoyé par la fonction.
Si le nombre de lignes correspondantes est supérieur à cette limite, les événements de connexion avec l’horodatage le plus récent sont renvoyés, jusqu’à la limite spécifiée.
Plage : de
1
à10000
Par défaut :
100
.
Notes sur l’utilisation¶
Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information.
Sortie¶
La fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
EVENT_TIMESTAMP |
TIMESTAMP_LTZ |
Heure de l’occurrence de l’événement. |
EVENT_ID |
NUMBER |
ID unique de l’événement. |
EVENT_TYPE |
TEXT |
Type d’événement, tel que LOGIN pour les événements d’authentification. |
USER_NAME |
TEXT |
Utilisateur associé à cet événement. |
CLIENT_IP |
TEXT |
Adresse IP d’où provient la demande. |
REPORTED_CLIENT_TYPE |
TEXT |
Type signalé du logiciel client, tel que JDBC_DRIVER, ODBC_DRIVER, etc. Cette information n’est pas authentifiée. |
REPORTED_CLIENT_VERSION |
TEXT |
Version rapportée du logiciel client. Cette information n’est pas authentifiée. |
FIRST_AUTHENTICATION_FACTOR |
TEXT |
Méthode utilisée pour authentifier l’utilisateur (le premier facteur est utilisé, si l’authentification à plusieurs facteurs). |
SECOND_AUTHENTICATION_FACTOR |
TEXT |
Le deuxième facteur, si vous utilisez une authentification à plusieurs facteurs, ou NULL sinon. |
IS_SUCCESS |
TEXT |
Indique si la demande de l’utilisateur a abouti ou non. |
ERROR_CODE |
NUMBER |
Code d’erreur si la requête n’a pas abouti. |
ERROR_MESSAGE |
TEXT |
Message d’erreur renvoyé à l’utilisateur si la requête n’a pas abouti. |
RELATED_EVENT_ID |
NUMBER |
Réservé pour une utilisation future. |
Pour plus d’informations sur les codes / messages d’erreur relatifs aux tentatives de connexion infructueuses en raison de réponses non valides SAML, voir Codes d’erreur SAML.
Exemples¶
Récupère au maximum les 100 derniers événements de connexion de l’utilisateur actuel :
select * from table(information_schema.login_history_by_user()) order by event_timestamp;
Récupère au maximum les 1 000 derniers événements de connexion de l’utilisateur spécifié :
select * from table(information_schema.login_history_by_user('USER1', result_limit=>1000)) order by event_timestamp;
Récupère au maximum 100 événements de connexion de chaque utilisateur que votre rôle actuel est autorisé à surveiller durant la dernière heure :
select * from table(information_schema.login_history(dateadd('hours',-1,current_timestamp()),current_timestamp())) order by event_timestamp;