SQL Serverの監査イベントをWindowsセキュリティログに書き込む方法

この記事の内容

SQL監査イベントを記録する方法は主に2つあります。1つは、SQL Serverのログを.sqlauditファイルに書き込み、SQLログビューアーで表示する方法です。もう1つは、Windowsセキュリティログに書き込む方法です。後者には、改ざん防止という利点があります。

この記事では、SQL Server監査イベントをWindowsセキュリティログに書き込む方法について説明します。

ステップ1:auditpolコマンドを使用して、Windowsでオブジェクトアクセスに対する監査設定を行う

特定のSQL Serverイベントを収集してログに記録するには、Windowsでオブジェクトアクセスの監査設定を行う必要があります。設定を行うには、以下のようにauditpol.exeを実行します。

  • SQL Serverで、管理者権限を使用してコマンドプロンプトを開きます。
  • 次のコマンドを実行します。
  • auditpol /set /subcategory:'application generated' /success:enable /failure:enable

  • これで、SQL Serverでの監査が有効になりました。コマンドプロンプトを閉じます。

ステップ2:secpolを使用して、セキュリティ監査の生成権限を付与する

セキュリティ監査の生成権限を、SQL Serverサービスを実行しているアカウントに付与する必要があります。権限の付与により、このアカウントで収集されたSQL ServerイベントをWindowsセキュリティログに書き込めるようになります。

注記:SQL Serverサービスが、LOCAL SERVICEまたはNETWORK SERVICEアカウントで実行されている場合、ステップ2は不要です。

secpolを使用して、セキュリティ監査の生成権限を付与する手順は、以下のとおりです。

  • SQL Serverで[ファイル名を指定して実行]を選択し、「secpol.msc」と入力します。
  • [ローカル セキュリティ ポリシー]ダイアログボックスで、[セキュリティ設定]>>[ローカル ポリシー]>>[ユーザー権利の割り当て]の順に選択します。
  • [セキュリティ監査の生成]をダブルクリックします。設定ウィンドウが開きます。
  • [ローカル セキュリティ設定]タブでの[ユーザーまたはグループの追加]をクリックします。
  • [ユーザー、コンピューター、またはグループの選択]ダイアログボックスで、ユーザーアカウントの名前を「ドメイン名\ユーザー名」の形式で入力します。また、[詳細設定]をクリックすれば、アカウントの検索も可能です
  • [OK]をクリックして、[ローカル セキュリティ ポリシー]ダイアログボックスを閉じます。
  • この設定を有効にするために、SQL Serverを再起動します。

この手順を完了すると、SQL Server監査イベントがWindowsセキュリティログに記録されるようになります。また、SQL Server上で、必要なサーバー監査オブジェクトやサーバー監査仕様、データベース監査仕様を作成できます。