この記事の内容
SQL監査イベントを記録する方法は主に2つあります。1つは、SQL Serverのログを.sqlauditファイルに書き込み、SQLログビューアーで表示する方法です。もう1つは、Windowsセキュリティログに書き込む方法です。後者には、改ざん防止という利点があります。
この記事では、SQL Server監査イベントをWindowsセキュリティログに書き込む方法について説明します。
ステップ1:auditpolコマンドを使用して、Windowsでオブジェクトアクセスに対する監査設定を行う
特定のSQL Serverイベントを収集してログに記録するには、Windowsでオブジェクトアクセスの監査設定を行う必要があります。設定を行うには、以下のようにauditpol.exeを実行します。
- SQL Serverで、管理者権限を使用してコマンドプロンプトを開きます。
- 次のコマンドを実行します。
- これで、SQL Serverでの監査が有効になりました。コマンドプロンプトを閉じます。
auditpol /set /subcategory:'application generated' /success:enable /failure:enable
ステップ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上で、必要なサーバー監査オブジェクトやサーバー監査仕様、データベース監査仕様を作成できます。