サーバー監査の仕様およびデータベース監査の仕様を作成する方法Create a Server Audit and Database Audit Specification

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 SQL Server 2017SQL Server 2017 または SQL Server Management StudioSQL Server Management Studio を使用して、 Transact-SQLTransact-SQLでサーバー監査とデータベース監査の仕様を作成する方法について説明します。This topic describes how to create a server audit and database audit specification in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

のインスタンスや データベースの SQL ServerSQL Server 監査 SQL ServerSQL Server では、システムで発生するイベントの追跡およびログ記録が行われます。Auditing an instance of SQL ServerSQL Server or a SQL ServerSQL Server database involves tracking and logging events that occur on the system. SQL Server Audit オブジェクトは、監視するサーバー レベルまたはデータベース レベルのアクションおよびアクションのグループの 1 つのインスタンスを収集します。The SQL Server Audit object collects a single instance of server- or database-level actions and groups of actions to monitor. 監査は SQL ServerSQL Server インスタンス レベルで行われます。The audit is at the SQL ServerSQL Server instance level. SQL ServerSQL Server のインスタンスごとに複数の監査を使用できます。You can have multiple audits per SQL ServerSQL Server instance. " データベース レベルの監査の仕様 " オブジェクトも、監査に属しています。The Database-Level Audit Specification object belongs to an audit. 各監査では、SQL Server データベースごとに 1 つのデータベース監査の仕様を作成できます。You can create one database audit specification per SQL Server database per audit. 詳しくは、「SQL Server Audit (データベース エンジン)」を参照してください。For more information, see SQL Server Audit (Database Engine).

このトピックの内容In This Topic

はじめにBefore You Begin

制限事項と制約事項Limitations and Restrictions

データベース監査仕様は、セキュリティ保護できないオブジェクトであり、特定のデータベースに保存されます。Database audit specifications are non-securable objects that reside in a given database. 作成されたデータベース監査仕様は無効な状態です。When a database audit specification is created, it is in a disabled state.

ユーザー データベースでデータベース監査の仕様を作成または変更するときは、システム ビューなど、サーバー スコープ オブジェクトの監査アクションは含めないでください。When you are creating or modifying a database audit specification in a user database, do not include audit actions on server-scope objects, such as the system views. サーバー スコープ オブジェクトが含まれている場合、監査が作成されます。If server-scoped objects are included, the audit will be created. ただし、サーバー スコープ オブジェクトは対象にならず、エラーは返されません。However, the server-scoped objects will not be included, and no error will be returned. サーバー スコープ オブジェクトを監査するには、master データベースのデータベース監査の仕様を使用してください。To audit server-scope objects, use a database audit specification in the master database.

tempdb システム データベースを除き、データベース監査の仕様は、その仕様が作成されるデータベースに存在します。Database audit specifications reside in the database where they are created, with the exception of the tempdb system database.

セキュリティSecurity

PermissionsPermissions

  • ALTER ANY DATABASE AUDIT 権限を持つユーザーは、データベース監査仕様を作成し、任意の監査にバインドできます。Users with the ALTER ANY DATABASE AUDIT permission can create database audit specifications and bind them to any audit.

  • データベース監査仕様の作成後は、CONTROL SERVER 権限または ALTER ANY DATABASE AUDIT 権限を持つプリンシパル、または sysadmin アカウントがその仕様を表示できます。After a database audit specification is created, it can be viewed by principals with the CONTROL SERVER, ALTER ANY DATABASE AUDIT permissions, or the sysadmin account.

SQL Server Management Studio の使用Using SQL Server Management Studio

サーバー監査を作成するにはTo create a server audit

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

  2. [監査] フォルダーを右クリックし、 [新しい監査] を選択します。詳しくは、「 サーバー監査およびサーバー監査の仕様を作成する方法」をご覧ください。Right-click the Audits folder and select New Audit.... For more information, see Create a Server Audit and Server Audit Specification.

  3. オプションの選択が完了したら、 [OK] をクリックします。When you are finished selecting options, click OK.

データベース レベルの監査仕様を作成するにはTo create a database-level audit specification

  1. オブジェクト エクスプローラーで、監査仕様を作成するデータベースを展開します。In Object Explorer, expand the database where you want to create an audit specification.

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

  3. [データベース監査の仕様] フォルダーを右クリックし、 [新しいデータベース監査の仕様...] を選択します。Right-click the Database Audit Specifications folder and select New Database Audit Specification....

    [データベース監査の仕様の作成] ダイアログ ボックスでは、次のオプションを使用できます。The following options are available on the Create Database Audit Specification dialog box.

    [名前]Name
    データベース監査の仕様の名前。The name of the database audit specification. この名前は、新しいサーバー監査の仕様を作成すると自動的に生成されますが、編集可能です。This is generated automatically when you create a new server audit specification but is editable.

    監査Audit
    既存のデータベース監査の名前。The name of an existing database audit. 監査の名前を入力するか、一覧から選択します。Either type in the name of the audit or select it from the list.

    [監査アクションの種類]Audit Action Type
    キャプチャするデータベース レベルの監査アクション グループと監査アクションを指定します。Specifies the database-level audit action groups and audit actions to capture. データベース レベルの監査アクション グループと監査アクションの一覧、およびそれらに含まれるイベントの説明については、「 SQL Server 監査のアクション グループとアクション」をご覧ください。For the list of database-level audit action groups and audit actions and a description of the events they contain, see SQL Server Audit Action Groups and Actions.

    [オブジェクト スキーマ]Object Schema
    指定した [オブジェクト名] のスキーマを表示します。Displays the schema for the specified Object Name.

    [オブジェクト名]Object Name
    監査するオブジェクトの名前。The name of the object to audit. これは監査アクションにのみ使用できます。監査グループには適用されません。This is only available for audit actions; it does not apply to audit groups.

    省略記号 (...)Ellipsis (...)
    指定した [監査アクションの種類] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。Opens the Select Objects dialog to browse for and select an available object, based on the specified Audit Action Type.

    [プリンシパル名]Principal Name
    監査対象のオブジェクトで監査をフィルター選択するためのアカウント。The account to filter the audit by for the object being audited.

    省略記号 (...)Ellipsis (...)
    指定した [オブジェクト名] に基づいて、使用可能なオブジェクトを参照して選択するための [オブジェクトの選択] ダイアログ ボックスを開きます。Opens the Select Objects dialog to browse for and select an available object, based on the specified Object Name.

  4. オプションの選択が完了したら、 [OK] をクリックします。When you are finished selecting option, click OK.

Transact-SQL の使用Using Transact-SQL

サーバー監査を作成するにはTo create a server audit

  1. オブジェクト エクスプローラーで、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_Security_Audit   
    WITH (STATE = ON) ;  
    

データベース レベルの監査仕様を作成するにはTo create a database-level audit specification

  1. オブジェクト エクスプローラーで、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute. この例では、Audit_Pay_Tables テーブルに対する dbo ユーザーによる SELECT ステートメントと INSERT ステートメントを、定義済みのサーバー監査に基づいて監査する HumanResources.EmployeePayHistory という名前のデータベース監査仕様を作成します。The example creates a database audit specification called Audit_Pay_Tables that audits SELECT and INSERT statements by the dbo user, for the HumanResources.EmployeePayHistory table based on the server audit defined above.

    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)」を参照してください。For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).