現役データエンジニアが、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

関連記事

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

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

Snowflakeのタイムトラベルを使うと、過去のある時点のテーブル内容をSELECTで簡単に参照できます。AT/BEFORE句の3つの指定方法を、初心者向けにSQL例で丁寧に解説します。
Snowflake料金体系をやさしく解説|クレジット・ストレージ・サーバーレス・Cortex AIのコストまでのサムネイル Snowflake

Snowflake料金体系をやさしく解説|クレジット・ストレージ・サーバーレス・Cortex AIのコストまで

Snowflakeの料金体系を初心者向けに解説。クレジット、ウェアハウス、ストレージ、データ転送、サーバーレス機能、Cortex AI関数の課金、コスト確認SQL、節約方法までまとめます。
Snowflake UDF入門|SQL・JavaScript・Pythonで関数を自作する方法のサムネイル Snowflake

Snowflake UDF入門|SQL・JavaScript・Pythonで関数を自作する方法

SnowflakeのUDF(ユーザー定義関数)を初心者向けに解説。SQL・JavaScript・Pythonの3言語で関数を自作する方法、ストアドプロシージャとの違い、書き方のサンプルとSnowsightでの確認手順をまとめました。
Snowflake RBAC入門|ロールで権限管理を始めようのサムネイル Snowflake

Snowflake RBAC入門|ロールで権限管理を始めよう

Snowflakeのロールベースアクセス制御 (RBAC) の基本を初心者向けに解説。ユーザー・ロール・権限・オブジェクトの関係性、システム定義ロールの使い分け、GRANT文の具体例まで、運用に役立つポイントをやさしくまとめました。
Snowflakeの主要な特徴とメリットを初心者向けにやさしく解説のサムネイル Snowflake

Snowflakeの主要な特徴とメリットを初心者向けにやさしく解説

Snowflakeの代表的な特徴である「マルチクラウド」「自動スケーリング」「データ共有」を初心者向けにやさしく解説。それぞれが何を意味し、なぜ便利なのかを具体例とともに紹介します。
Snowflakeデータロードの全体像|バルク・ストリーミング・サードパーティをやさしく解説のサムネイル Snowflake

Snowflakeデータロードの全体像|バルク・ストリーミング・サードパーティをやさしく解説

Snowflakeにデータを取り込む方法は大きく分けて「バルクロード」「ストリーミング」「サードパーティツール連携」の3種類。それぞれの特徴と使い分けを、初心者向けにフレンドリーに整理します。
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
  • ホーム
  • トップ