現役データエンジニアが、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 Document AIで契約書・請求書PDFからデータを抽出する手順のサムネイル
Snowflake Document AIで契約書・請求書PDFからデータを抽出する手順
Snowflake Document AIを使えば、PDFの契約書や請求書から「金額」「日付」「取引先」といった項目をSQLだけで抜き出せま…
Snowflake Cortex Agentsとは?SQL×検索×LLMで作るAIエージェント入門のサムネイル
Snowflake Cortex Agentsとは?SQL×検索×LLMで作るAIエージェント入門
Snowflake Cortex Agentsは、構造化データへのSQLクエリと非構造化データへのベクトル検索、そしてLLMの推論を1つにま…

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

Snowflake入門ガイドへ戻る
この記事をシェアする𝕏B!FacebookLINEPocket
Snowflake入門系
ACCOUNT_USAGESnowflakeSnowflake 初心者
Somaをフォローする
Soma

関連記事

Snowpark Python入門|DataFrameの作り方と操作をやさしく解説のサムネイル Snowflake

Snowpark Python入門|DataFrameの作り方と操作をやさしく解説

Snowpark PythonのDataFrameを使えば、SnowflakeのデータをPythonコードで自在に操作できます。作成方法から代表的な操作までを初心者向けにやさしく解説します。
Snowflakeのマイクロパーティションとは?自動最適化の仕組みを解説のサムネイル Snowflake

Snowflakeのマイクロパーティションとは?自動最適化の仕組みを解説

Snowflakeの内部でデータを自動分割する「マイクロパーティション」の仕組みを初心者向けに解説。クエリプルーニングや列指向ストレージの基本、注意点まで丁寧にまとめました。
Snowflakeストアドプロシージャ入門|SQLとJavaScript版の使い方のサムネイル Snowflake

Snowflakeストアドプロシージャ入門|SQLとJavaScript版の使い方

Snowflakeのストアドプロシージャ入門。SQL版(Snowflake Scripting)とJavaScript版の書き方の違いやCALLでの呼び出し方、実用的なユースケースまで初心者にもわかりやすく解説します。
SnowflakeのGROUP BYとウィンドウ関数の違い|集計の基本を初心者向けに解説のサムネイル Snowflake

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

SnowflakeのGROUP BYとウィンドウ関数の違いを初心者向けに解説。行を集約するGROUP BYと、行を残したまま集計値を並べられるウィンドウ関数の使い分けを、SQL例とともにやさしく紹介します。
Snowflakeタイムトラベルでテーブルの過去データを参照する方法のサムネイル Snowflake

Snowflakeタイムトラベルでテーブルの過去データを参照する方法

Snowflakeのタイムトラベルを使うと、過去のある時点のテーブル内容をSELECTで簡単に参照できます。AT/BEFORE句の3つの指定方法を、初心者向けにSQL例で丁寧に解説します。
Snowflake「Stream is stale」エラーの原因とストリーム再構築の手順を解説のサムネイル Snowflake

Snowflake「Stream is stale」エラーの原因とストリーム再構築の手順を解説

Snowflakeのストリームで突然出てくる「Stream is stale」エラー。原因はオフセットの期限切れです。保持期間の仕組みからストリーム再作成までを初心者向けにやさしく解説します。
Snowflake命名規則ベストプラクティス|ウェアハウス・ユーザー・ロールのサムネイル
Snowflake命名規則ベストプラクティス|ウェアハウス・ユーザー・ロール
Snowflake Marketplace入門|データを公開・購入する方法をやさしく解説のサムネイル
Snowflake Marketplace入門|データを公開・購入する方法をやさしく解説
ホーム
Snowflake

カテゴリー

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

最新記事

Snowflake

  • Snowflake Document AIで契約書・請求書PDFからデータを抽出する手順2026年6月12日
  • Snowflake Cortex Agentsとは?SQL×検索×LLMで作るAIエージェント入門2026年6月10日
  • Snowflake Cortex Analyst入門|自然言語からSQLを自動生成しよう2026年6月10日

セイバーメトリクス

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

旅行

  • ホテルグレイスリー台北宿泊記|朝食・立地・部屋・荷物預かりを実体験レビュー2026年6月8日
  • 台北の夜市はどこがおすすめ?寧夏・饒河街・士林を実際に巡って比較2026年6月6日
  • 十分・九份・饒河街観光夜市を1日で巡るルート|ランタン上げと阿妹茶樓を断念した実体験2026年6月5日
スポンサーリンク
スポンサーリンク
現役エンジニアの学びと日常
  • About
  • お問い合わせ
  • プライバシーポリシー
  • サイトマップ|現役エンジニアの学びと日常
© 2025 現役エンジニアの学びと日常.
    • ホーム
    • Snowflake
    • 野球データ分析
    • 旅行
    • About
  • ホーム
  • トップ