2026年5月26日火曜日

SQL Server 監査(Audit)機能の使い方と設定方法|セキュリティログと操作監視を理解する

SQL Serverの監査機能を理解して操作ログとセキュリティを可視化しよう

SQL Serverには、ユーザー操作やデータベースへのアクセスを記録できる 監査(Audit)機能が用意されています。
監査を正しく設定することで、「誰が・いつ・何をしたのか」を後から追跡でき、 不正操作の検知や内部統制、セキュリティ事故の調査に役立ちます。

この記事では、SQL Server Auditの基本的な仕組みから、 実際の設定手順、実務での使いどころまでを整理して解説します。

目次

SQL Serverの監査(Audit)とは

SQL Server Auditは、データベースやサーバーに対する操作を イベントとして記録する仕組みです。

対象となる操作の例は次のとおりです。

  • ログイン・ログアウト
  • データベースへのアクセス
  • テーブルやビューへのSELECT/UPDATE/DELETE
  • 権限変更や設定変更

アプリケーションログとは異なり、 SQL Server自身が記録する公式な監査ログである点が特徴です。

監査機能の構成要素

SQL Serverの監査は、次の3要素で構成されています。

要素 役割
監査(Audit) ログの出力先や形式を定義
サーバー監査仕様 サーバーレベルの操作を定義
データベース監査仕様 データベース内の操作を定義

まず「監査(Audit)」を作成し、 その上で「何を記録するか」を仕様として設定します。

監査ログの出力先の種類

監査ログの出力先は、用途に応じて選択できます。

出力先 特徴
ファイル 最も一般的。容量管理がしやすい
Windows セキュリティログ OSと統合した監査が可能
Windows アプリケーションログ アプリケーションログとまとめて管理

実務ではファイル出力が選ばれるケースが多いです。

監査の作成と有効化手順

ここではT-SQLによる基本的な作成例を示します。


CREATE SERVER AUDIT SampleAudit
TO FILE
(
  FILEPATH = 'C:\AuditLogs\'
);
ALTER SERVER AUDIT SampleAudit
WITH (STATE = ON);

この操作で、監査ログの「入れ物」が作成されます。

監査仕様(Audit Specification)の設定

次に、どの操作を記録するかを定義します。


CREATE SERVER AUDIT SPECIFICATION SampleAuditSpec
FOR SERVER AUDIT SampleAudit
ADD (FAILED_LOGIN_GROUP),
ADD (SUCCESSFUL_LOGIN_GROUP);
ALTER SERVER AUDIT SPECIFICATION SampleAuditSpec
WITH (STATE = ON);

この例では、ログイン成功・失敗を監査対象にしています。

監査ログの確認方法

ファイル出力された監査ログは、 専用の関数で読み取ります。


SELECT *
FROM sys.fn_get_audit_file(
  'C:\AuditLogs\*',
  NULL,
  NULL
);

これにより、実際に記録された操作内容を確認できます。

実務での活用ポイント

  • 最初から広範囲を監査しない(性能影響を考慮)
  • 重要テーブルや権限操作に絞って設定
  • ログの保存期間と容量を事前に設計
  • 定期的にログを確認・分析する運用を決める

監査は「設定して終わり」ではなく、 運用設計まで含めて初めて意味を持つ機能です。

まとめ

  • SQL Server Auditは操作履歴を記録する公式な監査機能
  • 監査・監査仕様を組み合わせて利用する
  • ログインやデータ操作の追跡に有効
  • 性能影響と運用設計を考慮した設定が重要

セキュリティや内部統制が求められる環境では、 SQL Serverの監査機能は非常に強力な武器になります。

SQL Server 解説用イメージ

0 件のコメント:

コメントを投稿