LOGIN_HISTORY , LOGIN_HISTORY_BY_USER¶
LOGIN_HISTORY ファミリーのテーブル関数を使用して、Snowflakeユーザーによるさまざまなディメンションに沿ったログイン試行をクエリできます。
LOGIN_HISTORY は、指定された時間範囲内のログインイベントを返します。
LOGIN_HISTORY_BY_USER は、指定した時間範囲内の指定したユーザーのログインイベントを返します。
各関数は、指定されたディメンションに沿ったクエリ用に最適化されています。SQL 述語を使用して、結果をさらにフィルタリングできます。
注釈
これらの関数は、過去7日以内のログインアクティビティを返します。
構文¶
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> ] )
引数¶
すべての引数はオプションです。
TIME_RANGE_START => 定数式
、 .TIME_RANGE_END => 定数式
ログインイベントが発生した過去7日以内の時間範囲(TIMESTAMP_LTZ 形式)です。
TIME_RANGE_END
が指定されていない場合、関数は最新のログインイベントを返します。時間範囲が過去7日以内に収まらない場合、エラーが返されます。
USER_NAME => '文字列'
LOGIN_HISTORY_BY_USERにのみ適用
ユーザー名または CURRENT_USER を指定する文字列です。指定されたユーザーのログインイベントのみが返されます。ログイン名は一重引用符で囲む必要があります。また、ログイン名にスペース、大/小文字混合、または特殊文字が含まれる場合、名前は二重引用符を一重引用符内で囲む必要があります(例:
'"User 1"'
と'user1'
)。デフォルト: CURRENT_USER
RESULT_LIMIT => 数値
関数によって返される行の最大数を指定する数です。
一致する行の数がこの制限を超える場合、指定された制限まで、最新のタイムスタンプを持つログインイベントが返されます。
範囲:
1
~10000
デフォルト:
100
。
使用上の注意¶
情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 情報スキーマ をご参照ください。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
EVENT_TIMESTAMP |
TIMESTAMP_LTZ |
イベントの発生時間です。 |
EVENT_ID |
NUMBER |
イベントの一意のIDです。 |
EVENT_TYPE |
TEXT |
認証イベントの LOGIN などのイベント型。 |
USER_NAME |
TEXT |
このイベントに関連付けられたユーザー。 |
CLIENT_IP |
TEXT |
リクエスト発信元のIP アドレス。 |
REPORTED_CLIENT_TYPE |
TEXT |
JDBC_DRIVER、 ODBC_DRIVERなど、報告されたクライアントソフトウェアの型。この情報は認証されません。 |
REPORTED_CLIENT_VERSION |
TEXT |
クライアントソフトウェアの報告されたバージョン。この情報は認証されません。 |
FIRST_AUTHENTICATION_FACTOR |
TEXT |
ユーザー認証に使用される方法(多要素認証を使用する場合の最初の要素)。 |
SECOND_AUTHENTICATION_FACTOR |
TEXT |
多要素認証を使用する場合は2番目の要素、それ以外の場合は NULL 。 |
IS_SUCCESS |
TEXT |
ユーザーリクエストが成功したかどうかを示します。 |
ERROR_CODE |
NUMBER |
リクエストが成功しなかった場合のエラーコード。 |
ERROR_MESSAGE |
TEXT |
リクエストが成功しなかった場合にユーザーに返されるエラーメッセージ。 |
RELATED_EVENT_ID |
NUMBER |
今後の使用のために予約されています。 |
無効な SAML 応答のために失敗したログイン試行のエラーコード/メッセージの詳細については、 SAML エラーコード をご参照ください。
例¶
現在のユーザーの最新のログインイベントを100個まで取得します。
select * from table(information_schema.login_history_by_user()) order by event_timestamp;
指定したユーザーの最新のログインイベントを1000個まで取得します。
select * from table(information_schema.login_history_by_user('USER1', result_limit=>1000)) order by event_timestamp;
過去1時間に、現在のロールが監視を許可されているすべてのユーザーの最大100個のログインイベントを取得します。
select * from table(information_schema.login_history(dateadd('hours',-1,current_timestamp()),current_timestamp())) order by event_timestamp;