現役データエンジニアが、Snowflake・データ基盤・SQLを初心者向けに図解で解説。野球データ分析や旅行記も発信。
現役エンジニアの学びと日常
  • ホーム
  • Snowflake
  • 野球データ分析
  • 旅行
  • About

Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説

Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説 Snowflake
2026.05.072026.05.24
この記事をシェアする𝕏B!FacebookLINEPocket
  1. はじめに:Snowflakeの「監査ログ」って何?
  2. 2つの監査ログの違い
    1. SNOWFLAKE.ACCOUNT_USAGE
    2. INFORMATION_SCHEMA
  3. よく使うビュー&クエリ例
    1. 1. ログイン履歴を確認する(LOGIN_HISTORY)
    2. 2. クエリ履歴を確認する(QUERY_HISTORY)
    3. 3. 誰がどのテーブルを触ったか(ACCESS_HISTORY)
  4. よくあるユースケースと注意点
    1. ユースケース
    2. 注意点
  5. まとめ
  6. 参考リンク
  7. 関連記事
    1. ▶次に読むべき記事

はじめに:Snowflakeの「監査ログ」って何?

「誰がいつログインしたのか」「どんなクエリが実行されたのか」「どのテーブルにアクセスされたのか」――こうした情報を確認することは、セキュリティ監査やトラブル調査に欠かせません。Snowflakeでは、これらの情報を 監査ログ として自動で蓄積してくれています。

この記事では、Snowflakeの監査ログを参照するための2つの仕組み、ACCOUNT_USAGE スキーマ と INFORMATION_SCHEMA の違いと使い方を、初心者の方にもわかるようにやさしく解説します!

Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説

2つの監査ログの違い

Snowflakeでは SNOWFLAKE という共有データベースに、監査用のビューがあらかじめ用意されています。代表的な2つを比較してみましょう。

SNOWFLAKE.ACCOUNT_USAGE

  • 過去365日分の履歴を保持
  • アカウント全体の情報をまとめて参照可能
  • データ反映に 最大3時間程度の遅延 あり
  • デフォルトでは ACCOUNTADMIN ロールが必要

INFORMATION_SCHEMA

  • 各データベース配下に存在するスキーマ
  • 保持期間は短い(7日〜14日程度のものが多い)
  • リアルタイム性が高い(ほぼ即時反映)
  • テーブル関数として呼び出すスタイル

ざっくり言うと「長期分析ならACCOUNT_USAGE、いま起きたことを確認するならINFORMATION_SCHEMA」と覚えておくとOKです。

よく使うビュー&クエリ例

1. ログイン履歴を確認する(LOGIN_HISTORY)

「誰がいつ、どこからログインしたか」を確認できます。失敗したログインも記録されるので、不正アクセスの兆候を掴むのに最適です。

-- 過去7日間のログイン履歴(失敗含む)
SELECT event_timestamp,
       user_name,
       client_ip,
       reported_client_type,
       is_success,
       error_message
FROM   SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
WHERE  event_timestamp >= DATEADD(day, -7, CURRENT_TIMESTAMP())
ORDER BY event_timestamp DESC;

2. クエリ履歴を確認する(QUERY_HISTORY)

実行されたSQL文・実行時間・利用ウェアハウスなどがすべて残ります。重いクエリ調査やコスト分析にも便利です。

-- 過去24時間で実行時間が長かったクエリTop10
SELECT user_name,
       warehouse_name,
       total_elapsed_time/1000 AS sec,
       query_text
FROM   SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE  start_time >= DATEADD(hour, -24, CURRENT_TIMESTAMP())
ORDER BY total_elapsed_time DESC
LIMIT 10;

リアルタイムに見たい場合は、INFORMATION_SCHEMAのテーブル関数を使います。

SELECT *
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())
ORDER BY start_time DESC
LIMIT 20;

3. 誰がどのテーブルを触ったか(ACCESS_HISTORY)

Enterprise Edition以上で利用できる強力なビュー。クエリで参照・更新された テーブル/カラム単位 の追跡が可能です。

SELECT query_start_time,
       user_name,
       direct_objects_accessed,
       objects_modified
FROM   SNOWFLAKE.ACCOUNT_USAGE.ACCESS_HISTORY
WHERE  query_start_time >= DATEADD(day, -1, CURRENT_TIMESTAMP())
ORDER BY query_start_time DESC;
3. 誰がどのテーブルを触ったか(ACCESS_HISTORY)の解説図

よくあるユースケースと注意点

ユースケース

  • セキュリティ監査:不審なIPからのログイン検知(Snowflakeネットワークポリシー入門と組み合わせると◎)
  • 権限変更の追跡:GRANTS_TO_USERS や GRANTS_TO_ROLES でロール付与履歴を確認(カスタムロールとGRANT/REVOKEと相性◎)
  • コスト分析:ACCOUNT_USAGEビュー入門でクレジット消費を追跡

注意点

  • ACCOUNT_USAGEは 遅延があるので「今この瞬間」を見るには不向き
  • ログ閲覧自体に高い権限が必要 → カスタムロールへ IMPORTED PRIVILEGES を付与して制限的に渡すのがおすすめ
  • 監査ログにはSQL文がそのまま残るので、列・行レベルセキュリティやMFA/SSOと合わせて運用ルールを整備しましょう

まとめ

Snowflakeの監査ログは、ACCOUNT_USAGE(長期・遅延あり)とINFORMATION_SCHEMA(短期・リアルタイム)の2本立てで提供されています。まずは QUERY_HISTORY と LOGIN_HISTORY から触ってみると、監視・調査・最適化のいずれにも効果が見えてきますよ。日々の運用に組み込んで、安心して使えるSnowflake環境を育てていきましょう!

参考リンク

  • ACCOUNT_USAGE スキーマ — Snowflake Documentation
  • INFORMATION_SCHEMA — Snowflake Documentation
  • QUERY_HISTORY ビュー
  • LOGIN_HISTORY ビュー
  • ACCESS_HISTORY ビュー

関連記事

  • Snowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門 – ACCOUNT_USAGEを使ったコスト分析の入門記事
  • Snowflakeネットワークポリシー入門|IPでアクセスを制限する方法 – 不審なログインを未然に防ぐIP制限の設定
  • Snowflake MFAとSSO設定入門|認証を強化する2つの仕組み – 監査ログと併用したい認証強化策
  • Snowflake列レベル・行レベルセキュリティ入門|ポリシーの作り方 – 監査と一緒に整備したいデータ保護のしくみ
  • Snowflakeカスタムロール作成とGRANT/REVOKE入門 – 監査ログ閲覧用ロールを作るときに役立つ
  • Snowflake RBAC入門|ロールで権限管理を始めよう – 監査の前提となる権限設計の基本
  • Snowflakeクエリが遅い原因と高速化チェックリスト完全版 – 関連するエラー対処の手順をまとめています
  • Snowflake「Network policy does not allow this IP」エラーの原因と解決手順 – 関連するエラー対処の手順をまとめています
  • Snowflake「Time travel data is not available」エラーの原因と過去データ復元の方法 – 関連するエラー対処の手順をまとめています
  • Insufficient privileges to operate on の原因と解決手順 – 関連するエラー対処の手順をまとめています
  • Snowflakeにログインできない時の対処法|MFA・IP・SSO切り分け完全ガイド – 関連するエラー対処の手順をまとめています

▶次に読むべき記事

Snowflake入門ガイド|12ステップで学ぶ学習ロードマップのサムネイル
Snowflake入門ガイド|12ステップで学ぶ学習ロードマップ
Snowflakeを基礎から学べる完全ガイド。入門・基礎・応用・上級の4フェーズ12ステップで、ウェアハウス・SQL・データロード・パフォー…
Snowflake Openflowとは?Apache NiFiベースのデータ統合サービスを初心者向けに解説のサムネイル
Snowflake Openflowとは?Apache NiFiベースのデータ統合サービスを初心者向けに解説
Snowflake Openflowは、Apache NiFiをベースにした新世代のデータ統合サービスです。どんな仕組みで、何が嬉しいのか、…
Snowflake Data Clean Roomsとは?複数社のデータを安全に突き合わせる仕組みを初心者向けに解説のサムネイル
Snowflake Data Clean Roomsとは?複数社のデータを安全に突き合わせる仕組みを初心者向けに解説
個人情報を直接見せずに他社とデータを突き合わせて分析できる「Snowflake Data Clean Rooms」を、仕組み・使い方・ユース…

この記事は Snowflake入門ガイド の一部です。
学習ロードマップに戻って、次のステップへ進めます。

Snowflake入門ガイドへ戻る
この記事をシェアする𝕏B!FacebookLINEPocket
Soma のプロフィール画像
この記事を書いた人Soma

現役のデータエンジニア(6年目)。Snowflakeをはじめとするデータ基盤技術と、セイバーメトリクス・国内外の旅行記をゆるく書いています。

プロフィール詳細
Snowflake入門系
ACCOUNT_USAGESnowflakeSnowflake 初心者
Somaをフォローする
Soma

関連記事

Insufficient privileges to operate on の原因と解決手順のサムネイル Snowflake

Insufficient privileges to operate on の原因と解決手順

Snowflakeで頻発する「Insufficient privileges to operate on」エラー。原因の本質は権限不足だが、どの階層で切れているかを見抜ければ修正は数分で終わる。現場目線の確認SQLとGRANT例で整理した。
Snowflake VARIANT型のドット記法とFLATTENで半構造化データを自在に扱うのサムネイル Snowflake

Snowflake VARIANT型のドット記法とFLATTENで半構造化データを自在に扱う

Snowflake VARIANT型のドット記法とFLATTEN関数を使って、JSONなどの半構造化データから必要な値をSQLで取り出す方法を、初心者にもわかりやすくサンプル付きで解説します。
Snowflake Time TravelとFail-safe入門|誤操作からデータを守る2層バックアップのサムネイル Snowflake

Snowflake Time TravelとFail-safe入門|誤操作からデータを守る2層バックアップ

Snowflakeの2層データ保護機能「Time Travel」と「Fail-safe」を初心者向けに解説。誤って削除したテーブルを取り戻す具体的な方法を紹介します。
Snowflakeタスク入門|定期実行ジョブを5分で作る方法のサムネイル Snowflake

Snowflakeタスク入門|定期実行ジョブを5分で作る方法

Snowflakeのタスク(Task)を使えば、cronやAirflow不要でSQLやストアドプロシージャを定期実行できます。基本構文、CRONスケジュール、タスクツリーまで初心者向けにやさしく解説します。
SnowflakeのGROUP BYとウィンドウ関数の違い|集計の基本を初心者向けに解説のサムネイル Snowflake

SnowflakeのGROUP BYとウィンドウ関数の違い|集計の基本を初心者向けに解説

SnowflakeのGROUP BYとウィンドウ関数の違いを初心者向けに解説。行を集約するGROUP BYと、行を残したまま集計値を並べられるウィンドウ関数の使い分けを、SQL例とともにやさしく紹介します。
Snowflake対応ファイル形式の比較|CSV/JSON/Parquet/Avro/ORC/XMLの違いと選び方のサムネイル Snowflake

Snowflake対応ファイル形式の比較|CSV/JSON/Parquet/Avro/ORC/XMLの違いと選び方

Snowflakeにロードできる主要ファイル形式(CSV/JSON/Parquet/Avro/ORC/XML)の違いを一覧比較表で整理。それぞれの特徴・圧縮効率・スキーマ対応・向き不向き・FILE FORMATオブジェクトの作成例・選び方の早見表・FAQまでまとめました。
Snowflake命名規則ベストプラクティス|ウェアハウス・ユーザー・ロールのサムネイル
Snowflake命名規則ベストプラクティス|ウェアハウス・ユーザー・ロール
Snowflake Marketplace入門|データを公開・購入する方法をやさしく解説のサムネイル
Snowflake Marketplace入門|データを公開・購入する方法をやさしく解説
ホーム
Snowflake

カテゴリー

  • Snowflake(104)
  • 入門系(73)
  • トラブルシューティング系(25)
  • 新機能・ニュース系(6)
  • セイバーメトリクス(41)
  • 旅行(11)

最新記事

Snowflake

  • Snowflake Openflowとは?Apache NiFiベースのデータ統合サービスを初心者向けに解説2026年6月18日
  • Snowflake Data Clean Roomsとは?複数社のデータを安全に突き合わせる仕組みを初心者向けに解説2026年6月16日
  • Snowflake Trailとは?パイプライン監視を初心者向けに解説2026年6月15日

セイバーメトリクス

  • xwOBA・xBA・xSLG・xERAとは?Statcast期待値系指標で運と実力を分けて読む2026年6月7日
  • WPA(Win Probability Added)とは?1打席が試合に与えた勝率変動をやさしく解説2026年6月7日
  • Statcast打球指標入門|Exit Velocity・Launch Angle・Barrel・Hard-Hit%をやさしく解説2026年6月7日

旅行

  • 台湾・饒河街観光夜市で鳥占いを体験|料金・日本語通訳・流れを実体験レビュー2026年6月15日
  • ホテルグレイスリー台北宿泊記|朝食・立地・部屋・荷物預かりを実体験レビュー2026年6月8日
  • 台北の夜市はどこがおすすめ?寧夏・饒河街・士林を実際に巡って比較2026年6月6日
現役エンジニアの学びと日常
  • About
  • お問い合わせ
  • プライバシーポリシー
  • 免責事項
  • サイトマップ|現役エンジニアの学びと日常
© 2025 現役エンジニアの学びと日常.
    • ホーム
    • Snowflake
    • 野球データ分析
    • 旅行
    • About
  • ホーム
  • トップ