Transact-SQL を使用した監査の作成と管理

[このドキュメントはプレビューのみを目的にしており、今後のリリースでは変更される場合があります。空のトピックはプレースホルダーとして記載されています。]

Management Studio または Transact-SQL を使用して Transact-SQL データ定義言語 (DDL) ステートメント、動的管理ビューおよび関数、カタログ ビューを実行することで、個々の SQL Server 環境用の単純または複雑な SQL Server 監査ソリューションを作成することができます。

このセクションの内容

参照トピック

DDL ステートメント、動的管理ビューと関数、およびカタログ ビューを使用して、SQL Server 監査のすべての機能を実装できます。

権限

SQL Server 監査の各機能とコマンドには、個別の権限要件があります。

サーバー監査またはサーバー監査の仕様を作成、変更、削除する場合、サーバー プリンシパルには、ALTER ANY SERVER AUDIT または CONTROL SERVER の権限が必要です。 データベース監査の仕様を作成、変更、削除する場合、データベース プリンシパルには、ALTER ANY DATABASE AUDIT 権限、またはデータベースに対する ALTER 権限か CONTROL 権限が必要です。 さらに、プリンシパルには、データベースに接続する権限、または ALTER ANY SERVER AUDIT 権限か CONTROL SERVER 権限が必要です。

特に指定がない限り、カタログ ビューを表示する場合、プリンシパルに次のいずれかのロールまたは権限が必要です。

  • 固定サーバー ロール sysadmin のメンバーシップ。

  • CONTROL SERVER 権限。

  • VIEW SERVER STATE 権限。

  • ALTER ANY AUDIT 権限。

  • VIEW AUDIT STATE 権限 (sys.server_audits カタログ ビューにアクセスするプリンシパルのみに付与)。

動的管理ビューを使用するには、プリンシパルに VIEW SERVER STATE または ALTER ANY AUDIT 権限が必要です。

アクセス権および権限を付与する方法の詳細については、「GRANT (Transact-SQL)」を参照してください。

注意

sysadmin ロールのプリンシパルによって監査コンポーネントが勝手に書き換えられることも、db_owner ロールのプリンシパルによってデータベース内の監査の仕様が勝手に書き換えられることもないとはいえません。SQL Server 監査では、監査の仕様を作成または変更するログオンが、ALTER ANY DATABASE AUDIT 以上の権限を持っているかどうかが検証されます。ただし、データベースにアタッチするときには検証は行われません。すべてのデータベース監査の仕様は、sysadmin ロールまたは db_owner ロールのプリンシパルと同等の信頼性しかないと見なす必要があります。

データ定義言語ステートメント

以下の DDL ステートメントを使用して、監査の仕様を作成、変更、および削除することができます。

ALTER AUTHORIZATION

CREATE SERVER AUDIT

ALTER DATABASE AUDIT SPECIFICATION

CREATE SERVER AUDIT SPECIFICATION

ALTER SERVER AUDIT

DROP DATABASE AUDIT SPECIFICATION

ALTER SERVER AUDIT SPECIFICATION

DROP SERVER AUDIT

CREATE DATABASE AUDIT SPECIFICATION

DROP SERVER AUDIT SPECIFICATION

動的ビューと関数

次の表に、SQL Server 監査に使用できる動的ビューと関数の一覧を示します。

動的ビューと関数

説明

sys.dm_audit_actions

監査ログで報告される可能性のあるすべての監査アクション、および SQL Server Audit の一部として構成できるすべての監査アクション グループに対して 1 つの行を返します。

sys.dm_server_audit_status

監査の現在の状態に関する情報を提供します。

sys.dm_audit_class_type_map

監査ログ内の class_type フィールドを、sys.dm_audit_actions 内の class_desc フィールドにマップするテーブルを返します。

fn_get_audit_file

サーバー監査で作成された監査ファイルからの情報を返します。

カタログ ビュー

次の表に、SQL Server 監査に使用できるカタログ ビューの一覧を示します。

カタログ ビュー

説明

sys.database_ audit_specifications

サーバー インスタンス上の SQL Server 監査に含まれるデータベース監査仕様に関する情報を含みます。

sys.database_audit_specification_details

すべてのデータベースについてサーバー インスタンス上の SQL Server 監査に含まれる、データベース監査仕様に関する情報を含みます。

sys.server_audits

サーバー インスタンス内の各 SQL Server 監査について行を 1 つずつ含みます。

sys.server_audit_specifications

サーバー インスタンス上の SQL Server 監査に含まれるサーバー監査仕様に関する情報を含みます。

sys.server_audit_specifications_details

サーバー インスタンス上の SQL Server 監査に含まれるサーバー監査仕様の詳細 (アクション) に関する情報を含みます。

sys.server_file_audits

サーバー インスタンス上の SQL Server 監査に含まれるファイル監査の種類に関する拡張情報を含みます。

関連項目

概念

SQL Server Audit (データベース エンジン)

SQL Server Management Studio での監査の作成と管理