このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 でサーバー監査とサーバー監査の仕様を作成する方法について説明します。 SQL Server または SQL Server データベースのインスタンスの監査には、システムで発生するイベントの追跡とログ記録が含まれます。 SQL Server 監査オブジェクトは、監視するサーバー レベルまたはデータベース レベルのアクションとアクションのグループの単一のインスタンスを収集します。 監査は SQL Server インスタンス レベルで行われます。 SQL Server のインスタンスごとに複数の監査を使用できます。 サーバー監査の仕様 オブジェクトは監査に属しています。 サーバー監査の仕様は監査ごとに 1 つ作成できます。これは、サーバー監査の仕様も監査も SQL Server インスタンスのスコープで作成されるためです。 詳細については、「SQL Server Audit (データベース エンジン)」を参照してください。
このトピックについて
作業を開始する準備:
サーバー監査とサーバー監査の仕様を作成するには、次を使用します。
開始する前に
制限事項と制約条件
サーバー監査仕様を作成する前に、監査が存在する必要があります。 サーバー監査仕様が作成されると、無効な状態になります。
CREATE SERVER AUDIT ステートメントはトランザクションの範囲内にあります。 トランザクションがロールバックされると、ステートメントもロールバックされます。
安全
権限
サーバー監査を作成、変更、または削除するには、プリンシパルに ALTER ANY SERVER AUDIT または CONTROL SERVER 権限が必要です。
ALTER ANY SERVER AUDIT 権限を持つユーザーは、サーバー監査仕様を作成し、任意の監査にバインドできます。
サーバー監査仕様が作成されると、CONTROL SERVER または ALTER ANY SERVER AUDIT 権限を持つプリンシパル、sysadmin アカウント、または監査への明示的なアクセス権を持つプリンシパルによって表示できます。
SQL Server Management Studio の使用
サーバー監査を作成するには
オブジェクト エクスプローラーで、[ セキュリティ ] フォルダーを展開します。
[監査] フォルダーを右クリックし、[新しい監査...] を選択します。
[監査の作成] ダイアログ ボックスの [全般] ページでは、次のオプションを使用できます。
監査名
監査の名前。 これは、新しい監査を作成するときに自動的に生成されますが、編集可能です。キューの遅延 (ミリ秒単位)
監査アクションが強制的に処理されるまでの時間をミリ秒単位で指定します。 値 0 は同期配信を表します。 既定値は 1000 (1 秒) です。 最大値は 2,147,483,647 (2,147,483.647 秒または 24 日、20 時間、31 分、23.647 秒) です。監査ログエラー時:
続ける
SQL Server 操作を続行します。 監査レコードは保持されません。 監査は引き続きイベントのログ記録を試行し、エラー状態が解決された場合は再開されます。 [続行] オプションを選択すると、セキュリティ ポリシーに違反する可能性がある、監査されていないアクティビティが許可される可能性があります。 データベース エンジンの操作を続行する場合は、完全な監査を維持するよりも、このオプションを選択します。 これは既定値です。サーバーをシャットダウンする
監査ターゲットにデータを書き込むことができない場合、ターゲットに書き込みを行うサーバー インスタンスは、サーバーを強制的にシャットダウンします。 これを発行するログインには、SHUTDOWN
アクセス許可が必要です。 ログオンにこのアクセス許可がない場合、この関数は失敗し、エラー メッセージが表示されます。 監査イベントは発生しません。 監査エラーによってシステムのセキュリティまたは整合性が損なわれる可能性がある場合は、このオプションを選択します。失敗操作
SQL Server 監査が監査ログに書き込めない場合、このオプションを選択すると、監査イベントが発生した場合にデータベース アクションが失敗します。 監査イベントは発生しません。 監査イベントを引き起こさないアクションは続行できます。 監査は引き続きイベントのログ記録を試行し、エラー状態が解決された場合は再開されます。 データベース エンジンへのフル アクセスよりも完全な監査を維持する場合は、このオプションを選択します。重要
監査が失敗状態の場合、専用管理者接続は引き続き監査イベントを実行できます。
監査先 の一覧
監査データのターゲットを指定します。 使用できるオプションは、バイナリ ファイル、Windows アプリケーション ログ、または Windows セキュリティ ログです。 SQL Server は、Windows で追加の設定を構成しないと、Windows セキュリティ ログに書き込めません。 詳細については、「 SQL Server 監査イベントをセキュリティ ログに書き込む」を参照してください。ファイル パス
監査の保存先がファイルの場合に監査データが書き込まれるフォルダーの場所を指定します。省略記号 (...)
[ フォルダーの検索server_name ] ダイアログ ボックスを開き、ファイル パスを指定するか、監査ファイルが書き込まれるフォルダーを作成します。監査ファイルの上限:
ロールオーバー ファイルの最大数
監査ファイルの最大数に達すると、最も古い監査ファイルが新しいファイル コンテンツによって上書きされることを指定します。最大ファイル数
監査ファイルの最大数に達すると、追加の監査イベントを生成するアクションがエラーで失敗することを指定します。[無制限 ] チェック ボックス
[ロールオーバー ファイルの最大数] の下にある [無制限] チェック ボックスをオンにすると、作成される監査ファイルの数に制限はありません。 [ 無制限 ] チェック ボックスは既定で選択され、[ 最大ロールオーバー ファイル ] と [最大ファイル] の両方の選択に適用されます。[ファイル数] ボックス
作成する監査ファイルの数 (最大 2,147,483,647) を指定します。 このオプションは、[ 無制限 ] がオフになっている場合にのみ使用できます。最大ファイル サイズ
監査ファイルの最大サイズをメガバイト (MB)、ギガバイト (GB)、またはテラバイト (TB) で指定します。 1024 MB から 2,147,483,647 TB の範囲で指定できます。 [ 無制限 ] チェック ボックスをオンにしても、ファイルのサイズに制限はありません。 1024 MB 未満の値を指定すると失敗し、エラーが返されます。 既定では、[ 無制限 ] チェック ボックスがオンになっています。[ディスク領域の予約 ] チェック ボックス
指定した最大ファイル サイズと同じ領域がディスクに事前に割り当てられていることを指定します。 この設定は、[最大ファイル サイズ] の [無制限] チェック ボックスがオンでない場合にのみ使用できます。 このチェック ボックスは、既定では選択されていません。必要に応じて、[ フィルター ] ページで、サーバー監査に述語または
WHERE
句を入力して、[ 全般] ページから使用できない追加オプションを指定します。 述語をかっこで囲みます。例:(object_name = 'EmployeesTable')
。オプションの選択が完了したら、[ OK] をクリックします。
サーバー監査仕様を作成するには
オブジェクト エクスプローラーで、プラス記号をクリックして [セキュリティ ] フォルダーを展開します。
[サーバー監査仕様] フォルダーを右クリックし、[新しいサーバー監査の仕様...] を選択します。
[ サーバー監査仕様の作成 ] ダイアログ ボックスでは、次のオプションを使用できます。
名前
サーバー監査仕様の名前。 これは、新しいサーバー監査仕様を作成するときに自動的に生成されますが、編集可能です。監査
既存のサーバー監査の名前。 監査の名前を入力するか、一覧から選択します。監査アクションの種類
キャプチャするサーバー レベルの監査アクション グループと監査アクションを指定します。 サーバー レベルの監査アクション グループと監査アクションの一覧と、そのグループに含まれるイベントの説明については、「 SQL Server 監査アクション グループとアクション」を参照してください。オブジェクト スキーマ
指定した オブジェクト名のスキーマを表示します。[オブジェクト名]
監査するオブジェクトの名前。 これは監査アクションでのみ使用できます。監査グループには適用されません。省略記号 (...)
指定した監査アクションの種類に基づいて、使用可能なオブジェクトを参照して選択する [オブジェクトの選択] ダイアログを開きます。プリンシパル名
監査対象のオブジェクトに対して監査をフィルター処理するアカウント。省略記号 (...)
[ オブジェクトの選択 ]ダイアログ ボックスを開き、指定したオブジェクト名に基づいて使用可能なオブジェクトを参照して選択 します。終了したら、OKをクリックします。
Transact-SQL の使用
サーバー監査を作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- 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\' );
サーバー監査仕様を作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
/*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) に関するページを参照してください。