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