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

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

このトピックでは、 SQL ServerSQL ServerSQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用して、サーバー監査またはサーバー監査仕様を作成する方法について説明します。This topic describes how to create a server audit and server audit specification in SQL ServerSQL Server 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 Server Audit Specification object belongs to an audit. サーバー監査の仕様は監査ごとに 1 つ作成できます。これは、サーバー監査の仕様も監査も SQL ServerSQL Server インスタンスのスコープで作成されるためです。You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope. 詳しくは、「SQL Server Audit (データベース エンジン)」を参照してください。For more information, see SQL Server Audit (Database Engine).

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

はじめにBefore You Begin

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

  • サーバー監査仕様を作成するには、対象の監査が事前に存在している必要があります。An audit must exist before creating a server audit specification for it. サーバー監査仕様は作成されたとき無効な状態です。When a server audit specification is created, it is in a disabled state.

  • CREATE SERVER AUDIT ステートメントはトランザクションのスコープ内にあります。The CREATE SERVER AUDIT statement is in a transaction's scope. トランザクションがロールバックされると、ステートメントもロールバックされます。If the transaction is rolled back, the statement is also rolled back.

セキュリティSecurity

PermissionsPermissions

  • サーバー監査を作成、変更、または削除する場合、プリンシパルには、ALTER ANY SERVER AUDIT または CONTROL SERVER の権限が必要です。To create, alter, or drop a server audit, principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission.

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

  • サーバー監査仕様の作成後は、CONTROL SERVER または ALTER ANY SERVER AUDIT 権限を持つプリンシパル、sysadmin アカウント、またはその監査への明示的なアクセス権を持つプリンシパルがその仕様を表示できます。After a server audit specification is created, it can be viewed by principals with the CONTROL SERVER or ALTER ANY SERVER AUDIT permissions, the sysadmin account, or principals having explicit access to the audit.

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....

    [監査の作成] ダイアログ ボックスの [全般] ページでは、次のオプションを使用できます。The following options are available on the General page of the Create Audit dialog box.

    [監査名]Audit name
    監査の名前。The name of the audit. これは、新しい監査を作成すると自動的に生成されますが、編集可能です。This is generated automatically when you create a new audit but is editable.

    [処理の遅延 (ミリ秒)]Queue delay (in milliseconds)
    監査アクションの処理が強制されるまでの時間 (ミリ秒単位) を指定します。Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. 値 0 は同期配信を表します。A value of 0 indicates synchronous delivery. 既定の最小値は 1000 (1 秒) です。The default minimum value is 1000 (1 second). 最大値は 2,147,483,647 (2,147,483.647 秒、つまり 24 日、20 時間、31 分、23.647 秒) です。The maximum is 2,147,483,647 (2,147,483.647 seconds or 24 days, 20 hours, 31 minutes, 23.647 seconds).

    [監査ログ エラー発生時]On Audit Log Failure:
    ContinueContinue
    SQL ServerSQL Server 操作を続行します。operations continue. 監査レコードは保持されません。Audit records are not retained. 監査はイベントのログ記録を試行し続け、エラー状態が解決されると、記録を再開します。The audit continues to attempt to log events and will resume if the failure condition is resolved. [続行] オプションを選択すると、セキュリティ ポリシーに違反する可能性がある、監査されない活動を許すおそれがあります。Selecting the Continue option can allow unaudited activity which could violate your security policies. 完全な監査を維持することより、 データベース エンジンDatabase Engine の操作を続行することの方が重要である場合に、このオプションを選択します。Select this option when continuing operation of the データベース エンジンDatabase Engine is more important than maintaining a complete audit. これは既定値です。This is the default selection.

    [サーバーのシャットダウン]Shut down server
    監査対象に書き込みを行うサーバー インスタンスが監査対象にデータを書き込むことができない場合に、サーバーを強制的にシャットダウンします。Forces a server shut down when the server instance writing to the target cannot write data to the audit target. これを発行するログインには、 SHUTDOWN 権限が必要です。The login issuing this must have the SHUTDOWN permission. ログオンにこの権限がない場合、この機能は失敗し、エラー メッセージが表示されます。If the logon does not have this permission, this function will fail and an error message will be raised. 監査イベントは発生しません。No audited events occur. 監査エラーによってシステムのセキュリティまたは整合性が阻害される可能性がある場合に、このオプションを選択します。Select this option when an audit failure could compromise the security or integrity of the system.

    [失敗の操作]Fail operation
    SQL ServerSQL Server Audit が監査ログを出力できないとき、そのままではデータベース アクションが原因で、監査イベントが発生する場合、そのデータベース アクションを失敗させます。In cases where the SQL ServerSQL Server Audit cannot write to the audit log this option causes database actions to fail if they would otherwise cause audited events. 監査イベントは発生しません。No audited events occur. 監査イベントを発生させないアクションは続行できます。Actions which do not cause audited events can continue. 監査はイベントのログ記録を試行し続け、エラー状態が解決されると、記録を再開します。The audit continues to attempt to log events and will resume if the failure condition is resolved. データベース エンジンDatabase Engineへのフル アクセスより、完全な監査の維持の方が重要である場合に、このオプションを選択します。Select this option when maintaining a complete audit is more important than full access to the データベース エンジンDatabase Engine.

    重要

    監査が失敗状態のとき、専用管理者接続は、監査イベントの実行を継続できます。When the audit is in a failed state, the Dedicated Administrator Connection can continue to perform audited events.

    [監査の出力先] の一覧Audit destination list
    監査データの出力先を指定します。Specifies the target for auditing data. バイナリ ファイル、Windows アプリケーション ログ、または Windows セキュリティ ログを指定できます。The available options are a binary file, the Windows Application log, or the Windows Security log. SQL ServerSQL Server は、Windows で追加の設定を行わないと Windows セキュリティ ログに書き込むことができません。cannot write to the Windows Security log without configuring additional settings in Windows. 詳細については、「 セキュリティ ログへの SQL サーバー監査イベントの書き込み」を参照してください。For more information, see Write SQL Server Audit Events to the Security Log.

    [ファイル パス]File path
    [監査の出力先] にファイルが指定されている場合に、監査データが書き込まれるフォルダーの場所を指定します。Specifies the location of the folder where audit data is written when the Audit destination is a file.

    省略記号 (...)Ellipsis (...)
    ファイル パスを指定したり監査ファイルの書き込み先フォルダーを作成したりするための [フォルダーの検索 - server_name] ダイアログ ボックスを開きます。Opens the Locate Folder -server_name dialog box to specify a file path or create a folder where the audit file is written.

    [監査ファイルの最大限度]Audit File Maximum Limit:
    [ロールオーバー ファイルの最大数]Maximum rollover files
    監査ファイルがその最大数に達すると、最も古い監査ファイルが新しいファイルの内容で上書きされることを指定します。Specifies that, when the maximum number of audit files is reached, the oldest audit files are overwritten by new file content.

    [最大ファイル]Maximum files
    監査ファイル数が上限に達すると、追加の監査イベントを生成させるアクションが失敗し、エラーが発生することを指定します。Specifies that, when the maximum number of audit files is reached, any action that causes additional audit events to be generated will fail with an error.

    [無制限] チェック ボックスUnlimited check box
    [ロールオーバー ファイルの最大数][無制限] チェック ボックスがオンの場合、作成される監査ファイルの数は制限されません。When the Unlimited check box under Maximum rollover files is selected, there is no limit imposed on the number of audit files that will be created. [無制限] チェック ボックスは既定でオンになり、 [ロールオーバー ファイルの最大数][最大ファイル数] の両方の選択に適用されます。The Unlimited check box is selected by default and applies to both the Maximum rollover files and Maximum files selections.

    [ファイルの数] ボックスNumber of files box
    作成する監査ファイル数を指定します (2,147,483,647 まで)。Specifies the number of audit files to be created, up to 2,147,483,647. このオプションは、 [無制限] がオフの場合にのみ利用可能です。This option is only available if Unlimited is unchecked.

    [最大ファイル サイズ]Maximum file size
    監査ファイルの最大サイズをメガバイト (MB)、ギガバイト (GB)、またはテラバイト (TB) 単位で指定します。Specifies the maximum size for an audit file in either megabytes (MB), gigabytes (GB), or terabytes (TB). 最大 2,147,483,647 TB までの数値を指定できます。You can specify a number up to 2,147,483,647 TB. [無制限] チェック ボックスをオンにした場合、ファイルのサイズに制限は設定されません。Selecting the Unlimited check box does not place a limit on the size of the file. 既定では、 [無制限] チェック ボックスはオンになっています。The Unlimited check box is selected by default.

    [ディスク領域を予約する] チェック ボックスReserve disk space check box
    指定した最大ファイル サイズと等しい領域が、ディスク上に事前に割り当てられるように指定します。Specifies that space is pre-allocated on the disk equal to the specified maximum file size. この設定は、 [最大ファイル サイズ][無制限] チェック ボックスがオフの場合にのみ使用できます。This setting can only be used if the Unlimited check box under Maximum file size is not selected. 既定では、このチェック ボックスはオフになっています。This check box is not selected by default.

  3. オプションで、 [フィルター] ページでサーバー監査に対する述語または WHERE 句を入力して、 [全般] ページからは使用できない追加オプションを指定します。Optionally, on the Filter page, enter a predicate, or WHERE clause, to the server audit to specify additional options not available from the General page. 述語はかっこで囲みます。たとえば、 (object_name = 'EmployeesTable')と指定します。Enclose the predicate in parentheses; for example: (object_name = 'EmployeesTable').

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

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

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

  2. [サーバー監査の仕様] フォルダーを右クリックし、 [新しいサーバー監査の仕様] を選択します。Right-click the Server Audit Specifications folder and select New Server Audit Specification....

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

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

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

    [監査アクションの種類]Audit Action Type
    キャプチャするサーバー レベルの監査アクション グループと監査アクションを指定します。Specifies the server-level audit action groups and audit actions to capture. サーバー レベルの監査アクション グループと監査アクションの一覧、およびそれらに含まれるイベントの説明については、「 SQL Server 監査のアクション グループとアクション」を参照してください。For the list of server-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.

  3. 終了したら [OK] をクリックします。When you are finished, 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.

    -- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );  
    

サーバー監査仕様を作成するにはTo create a server 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.

    /*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification  
    FOR SERVER AUDIT HIPAA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

詳細については、「CREATE SERVER AUDIT (Transact-SQL)」および「CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)」を参照してください。For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).