カテゴリ:

情報スキーマテーブル関数

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 => 数値

関数によって返される行の最大数を指定する数です。

一致する行の数がこの制限を超える場合、指定された制限まで、最新のタイムスタンプを持つログインイベントが返されます。

範囲: 110000

デフォルト: 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;