- カテゴリ:
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 => 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
関数によって返される行の最大数を指定する数です。
一致する行の数がこの制限を超える場合、指定された制限まで、最新のタイムスタンプを持つログインイベントが返されます。
範囲:
1
~10000
デフォルト:
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;
指定したユーザーの最新のログインイベントを1000個まで取得します。
select * from table(information_schema.login_history_by_user(USER_NAME => 'USER1', result_limit => 1000)) order by event_timestamp;
過去1時間に、現在のロールが監視を許可されているすべてのユーザーの最大100個のログインイベントを取得します。
select * from table(information_schema.login_history(TIME_RANGE_START => dateadd('hours',-1,current_timestamp()),current_timestamp())) order by event_timestamp;