サーバー監査の仕様およびデータベース監査の仕様を作成する方法
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 でサーバー監査とデータベース監査の仕様を作成する方法について説明します。
のインスタンスや データベースの SQL Server 監査 SQL Server では、システムで発生するイベントの追跡およびログ記録が行われます。 SQL Server Audit オブジェクトは、監視するサーバー レベルまたはデータベース レベルのアクションおよびアクションのグループの 1 つのインスタンスを収集します。 監査は SQL Server インスタンス レベルで行われます。 SQL Server のインスタンスごとに複数の監査を使用できます。 " データベース レベルの監査の仕様 " オブジェクトも、監査に属しています。 各監査では、SQL Server データベースごとに 1 つのデータベース監査の仕様を作成できます。 詳細については、「SQL Server Audit (データベース エンジン)」を参照してください。
このトピックの内容
作業を開始する準備:
サーバー監査とデータベース監査の仕様を作成する方法:
はじめに
制限事項と制約事項
データベース監査仕様は、セキュリティ保護できないオブジェクトであり、特定のデータベースに保存されます。 作成されたデータベース監査仕様は無効な状態です。
ユーザー データベースでデータベース監査の仕様を作成または変更するときは、システム ビューなど、サーバー スコープ オブジェクトの監査アクションは含めないでください。 サーバー スコープ オブジェクトが含まれている場合、監査が作成されます。 ただし、サーバー スコープ オブジェクトは対象にならず、エラーは返されません。 サーバー スコープ オブジェクトを監査するには、master データベースのデータベース監査の仕様を使用してください。
tempdb
システム データベースを除き、データベース監査の仕様は、その仕様が作成されるデータベースに存在します。
セキュリティ
アクセス許可
ALTER ANY DATABASE AUDIT 権限を持つユーザーは、データベース監査仕様を作成し、任意の監査にバインドできます。
データベース監査仕様を作成した後は、CONTROL SERVER、ALTER ANY DATABASE AUDIT アクセス許可、または sysadmin アカウントを持つプリンシパルによって表示できます。
SQL Server Management Studio を使用する
サーバー監査を作成するには
オブジェクト エクスプローラーで、 [セキュリティ] フォルダーを展開します。
[監査] フォルダーを右クリックし、[新しい監査] を選択します。詳細については、「サーバー監査とサーバー監査の仕様の作成」を参照してください。
オプションの選択が完了したら、 [OK] をクリックします。
データベース レベルの監査仕様を作成するには
オブジェクト エクスプローラーで、監査仕様を作成するデータベースを展開します。
[セキュリティ] フォルダーを展開します。
[データベース監査の仕様] フォルダーを右クリックし、[新しいデータベース監査仕様]を選択します。
[データベース監査の仕様の作成] ダイアログ ボックスでは、次のオプションを使用できます。
名前
データベース監査の仕様の名前。 この名前は、新しいサーバー監査の仕様を作成すると自動的に生成されますが、編集可能です。監査
既存のデータベース監査の名前。 監査の名前を入力するか、一覧から選択します。[監査アクションの種類]
キャプチャするデータベース レベルの監査アクション グループと監査アクションを指定します。 データベース レベルの監査アクション グループと監査アクションの一覧、およびそれらに含まれるイベントの説明については、「 SQL Server 監査のアクション グループとアクション」をご覧ください。[オブジェクト スキーマ]
指定した [オブジェクト名] のスキーマを表示します。[オブジェクト名]
監査するオブジェクトの名前。 これは監査アクションにのみ使用できます。監査グループには適用されません。省略記号 (...)
指定した [監査アクションの種類] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。[プリンシパル名]
監査対象のオブジェクトで監査をフィルター選択するためのアカウント。省略記号 (...)
指定した [オブジェクト名] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。オプションの選択が完了したら、 [OK]をクリックします。
Transact-SQL の使用
サーバー監査を作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
USE master ; GO -- Create the server audit. CREATE SERVER AUDIT Payrole_Security_Audit TO FILE ( FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ; GO -- Enable the server audit. ALTER SERVER AUDIT Payrole_Security_Audit WITH (STATE = ON) ;
データベース レベルの監査仕様を作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、
Audit_Pay_Tables
テーブルに対するdbo
ユーザーによる SELECT ステートメントと INSERT ステートメントを、定義済みのサーバー監査に基づいて監査するHumanResources.EmployeePayHistory
という名前のデータベース監査仕様を作成します。USE AdventureWorks2012 ; GO -- Create the database audit specification. CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables FOR SERVER AUDIT Payrole_Security_Audit ADD (SELECT , INSERT ON HumanResources.EmployeePayHistory BY dbo ) WITH (STATE = ON) ; GO
詳細については、「CREATE SERVER AUDIT (Transact-SQL)」および「CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)」を参照してください。