次の方法で共有


サーバー監査の仕様およびデータベース監査の仕様を作成する方法

このトピックでは、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 を使用する

サーバー監査を作成するには

  1. オブジェクト エクスプローラーで、 [セキュリティ] フォルダーを展開します。

  2. [監査] フォルダーを右クリックし、[新しい監査] を選択します。詳細については、「サーバー監査とサーバー監査の仕様の作成」を参照してください。

  3. オプションの選択が完了したら、 [OK] をクリックします。

データベース レベルの監査仕様を作成するには

  1. オブジェクト エクスプローラーで、監査仕様を作成するデータベースを展開します。

  2. [セキュリティ] フォルダーを展開します。

  3. [データベース監査の仕様] フォルダーを右クリックし、[新しいデータベース監査仕様]を選択します。

    [データベース監査の仕様の作成] ダイアログ ボックスでは、次のオプションを使用できます。

    名前
    データベース監査の仕様の名前。 この名前は、新しいサーバー監査の仕様を作成すると自動的に生成されますが、編集可能です。

    監査
    既存のデータベース監査の名前。 監査の名前を入力するか、一覧から選択します。

    [監査アクションの種類]
    キャプチャするデータベース レベルの監査アクション グループと監査アクションを指定します。 データベース レベルの監査アクション グループと監査アクションの一覧、およびそれらに含まれるイベントの説明については、「 SQL Server 監査のアクション グループとアクション」をご覧ください。

    [オブジェクト スキーマ]
    指定した [オブジェクト名] のスキーマを表示します。

    [オブジェクト名]
    監査するオブジェクトの名前。 これは監査アクションにのみ使用できます。監査グループには適用されません。

    省略記号 (...)
    指定した [監査アクションの種類] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。

    [プリンシパル名]
    監査対象のオブジェクトで監査をフィルター選択するためのアカウント。

    省略記号 (...)
    指定した [オブジェクト名] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。

  4. オプションの選択が完了したら、 [OK]をクリックします。

Transact-SQL の使用

サーバー監査を作成するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    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) ;  
    

データベース レベルの監査仕様を作成するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 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)」を参照してください。