次の方法で共有


SQL Server の監査アクショングループおよびアクション

SQL Server 監査機能を使用すると、イベントと個々のイベントのサーバー レベルおよびデータベース レベルのグループを監査できます。 詳細については、「SQL Server Audit (データベース エンジン)」を参照してください。

SQL Server 監査は、0 個以上の監査アクション 項目で構成されます。 これらの監査アクション項目には、Server_Object_Change_Groupなどのアクションのグループ、またはテーブルに対する SELECT 操作などの個々のアクションのいずれかを指定できます。

Server_Object_Change_Groupには、任意のサーバー オブジェクト (データベースまたはエンドポイント) の CREATE、ALTER、DROP が含まれます。

監査には、次のカテゴリのアクションを含めることができます。

  • サーバーレベル これらのアクションには、管理の変更やログオン操作やログオフ操作などのサーバー操作が含まれます。

  • データベースのレベル。 これらのアクションには、データ操作言語 (DML) 操作とデータ定義言語 (DDL) 操作が含まれます。

  • 監査レベル。 これらのアクションには、監査プロセスのアクションが含まれます。

SQL Server 監査コンポーネントで実行される一部のアクションは、本質的に特定の監査で監査され、このような場合は、イベントが親オブジェクトで発生したために自動的に監査イベントが発生します。

次のアクションは本質的に監査されます。

  • サーバー監査状態の変更 (状態を ON または OFF に設定)

次のイベントは本質的に監査されません。

  • サーバー監査仕様の作成

  • サーバー監査仕様の変更

  • サーバー監査仕様を削除 (DROP SERVER AUDIT SPECIFICATION)

  • データベース監査仕様を作成します

  • データベース監査仕様の変更

  • データベース監査仕様を削除する

最初に作成されると、すべての監査が無効になります。

Server-Level 監査アクショングループ

サーバー レベルの監査アクション グループは、SQL Server セキュリティ監査イベント クラスに似たアクションです。 詳細については、「 SQL Server イベント クラス リファレンス」を参照してください

次の表では、サーバー レベルの監査アクション グループについて説明し、該当する場合は同等の SQL Server イベント クラスを示します。

アクション グループ名 説明
アプリケーションの役割パスワード変更グループ このイベントは、アプリケーション ロールのパスワードが変更されるたびに発生します。 Audit App Role Change Password イベント クラスと同じです。
監査_変更_グループ このイベントは、監査が作成、変更、または削除されるたびに発生します。 このイベントは、監査仕様が作成、変更、または削除されるたびに発生します。 監査に対する変更は、その監査で監査されます。 監査変更イベントクラスと同じです。
バックアップ_リストア_グループ このイベントは、バックアップまたは復元コマンドが発行されるたびに発生します。 Audit Backup and Restore イベント クラスと同じです。
BROKER_LOGIN_GROUP このイベントは、Service Broker トランスポート セキュリティに関連する監査メッセージを報告するために発生します。 Audit Broker ログイン イベント クラスと同じです。
DATABASE_CHANGE_GROUP(データベース変更グループ) このイベントは、データベースの作成、変更、または削除時に発生します。 このイベントは、データベースが作成、変更、または削除されるたびに発生します。 Audit Database Management イベント クラスと同じです。
データベース_ログアウト_グループ このイベントは、包含データベース ユーザーがデータベースからログアウトしたときに発生します。 Audit Database Logout イベント クラスと同じです。
データベースミラーリングログイングループ このイベントは、データベース ミラーリング トランスポート セキュリティに関連する監査メッセージを報告するために発生します。 Audit Database Mirroring Login イベント クラスと同じです。
データベースオブジェクトアクセスグループ このイベントは、メッセージの種類、アセンブリ、コントラクトなどのデータベース オブジェクトにアクセスするたびに発生します。

このイベントは、任意のデータベースへのアクセスに対して発生します。 手記: これにより、監査レコードが大きくなる可能性があります。

Audit Database オブジェクト アクセス イベント クラスと同じです。
データベース_オブジェクト_変更_グループ このイベントは、スキーマなどのデータベース オブジェクトに対して CREATE、ALTER、または DROP ステートメントが実行されるときに発生します。 このイベントは、データベース オブジェクトが作成、変更、または削除されるたびに発生します。 手記: これにより、非常に大量の監査レコードが発生する可能性があります。

Audit Database オブジェクト管理イベント クラスと同じです。
データベースオブジェクト所有権変更グループ このイベントは、データベース スコープ内のオブジェクトの所有者が変更されたときに発生します。 このイベントは、サーバー上の任意のデータベースでオブジェクトの所有権が変更された場合に発生します。 監査データベースオブジェクト所有権取得イベントクラスと同じです。
データベースオブジェクト権限変更グループ このイベントは、アセンブリやスキーマなどのデータベース オブジェクトに対して GRANT、REVOKE、または DENY が発行されたときに発生します。 このイベントは、サーバー上の任意のデータベースに対するオブジェクト権限の変更に対して発生します。 Audit Database オブジェクト GDR イベント クラスと同じです。
データベース操作グループ このイベントは、チェックポイントやサブスクライブ クエリ通知などのデータベース内の操作が発生したときに発生します。 このイベントは、任意のデータベースに対するすべてのデータベース操作で発生します。 Audit Database Operation イベント クラスと同じです。
データベース所有権変更グループ このイベントは、ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を変更し、それを行うために必要なアクセス許可がチェックされるときに発生します。 このイベントは、サーバー上の任意のデータベースでデータベースの所有権が変更された場合に発生します。 Audit Change Database Owner イベント クラスと同じです。
データベース権限変更グループ このイベントは、SQL Server の任意のプリンシパルによってステートメントのアクセス許可に対して GRANT、REVOKE、または DENY が発行されるたびに発生します (データベースに対するアクセス許可の付与など、データベースのみのイベントに適用されます)。

このイベントは、サーバー内の任意のデータベースのデータベース 権限変更 (GDR) に対して発生します。 Audit Database Scope GDR イベント クラスと同じです。
データベース主体変更グループ このイベントは、ユーザーなどのプリンシパルがデータベースから作成、変更、または削除されるときに発生します。 Audit Database Principal Management イベントクラスに相当します。 (非推奨のsp_grantdbaccess、sp_revokedbaccess、sp_addPrincipal、およびsp_dropPrincipalストアド プロシージャで発生する Audit Add DB プリンシパル イベント クラスにも相当します)。

このイベントは、ストアド プロシージャsp_droprole sp_addroleを使用してデータベース ロールが追加または削除されるたびに発生します。 このイベントは、データベース プリンシパルが任意のデータベースから作成、変更、または削除されるたびに発生します。 Audit Add Role イベント クラスに相当します。
DATABASE_PRINCIPAL_IMPERSONATION_GROUP このイベントは、EXECUTE AS <principal> SETPRINCIPAL などのデータベース スコープに偽装操作がある場合に発生します。 このイベントは、任意のデータベースで行われる偽装に対して発生します。 Audit Database Principal Impersonation イベント クラスと同じです。
データベースロールメンバー変更グループ このイベントは、ログインがデータベース ロールに追加またはデータベース ロールから削除されるたびに発生します。 このイベント クラスは、sp_addrolemember、sp_changegroup、およびsp_droprolememberストアド プロシージャに対して発生します。 このイベントは、任意のデータベースのデータベース ロール メンバーの変更で発生します。 AUDIT Add メンバーを DB ロール イベント クラスに追加するのと同じです。
DBCC_GROUP このイベントは、プリンシパルが DBCC コマンドを発行するたびに発生します。 Audit DBCC イベント クラスと同じです。
データベース認証グループの認証失敗 プリンシパルが包含データベースにログオンしようとして失敗したことを示します。 このクラスのイベントは、新しい接続または接続プールから再利用される接続によって発生します。 Audit Login Failed イベント クラスと同じです。
ログイン失敗グループ プリンシパルが SQL Server にログオンしようとして失敗したことを示します。 このクラスのイベントは、新しい接続または接続プールから再利用される接続によって発生します。 Audit Login Failed イベント クラスと同じです。
フルテキスト_グループ フルテキスト イベントが発生したことを示します。 Audit Fulltext イベント クラスと同じです。
LOGIN_CHANGE_PASSWORD_GROUP このイベントは、ALTER LOGIN ステートメントまたはストアド プロシージャを使用してログイン パスワードsp_password変更されるたびに発生します。 Audit Login Change Password イベント クラスと同じです。
ログアウトグループ プリンシパルが SQL Server からログアウトしたことを示します。 このクラスのイベントは、新しい接続または接続プールから再利用される接続によって発生します。 Audit Logout イベント クラスと同じです。
スキーマ_オブジェクト_アクセス_グループ このイベントは、スキーマでオブジェクト権限が使用されるたびに発生します。 Audit Schema オブジェクト アクセス イベント クラスと同じです。
SCHEMA_OBJECT_CHANGE_GROUP このイベントは、スキーマに対して CREATE、ALTER、または DROP 操作が実行されるときに発生します。 Audit Schema オブジェクト管理イベント クラスと同じです。

このイベントは、スキーマ オブジェクトで発生します。 Audit オブジェクト派生アクセス許可イベント クラスと同じです。

このイベントは、データベースのスキーマが変更されるたびに発生します。 <c0>監査ステートメント許可イベントクラス</c0>と同等です。
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP このイベントは、スキーマ オブジェクト (テーブル、プロシージャ、関数など) の所有者を変更するアクセス許可がチェックされると発生します。 これは、ALTER AUTHORIZATION ステートメントを使用して所有者をオブジェクトに割り当てるときに発生します。 このイベントは、サーバー上の任意のデータベースのスキーマ所有権の変更に対して発生します。 Audit Schema オブジェクト所有権を取得するイベント クラスと同じです。
スキーマオブジェクト権限変更グループ このイベントは、スキーマ オブジェクトに対して許可、拒否、取り消しが実行されるたびに発生します。 Audit Schema オブジェクト GDR イベント クラスと同じです。
サーバーオブジェクト変更グループ このイベントは、サーバー オブジェクトに対する CREATE、ALTER、または DROP 操作で発生します。 Audit Server オブジェクト管理イベント クラスと同じです。
サーバーオブジェクト所有権変更グループ このイベントは、サーバー スコープ内のオブジェクトの所有者が変更されたときに発生します。 Audit Server オブジェクトの所有権取得イベント クラスと同じです。
サーバーオブジェクト権限変更グループ このイベントは、SQL Server の任意のプリンシパルによってサーバー オブジェクトのアクセス許可に対して GRANT、REVOKE、または DENY が発行されるたびに発生します。 Audit Server オブジェクト GDR イベント クラスと同じです。
サーバー操作グループ このイベントは、設定、リソース、外部アクセス、承認の変更などのセキュリティ監査操作が使用されるときに発生します。 Audit Server Operation イベント クラスと同じです。
サーバー_権限_変更_グループ このイベントは、ログインの作成など、サーバー スコープ内のアクセス許可に対して GRANT、REVOKE、または DENY が発行されたときに発生します。 Audit Server Scope GDR イベント クラスと同等です。
サーバープリンシパル変更グループ このイベントは、サーバー プリンシパルが作成、変更、または削除されるときに発生します。 Audit Server Principal Management イベント クラスと同じです。

このイベントは、プリンシパルがsp_defaultdbまたはsp_defaultlanguageストアド プロシージャまたは ALTER LOGIN ステートメントを発行したときに発生します。 Audit Addlogin イベント クラスと同じです

このイベントは、sp_addloginおよびsp_droploginストアド プロシージャで発生します。 Audit Login Change Property イベント クラスにも該当します。

このイベントは、sp_grantloginまたはsp_revokeloginストアド プロシージャに対して発生します。 Audit Login GDR イベント クラスと同じです。
サーバープリンシパル模倣グループ このイベントは、EXECUTE AS <login>など、サーバー スコープ内に偽装がある場合に発生します。 Audit Server Principal Impersonation イベント クラスと同じです。
サーバーロールメンバー変更グループ このイベントは、ログインが固定サーバー ロールに追加または削除されるたびに発生します。 このイベントは、sp_addsrvrolememberおよびsp_dropsrvrolememberストアド プロシージャに対して発生します。 Audit Add Login to Server Role イベント クラスと同じです。
サーバー状態変更グループ このイベントは、SQL Server サービスの状態が変更されたときに発生します。 Audit Server の Starts および Stops イベント クラスと同じです
データベース認証成功グループ プリンシパルが包含データベースに正常にログインしたことを示します。 データベース認証成功監査イベントクラスと同じです。
成功ログイングループ プリンシパルが SQL Server に正常にログインしたことを示します。 このクラスのイベントは、新しい接続または接続プールから再利用される接続によって発生します。 Audit Login イベント クラスと同じです。
トレース変更グループ このイベントは、ALTER TRACE 権限をチェックするすべてのステートメントに対して発生します。 Audit Server Alter Trace イベント クラスと同じです。
ユーザーのパスワード変更グループ このイベントは、ALTER USER ステートメントを使用して包含データベース ユーザーのパスワードが変更されるたびに発生します。
ユーザー定義監査グループ このグループは、 sp_audit_write (Transact-SQL) を使用して発生したイベントを監視します。 通常、トリガーまたはストアド プロシージャには、重要なイベントの監査を有効にする sp_audit_write の呼び出しが含まれます。

考慮事項

サーバー レベルのアクション グループは、SQL Server インスタンス全体のアクションを対象とします。 たとえば、サーバー監査仕様に適切なアクション グループが追加されると、任意のデータベースのスキーマ オブジェクト アクセス チェックが記録されます。 データベース監査仕様では、そのデータベース内のスキーマ オブジェクト アクセスのみが記録されます。

サーバー レベルのアクションでは、データベース レベルのアクションに対する詳細なフィルター処理は許可されません。 詳細なアクション フィルター処理を実装するには、従業員グループ内のログインに関する Customers テーブルの SELECT アクションの監査などのデータベース レベルの監査が必要です。 システム ビューなどのサーバー スコープ オブジェクトは、ユーザー データベース監査仕様には含めないでください。

Database-Level 監査アクショングループ

Database-Level 監査アクション グループは、SQL Server セキュリティ監査イベント クラスに似たアクションです。 イベント クラスの詳細については、「 SQL Server イベント クラス リファレンス」を参照してください

次の表では、データベース レベルの監査アクション グループについて説明し、該当する場合は同等の SQL Server イベント クラスを示します。

アクション グループ名 説明
アプリケーションの役割パスワード変更グループ このイベントは、アプリケーション ロールのパスワードが変更されるたびに発生します。 Audit App Role Change Password イベント クラスと同じです。
監査_変更_グループ このイベントは、監査が作成、変更、または削除されるたびに発生します。 このイベントは、監査仕様が作成、変更、または削除されるたびに発生します。 監査に対する変更は、その監査で監査されます。 監査変更イベントクラスと同じです。
バックアップ_リストア_グループ このイベントは、バックアップまたは復元コマンドが発行されるたびに発生します。 Audit Backup and Restore イベント クラスと同じです。
DATABASE_CHANGE_GROUP(データベース変更グループ) このイベントは、データベースの作成、変更、または削除時に発生します。 Audit Database Management イベント クラスと同じです。
データベース_ログアウト_グループ このイベントは、包含データベース ユーザーがデータベースからログアウトしたときに発生します。 Audit Backup and Restore イベント クラスと同じです。
データベースオブジェクトアクセスグループ このイベントは、証明書や非対称キーなどのデータベース オブジェクトにアクセスするたびに発生します。 Audit Database オブジェクト アクセス イベント クラスと同じです。
データベース_オブジェクト_変更_グループ このイベントは、スキーマなどのデータベース オブジェクトに対して CREATE、ALTER、または DROP ステートメントが実行されるときに発生します。 Audit Database オブジェクト管理イベント クラスと同じです。
データベースオブジェクト所有権変更グループ このイベントは、データベース スコープ内のオブジェクトの所有者の変更が発生したときに発生します。 監査データベースオブジェクト所有権取得イベントクラスと同じです。
データベースオブジェクト権限変更グループ このイベントは、アセンブリやスキーマなどのデータベース オブジェクトに対して GRANT、REVOKE、または DENY が発行されたときに発生します。 Audit Database オブジェクト GDR イベント クラスと同じです。
データベース操作グループ このイベントは、チェックポイントやサブスクライブ クエリ通知などのデータベース内の操作が発生したときに発生します。 Audit Database Operation イベント クラスと同じです。
データベース所有権変更グループ このイベントは、ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を変更し、それを行うために必要なアクセス許可がチェックされるときに発生します。 Audit Change Database Owner イベント クラスと同じです。
データベース権限変更グループ このイベントは、データベースに対するアクセス許可の付与などのデータベースのみのイベントに対して、SQL Server の任意のユーザーがステートメントのアクセス許可に対して GRANT、REVOKE、または DENY を発行するたびに発生します。 Audit Database Scope GDR イベント クラスと同じです。
データベース主体変更グループ このイベントは、ユーザーなどのプリンシパルがデータベースから作成、変更、または削除されるときに発生します。 Audit Database Principal Management イベントクラスに相当します。 また、非推奨のsp_grantdbaccess、sp_revokedbaccess、sp_adduser、およびsp_dropuserストアド プロシージャで発生する Audit Add DB ユーザー イベント クラスと同等です。

このイベントは、非推奨のsp_addroleおよびsp_droproleストアド プロシージャを使用してデータベース ロールが追加または削除されるたびに発生します。 Audit Add Role イベント クラスに相当します。
DATABASE_PRINCIPAL_IMPERSONATION_GROUP このイベントは、EXECUTE AS <user> SETUSER などのデータベース スコープ内に偽装がある場合に発生します。 Audit Database Principal Impersonation イベント クラスと同じです。
データベースロールメンバー変更グループ このイベントは、ログインがデータベース ロールに追加またはデータベース ロールから削除されるたびに発生します。 このイベント クラスは、sp_addrolemember、sp_changegroup、およびsp_droprolememberストアド プロシージャで使用されます。同等のイベント クラスとして監査 DB ロール メンバー追加イベント クラスと同じです。
DBCC_GROUP このイベントは、プリンシパルが DBCC コマンドを発行するたびに発生します。 Audit DBCC イベント クラスと同じです。
データベース認証グループの認証失敗 プリンシパルが包含データベースにログオンしようとして失敗したことを示します。 このクラスのイベントは、新しい接続または接続プールから再利用される接続によって発生します。 このイベントが発生します。
スキーマ_オブジェクト_アクセス_グループ このイベントは、スキーマでオブジェクト権限が使用されるたびに発生します。 Audit Schema オブジェクト アクセス イベント クラスと同じです。
SCHEMA_OBJECT_CHANGE_GROUP このイベントは、スキーマに対して CREATE、ALTER、または DROP 操作が実行されるときに発生します。 Audit Schema オブジェクト管理イベント クラスと同じです。

このイベントは、スキーマ オブジェクトで発生します。 Audit オブジェクト派生アクセス許可イベント クラスと同じです。 監査ステートメント許可イベントクラスにも相当します。
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP このイベントは、テーブル、プロシージャ、関数などのスキーマ オブジェクトの所有者を変更する権限がチェックされると発生します。 これは、ALTER AUTHORIZATION ステートメントを使用して所有者をオブジェクトに割り当てるときに発生します。 Audit Schema オブジェクト所有権を取得するイベント クラスと同じです。
スキーマオブジェクト権限変更グループ このイベントは、スキーマ オブジェクトに対して許可、拒否、または取り消しが発行されるたびに発生します。 Audit Schema オブジェクト GDR イベント クラスと同じです。
データベース認証成功グループ プリンシパルが包含データベースに正常にログインしたことを示します。 データベース認証成功監査イベントクラスと同じです。
ユーザーのパスワード変更グループ このイベントは、ALTER USER ステートメントを使用して包含データベース ユーザーのパスワードが変更されるたびに発生します。
ユーザー定義監査グループ このグループは、 sp_audit_write (Transact-SQL) を使用して発生したイベントを監視します。

Database-Level 監査活動

データベース レベルのアクションは、テーブル、ビュー、ストアド プロシージャ、関数、拡張ストアド プロシージャ、キュー、シノニムなど、データベース スキーマおよびスキーマ オブジェクトに対する特定のアクションの監査を直接サポートします。 型、XML スキーマ コレクション、データベース、およびスキーマは監査されません。 スキーマ オブジェクトの監査は、スキーマとデータベースで構成できます。つまり、指定したスキーマまたはデータベースに含まれるすべてのスキーマ オブジェクトのイベントが監査されます。 次の表では、データベース レベルの監査アクションについて説明します。

アクション 説明
選択する このイベントは、SELECT が発行されるたびに発生します。
更新 このイベントは、UPDATE が発行されるたびに発生します。
挿入する このイベントは、INSERT が発行されるたびに発生します。
削除 このイベントは、DELETE が発行されるたびに発生します。
実行せよ このイベントは、EXECUTE が発行されるたびに発生します。
受け取る このイベントは、RECEIVE が発行されるたびに発生します。
参考文献 このイベントは、REFERENCES 権限がチェックされるたびに発生します。

考慮事項

  • データベース レベルの監査アクションは、列には適用されません。

  • クエリ プロセッサがクエリをパラメーター化すると、クエリの列値ではなく、監査イベント ログにパラメーターを表示できます。

  • RPC ステートメントはログに記録されません。

Audit-Level 監査アクショングループ

監査プロセスのアクションを監査することもできます。 これは、サーバー スコープまたはデータベース スコープに含めることができます。 データベース スコープでは、データベース監査の仕様に対してのみ発生します。 次の表では、監査レベルの監査アクション グループについて説明します。

アクション グループ名 説明
監査_変更_グループ このイベントは、次のいずれかのコマンドが発行されるたびに発生します。

サーバー監査の作成
- ALTER SERVER AUDIT(サーバー監査を変更する)
サーバー監査を削除
- サーバー監査仕様を作成
サーバー監査仕様を変更する
- サーバー監査仕様を削除する (DROP SERVER AUDIT SPECIFICATION)
- データベース監査仕様の作成 (CREATE DATABASE AUDIT SPECIFICATION)
- データベース監査仕様を変更する
データベース監査仕様を削除

サーバー監査およびサーバー監査の仕様を作成する

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

サーバー監査を作成する (Transact-SQL)

サーバー監査の変更 (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

サーバー監査仕様を作成する (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (サーバー監査仕様の変更Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

データベース監査仕様を作成(Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

データベース監査仕様を削除 (DROP DATABASE AUDIT SPECIFICATIONTransact-SQL)

オーサライゼーションの変更 (Transact-SQL)

sys.fn_get_audit_file (Transact-SQL)

sys.server_audits (Transact-SQL)

sys.server_file_audits(Transact-SQL)

sys.server_audit_specifications (Transact-SQL)

sys.server_audit_specification_details (Transact-SQL)

sys.database_audit_specifications (Transact-SQL)

sys.database_audit_specification_details(Transact-SQL)

sys.dm_server_audit_status (Transact-SQL)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)