SQL Server 監査のアクション グループとアクション
SQL Server Audit 機能を使用すると、サーバー レベルおよびデータベース レベルのイベントのグループおよび個別のイベントを監査することができます。詳細については、「SQL Server 監査について」を参照してください。
SQL Server の監査は、0 個以上の監査アクション項目で構成されます。これらの監査アクション項目には、アクションのグループ (Server_Object_Change_Group など) を使用することも、個別のアクション (テーブルに対する SELECT 操作など) を使用することもできます。
注意 |
---|
Server_Object_Change_Group には、任意のサーバー オブジェクト (データベースまたはエンドポイント) に対する CREATE、ALTER、および DROP が含まれます。 |
監査には次のカテゴリのアクションが含まれます。
サーバー レベル。これらのアクションには、管理の変更やログオンおよびログオフの操作などのサーバーの操作が含まれます。
データベース レベル。これらのアクションには、データ操作言語 (DML) とデータ定義言語 (DDL) の操作が含まれます。
監査レベル。これらのアクションには、監査プロセス内のアクションが含まれます。
SQL Server の監査コンポーネントに対して実行されるアクションが、特定の監査でもともと監査されている場合もあります。そのような場合は、親オブジェクトで監査イベントが発生するため、監査イベントが自動的に発生します。
もともと監査されているアクションを以下に示します。
- Server Audit の状態の変更 (状態を ON または OFF に設定)
もともと監査されていないイベントを以下に示します。
CREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATION
DROP SERVER AUDIT SPECIFICATION
CREATE DATABASE AUDIT SPECIFICATION
ALTER DATABASE AUDIT SPECIFICATION
DROP DATABASE AUDIT SPECIFICATION
監査はすべて、最初の作成時には無効になります。
サーバー レベルの監査アクション グループ
サーバー レベルの監査アクション グループは、SQL Server セキュリティ監査イベント クラスに似ています。詳細については、「SQL Server イベント クラスの参照」を参照してください。
サーバー レベルの監査アクション グループと、同等の SQL Server イベント クラス (存在する場合) を次の表に示します。
アクション グループ名 |
説明 |
---|---|
SUCCESSFUL_LOGIN_GROUP |
プリンシパルが SQL Server に正常にログインしたことを示します。このクラスのイベントは、新しい接続によって生じることも、接続プールから再利用された接続によって生じることもあります。Audit Login イベント クラス と同じです。 |
LOGOUT_GROUP |
プリンシパルが SQL Server からログアウトしたことを示します。このクラスのイベントは、新しい接続によって生じることも、接続プールから再利用された接続によって生じることもあります。Audit Logout イベント クラス と同じです。 |
FAILED_LOGIN_GROUP |
プリンシパルが SQL Server へのログインを試みて失敗したことを示します。このクラスのイベントは、新しい接続によって生じることも、接続プールから再利用された接続によって生じることもあります。Audit Login Failed イベント クラス と同じです。 |
LOGIN_CHANGE_PASSWORD_GROUP |
このイベントは、ALTER LOGIN ステートメントまたは sp_password ストアド プロシージャを使用してログインのパスワードが変更されるたびに発生します。Audit Login Change Password イベント クラス と同じです。 |
APPLICATION_ROLE_CHANGE_PASSWORD_GROUP |
このイベントは、アプリケーション ロールのパスワードが変更されるたびに発生します。Audit App Role Change Password イベント クラス と同じです。 |
SERVER_ROLE_MEMBER_CHANGE_GROUP |
このイベントは、固定サーバー ロールにログインが追加または削除されるたびに発生します。このイベントは sp_addsrvrolemember ストアド プロシージャと sp_dropsrvrolemember ストアド プロシージャに対して発生します。Audit Add Login to Server Role イベント クラス と同じです。 |
DATABASE_ROLE_MEMBER_CHANGE_GROUP |
このイベントは、データベース ロールにログインが追加または削除されるたびに発生します。このイベント クラスは、sp_addrolemember、sp_changegroup、および sp_droprolemember の各ストアド プロシージャに対して発生します。このイベントは、任意のデータベースの任意のデータベース ロール メンバの変更に対して発生します。Audit Add Member to DB Role イベント クラス と同じです。 |
BACKUP_RESTORE_GROUP |
このイベントは、バックアップまたは復元のコマンドが実行されるたびに発生します。Audit Backup/Restore イベント クラス と同じです。 |
DBCC_GROUP |
このイベントは、プリンシパルが任意の DBCC コマンドを実行するたびに発生します。Audit DBCC イベント クラス と同じです。 |
SERVER_OPERATION_GROUP |
このイベントは、設定、リソース、外部アクセス、または承認の変更などのセキュリティ監査操作が使用されるときに発生します。Audit Server Operation イベント クラス と同じです。 |
DATABASE_OPERATION_GROUP |
このイベントは、チェックポイントやクエリ通知のサブスクライブなど、データベースの操作が行われたときに発生します。このイベントは、任意のデータベースの任意のデータベース操作に対して発生します。Audit Database Operation イベント クラス と同じです。 |
AUDIT_ CHANGE_GROUP |
このイベントは、任意の監査が作成、変更、または削除されるたびに発生します。このイベントは、任意の監査の仕様が作成、変更、または削除されるたびに発生します。監査に対する変更はすべてその監査内で監査されます。 |
SERVER_STATE_CHANGE_GROUP |
このイベントは、SQL Server サービスの状態が変更されたときに発生します。Audit Server Starts and Stops イベント クラス と同じです。 |
SERVER_OBJECT_CHANGE_GROUP |
このイベントは、サーバー オブジェクトに対して CREATE、ALTER、または DROP の各操作が実行されたときに発生します。Audit Server Object Management イベント クラス と同じです。 |
SERVER_PRINCIPAL_CHANGE_GROUP |
このイベントは、サーバー プリンシパルが作成、変更、または削除されるときに発生します。Audit Server Principal Management イベント クラス と同じです。 このイベントは、プリンシパルが sp_defaultdb ストアド プロシージャ、sp_defaultlanguage ストアド プロシージャ、または ALTER LOGIN ステートメントを実行したときに発生します。Audit Addlogin イベント クラス と同じです。 このイベントは、sp_addlogin ストアド プロシージャおよび sp_droplogin ストアド プロシージャに対して発生します。Audit Login Change Property イベント クラス とも同じです。 このイベントは、sp_grantlogin、sp_revokelogin、または sp_denylogin の各ストアド プロシージャに対して発生します。Audit Login GDR イベント クラス と同じです。 |
DATABASE_CHANGE_GROUP |
このイベントは、データベースが作成、変更、または削除されるときに発生します。このイベントは、任意のデータベースが作成、変更、または削除されるたびに発生します。Audit Database Management イベント クラス と同じです。 |
DATABASE_OBJECT_CHANGE_GROUP |
このイベントは、スキーマなどのデータベース オブジェクトで、CREATE、ALTER、または DROP ステートメントが実行されたときに発生します。このイベントは、任意のデータベース オブジェクトが作成、変更、または削除されるたびに発生します。
注意
非常に大量の監査レコードが生成される可能性があります。
|
DATABASE_PRINCIPAL_CHANGE_GROUP |
このイベントは、ユーザーなどのプリンシパルがデータベースで作成、変更、または削除されるときに発生します。Audit Database Principal Management イベント クラス と同じです (Audit Add DB Principal イベント クラスとも同じです。このイベント クラスは、非推奨の sp_grantdbaccess、sp_revokedbaccess、sp_addPrincipal、および sp_dropPrincipal の各ストアド プロシージャに対して発生します)。 このイベントは、sp_addrole ストアド プロシージャまたは sp_droprole ストアド プロシージャを使用してデータベース ロールが追加または削除されるたびに発生します。このイベントは、任意のデータベースで任意のデータベース プリンシパルが作成、変更、または削除されるたびに発生します。Audit Add Role イベント クラス と同じです。 |
SCHEMA_OBJECT_CHANGE_GROUP |
このイベントは、スキーマに対して CREATE、ALTER、または DROP の各操作が実行されたときに発生します。Audit Schema Object Management イベント クラス と同じです。 このイベントはスキーマ オブジェクトで発生します。Audit Object Derived Permission イベント クラス と同じです。 このイベントは、任意のデータベースの任意のスキーマが変更されるたびに発生します。Audit Statement Permission イベント クラス と同じです。 |
SERVER_PRINCIPAL_IMPERSONATION_GROUP |
このイベントは、サーバーのスコープ内に、EXECUTE AS <login> などの権限の借用が存在するときに発生します。Audit Server Principal Impersonation イベント クラス と同じです。 |
DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
このイベントは、データベースのスコープ内に、EXECUTE AS <principal> や SETPRINCIPAL などの権限借用の操作が存在するときに発生します。このイベントは、任意のデータベースで行われた権限の借用に対して発生します。Audit Database Principal Impersonation イベント クラス と同じです。 |
SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP |
このイベントは、サーバー スコープ内のオブジェクトの所有者が変更されたときに発生します。Audit Server Object Take Ownership イベント クラス と同じです。 |
DATABASE_OWNERSHIP_CHANGE_GROUP |
このイベントは、ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を変更した場合に、この動作に必要な権限の確認が行われる際に発生します。このイベントは、サーバー上の任意のデータベースの任意のデータベース所有権の変更に対して発生します。Audit Change Database Owner イベント クラス と同じです。 |
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
このイベントは、データベース スコープ内のオブジェクトの所有者が変更されたときに発生します。このイベントは、サーバー上の任意のデータベースの任意のオブジェクト所有権の変更に対して発生します。Audit Database Object Take Ownership イベント クラス と同じです。 |
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
このイベントは、スキーマ オブジェクト (テーブル、プロシージャ、関数など) の所有者を変更する権限について確認が行われる際に発生します。この確認動作は、ALTER AUTHORIZATION ステートメントを使用してオブジェクトに所有者を割り当てたときに行われます。このイベントは、サーバー上の任意のデータベースの任意のスキーマ所有権の変更に対して発生します。Audit Schema Object Take Ownership イベント クラス と同じです。 |
SERVER_PERMISSION_CHANGE_GROUP |
このイベントは、ログインの作成など、サーバー スコープでの権限に対して GRANT、REVOKE、または DENY が実行されているときに発生します。Audit Server Scope GDR イベント クラス と同じです。 |
SERVER_OBJECT_PERMISSION_CHANGE_GROUP |
このイベントは、SQL Server の任意のプリンシパルによって、サーバー オブジェクトの権限に対して GRANT、REVOKE、または DENY が実行されるたびに発生します。Audit Server Object GDR イベント クラス と同じです。 |
DATABASE_PERMISSION_CHANGE_GROUP |
このイベントは、SQL Server の任意のプリンシパルによって、ステートメント権限に対して GRANT、REVOKE、または DENY が実行されるたびに発生します (データベースに対する権限の許可などのデータベース限定のイベントに適用されます)。 このイベントは、サーバーの任意のデータベースの任意のデータベース権限の変更 (GDR) に対して発生します。Audit Database Scope GDR イベント クラス と同じです。 |
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
このイベントは、アセンブリやスキーマなどのデータベース オブジェクトに対して GRANT、REVOKE、または DENY が実行された場合に発生します。このイベントは、サーバー上の任意のデータベースの任意のオブジェクト権限の変更に対して発生します。Audit Database Object GDR イベント クラス と同じです。 |
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
このイベントは、スキーマ オブジェクトに対して GRANT、DENY、または REVOKE が実行されるたびに発生します。Audit Schema Object GDR イベント クラス と同じです。 |
DATABASE_OBJECT_ACCESS_GROUP |
このイベントは、メッセージ型、アセンブリ、コントラクトなどのデータベース オブジェクトへのアクセスが行われるたびに発生します。 このイベントは、任意のデータベースへの任意のアクセスに対して発生します。
注意
大量の監査レコードが生成される可能性があります。
|
SCHEMA_OBJECT_ACCESS_GROUP |
このイベントは、スキーマでオブジェクト権限が使用されるたびに発生します。Audit Schema Object Access イベント クラス と同じです。 |
BROKER_LOGIN_GROUP |
このイベントは、Service Broker トランスポート セキュリティに関する監査メッセージを報告するために発生します。Audit Broker Login イベント クラス と同じです。 |
DATABASE_MIRRORING_LOGIN_GROUP |
このイベントは、データベース ミラーリングのトランスポート セキュリティに関する監査メッセージを報告するために発生します。Audit Database Mirroring Login イベント クラスと同じです。 |
TRACE_CHANGE_GROUP |
このイベントは、ALTER TRACE 権限をチェックするすべてのステートメントで発生します。Audit Server Alter Trace イベント クラスと同じです。 |
注意事項
サーバー レベルのアクション グループは、SQL Server インスタンス全体のアクションをカバーします。たとえば、該当するアクション グループをサーバー監査の仕様に追加すると、任意のデータベースの任意のスキーマ オブジェクトのアクセス確認が記録されます。データベース監査の仕様では、そのデータベースのスキーマ オブジェクト アクセスのみが記録されます。
サーバー レベルのアクションでは、データベース レベルのアクションに対する詳細なフィルタリングは使用できません。Employee グループのログインの Customers テーブルに対する SELECT アクションの監査などのデータベース レベルの監査では、アクションの詳細なフィルタリングを実装する必要があります。ユーザーのデータベース監査の仕様に、システム ビューなどのサーバー スコープ オブジェクトは含めないでください。
データベース レベルの監査アクション グループ
データベース レベルの監査アクション グループは、SQL Server セキュリティ監査イベント クラスに似ています。イベント クラスの詳細については、「SQL Server イベント クラスの参照」を参照してください。
データベース レベルの監査アクション グループと、同等の SQL Server イベント クラス (存在する場合) を次の表に示します。
アクション グループ名 |
説明 |
---|---|
DATABASE_ROLE_MEMBER_CHANGE_GROUP |
このイベントは、データベース ロールにログインが追加または削除されるたびに発生します。このイベント クラスは、sp_addrolemember、sp_changegroup、および sp_droprolemember の各ストアド プロシージャと共に使用されます。Audit Add Member to DB Role イベント クラス と同じです。 |
DATABASE_OPERATION_GROUP |
このイベントは、チェックポイントやクエリ通知のサブスクライブなど、データベースの操作が行われたときに発生します。Audit Database Operation イベント クラス と同じです。 |
DATABASE_CHANGE_GROUP |
このイベントは、データベースが作成、変更、または削除されるときに発生します。Audit Database Management イベント クラス と同じです。 |
DATABASE_OBJECT_CHANGE_GROUP |
このイベントは、スキーマなどのデータベース オブジェクトで、CREATE、ALTER、または DROP ステートメントが実行されたときに発生します。Audit Database Object Management イベント クラス と同じです。 |
DATABASE_PRINCIPAL_CHANGE_GROUP |
このイベントは、ユーザーなどのプリンシパルがデータベースで作成、変更、または削除されるときに発生します。Audit Database Principal Management イベント クラス と同じです。Audit Add DB User イベント クラス とも同じです。このイベント クラスは、非推奨の sp_grantdbaccess、sp_revokedbaccess、sp_adduser、および sp_dropuser の各ストアド プロシージャに対して発生します。 このイベントは、非推奨の sp_addrole ストアド プロシージャまたは sp_droprole ストアド プロシージャを使用してデータベース ロールが追加または削除されるたびに発生します。Audit Add Role イベント クラス と同じです。 |
SCHEMA_OBJECT_CHANGE_GROUP |
このイベントは、スキーマに対して CREATE、ALTER、または DROP の各操作が実行されたときに発生します。Audit Schema Object Management イベント クラス と同じです。 このイベントはスキーマ オブジェクトで発生します。Audit Object Derived Permission イベント クラス と同じです。Audit Statement Permission イベント クラス とも同じです。 |
DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
このイベントは、データベースのスコープ内に、EXECUTE AS <user> や SETUSER などの権限の借用が存在するときに発生します。Audit Database Principal Impersonation イベント クラス と同じです。 |
DATABASE_OWNERSHIP_CHANGE_GROUP |
このイベントは、ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を変更した場合に、この動作に必要な権限の確認が行われる際に発生します。Audit Change Database Owner イベント クラス と同じです。 |
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
このイベントは、データベース スコープ内のオブジェクトの所有者が変更されたときに発生します。Audit Database Object Take Ownership イベント クラス と同じです。 |
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Audit Schema Object Take Ownership イベント クラスと同じです。このイベントは、スキーマ オブジェクト (テーブル、プロシージャ、関数など) の所有者を変更する権限について確認が行われる際に発生します。この確認動作は、ALTER AUTHORIZATION ステートメントを使用してオブジェクトに所有者を割り当てたときに行われます。 |
DATABASE_PERMISSION_CHANGE_GROUP |
このイベントは、SQL Server の任意のユーザーによって、ステートメント権限に対して GRANT、REVOKE、または DENY が実行されるたびに、データベースに対する権限の許可などのデータベース限定のイベントに対して発生します。Audit Database Scope GDR イベント クラス と同じです。 |
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
このイベントは、アセンブリやスキーマなどのデータベース オブジェクトに対して GRANT、REVOKE、または DENY が実行された場合に発生します。Audit Database Object GDR イベント クラス と同じです。 |
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
このイベントは、スキーマ オブジェクトに対して GRANT、DENY、または REVOKE が実行されるたびに発生します。Audit Schema Object GDR イベント クラス と同じです。 |
DATABASE_OBJECT_ACCESS_GROUP |
このイベントは、証明書や非対称キーなどのデータベース オブジェクトへのアクセスが行われるたびに発生します。Audit Database Object Access イベント クラス と同じです。 |
SCHEMA_OBJECT_ACCESS_GROUP |
このイベントは、スキーマでオブジェクト権限が使用されるたびに発生します。Audit Schema Object Access イベント クラス と同じです。 |
データベース レベルの監査アクション
データベース レベルのアクションを使用すると、データベース、スキーマ、およびスキーマ オブジェクト (テーブル、ビュー、ストアド プロシージャ、関数、拡張ストアド プロシージャ、キュー、シノニムなど) で特定のアクションを直接監査することができます。型、XML スキーマ コレクション、データベース、およびスキーマは監査されません。スキーマ オブジェクトの監査をスキーマおよびデータベースに構成できます。これは、指定したスキーマまたはデータベースに含まれるすべてのスキーマ オブジェクトのイベントが監査されることを意味します。データベース レベルの監査アクションを次の表に示します。
操作 |
説明 |
---|---|
SELECT |
このイベントは、SELECT が実行されるたびに発生します。 |
UPDATE |
このイベントは、UPDATE が実行されるたびに発生します。 |
INSERT |
このイベントは、INSERT が実行されるたびに発生します。 |
DELETE |
このイベントは、DELETE が実行されるたびに発生します。 |
EXECUTE |
このイベントは、EXECUTE が実行されるたびに発生します。 |
RECEIVE |
このイベントは、RECEIVE が実行されるたびに発生します。 |
REFERENCES |
このイベントは、REFERENCES 権限の確認が行われるたびに発生します。 |
注意事項
データベース レベルの監査アクションは列には適用されません。
クエリ プロセッサによってクエリをパラメータ化すると、パラメータがクエリの列値の代わりに監査イベント ログに表示されます。
監査レベルの監査アクション グループ
監査プロセス内のアクションを監査することもできます。この監査は、サーバー スコープで行うことも、データベース スコープで行うこともできます。データベース スコープでは、データベース監査の仕様についてのみ監査が行われます。監査レベルの監査アクション グループを次の表に示します。
アクション グループ名 |
説明 |
---|---|
AUDIT_ CHANGE_GROUP |
このイベントは、次のいずれかのコマンドが実行されるたびに発生します。
|
関連項目