カテゴリ:

Information Schemaテーブル関数

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> ] )
Copy

引数

すべての引数はオプションです。

TIME_RANGE_START => constant_expr. TIME_RANGE_END => constant_expr

ログインイベントが発生した過去7日以内の時間範囲(TIMESTAMP_LTZ 形式)です。

TIME_RANGE_END が指定されていない場合、関数は最新のログインイベントを返します。

時間範囲が過去7日以内に収まらない場合、エラーが返されます。

USER_NAME => 'string'

LOGIN_HISTORY_BY_USER にのみ適用

ユーザー名または CURRENT_USER を指定する文字列です。指定されたユーザーのログインイベントのみが返されます。ログイン名は一重引用符で囲む必要があります。また、ログイン名にスペース、大文字と小文字の混在、または特殊文字がある場合、名前は二重引用符を一重引用符内で囲む必要があります(例: '"User 1"''user1')。

デフォルト: CURRENT_USER

RESULT_LIMIT => num

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

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

範囲: 110000

デフォルト: 100

使用上の注意

  • 情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake 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

今後の使用のために予約されています。

CONNECTION

TEXT

クライアントが使用する接続の名前。クライアントが接続 URL を使用していない場合は NULL。接続は クライアントリダイレクト の一部のSnowflakeオブジェクトです。これは、ビジネスの継続性と障害復旧のために、アカウント間でフェールオーバーできる接続 URL を表します。 . , NOTE: クライアントが接続 URL ではなくアカウント URL で構成されたIDプロバイダー(IdP)を介して認証する場合、 IdP は、認証完了後にクライアントをアカウント URL に転送します。このログインイベントの CONNECTION 列は NULL です。 認証とクライアントリダイレクト をご参照ください。

無効な SAML 応答のために失敗したログイン試行のエラーコード/メッセージの詳細については、 フェデレーション認証と SSO トラブルシューティング をご参照ください。

現在のユーザーの最新のログインイベントを100個まで取得します。

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

指定したユーザーの最新のログインイベントを1000個まで取得します。

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

過去1時間に、現在のロールが監視を許可されているすべてのユーザーの最大100個のログインイベントを取得します。

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