説明
このステートメントは、SQL文に対する監査ルールを設定または削除します。
説明
- SQL文に対する監査ルールを設定する場合、
AUDIT SYSTEMシステム権限が必要であり、ORAAUDITORユーザーにログインしている必要があります。 - SQL文に対する監査ルールを設定すると、すべてのセッションに対して即時に有効になります。
- 監査機能を有効にするには、システム構成パラメータaudit_trailを使用して監査機能を有効にする必要があります。このステートメントで設定された監査ルールは、その後に有効になります。
制限事項と注意点
監査を実行する前に、ORAAUDITOR ユーザーをアンロックする必要があります。
ORAAUDITOR ユーザーをアンロックする例:
ALTER USER ORAAUDITOR ACCOUNT UNLOCK;
監査の詳細については、セキュリティ監査の有効化を参照してください。
構文
/*ステートメント監査*/
{AUDIT | NOAUDIT} statement_operation_clause
[auditing_by_user_clause] [whenever_option]
/*オブジェクト監査*/
{AUDIT | NOAUDIT} object_operation_clause auditing_on_clause [whenever_option]
statement_operation_clause:
statement_operation_list
| ALL
| ALL STATEMENTS
statement_operation_list:
statement_operation [statement_operation...]
object_operation_clause:
object_operation_list
| ALL
object_operation_list:
object_operation [object_operation...]
auditing_on_clause:
ON obj_name
| ON DEFAULT
auditing_by_user_clause:
BY user_name [user_name...]
whenever_option:
WHENEVER NOT SUCCESSFUL
| WHENEVER SUCCESSFUL
statement_operation:
ALTER SYSTEM
| CLUSTER
| CONTEXT
| DATABASE LINK
| MATERIALIZED VIEW
| NOT EXISTS
| OUTLINE
| PROCEDURE
| PROFILE
| PUBLIC DATABASE LINK
| PUBLIC SYNONYM
| ROLE
| SEQUENCE
| SESSION
| SYNONYM
| SYSTEM AUDIT
| SYSTEM GRANT
| TABLE
| TABLESPACE
| TRIGGER
| TYPE
| USER
| VIEW
| ALTER SEQUENCE
| ALTER TABLE
| COMMENT TABLE
| DELETE TABLE
| EXECUTE PROCEDURE
| GRANT PROCEDURE
| GRANT SEQUENCE
| GRANT TABLE
| GRANT TYPE
| INSERT TABLE
| SELECT SEQUENCE
| SELECT TABLE
| UPDATE TABLE
object_operation:
ALTER
| AUDIT
| COMMENT
| DELETE
| EXECUTE
| FLASHBACK
| GRANT
| INDEX
| INSERT
| RENAME
| SELECT
| UPDATE
パラメータの説明
| パラメータ | 説明 |
|---|---|
| statement_operation | ステートメント監査操作タイプ。
|
| object_operation | オブジェクト監査操作タイプ。 |
| obj_name | 監査対象のオブジェクト名。サポートされるオブジェクトタイプは、テーブル(Table)、ビュー(View)、シーケンス(Sequence)です。 |
| ON DEFAULT | デフォルトの監査ルールを設定し、その後に新規作成されるオブジェクトに適用されます。 |
| user_name | ユーザー名を指定します。 |
| WHENEVER NOT SUCCESSFUL | 実行失敗時のみ監査をトリガーするように指定します。 |
| WHENEVER SUCCESSFUL | 実行が成功した場合にのみ監査をトリガーするように指定します。 |
監査可能なSQL文の種類は、以下の表に示されています。
監査文の説明表1
| 監査ステートメント | 説明 |
|---|---|
| ALTER SYSTEM | ALTER SYSTEM ステートメントを監査します。 |
| CLUSTER | ADD CLUSTER および REMOVE CLUSTER ステートメントを監査します。 |
| INDEX | CREATE INDEX、DROP INDEX、FLASHBACK INDEX および PURGE INDEX ステートメントを監査します。 |
| NOT EXISTS | オブジェクトが存在しないために失敗した操作を監査します。 |
| OUTLINE | CREATE OUTLINE、ALTER OUTLINE および DROP OUTLINE ステートメントを監査します。 |
| PROCEDURE | CREATE PROCEDURE、DROP PROCEDURE、CREATE FUNCTION、DROP FUNCTION、CREATE PACKAGE および DROP PACKAGE ステートメントを監査します。 |
| PROFILE | CREATE PROFILE、ALTER PROFILE および DROP PROFILE ステートメントを監査します。 |
| ROLE | CREATE ROLE、ALTER ROLE、DROP ROLE および SET ROLE ステートメントを監査します。 |
| SEQUENCE | CREATE SEQUENCE および DROP SEQUENCE ステートメントを監査します。 |
| SESSION | ログインおよびログアウト操作を監査します。 |
| SYNONYM | CREATE SYNONYM および DROP SYNONYM ステートメントを監査します。 |
| SYSTEM AUDIT | AUDIT および NOAUDIT ステートメントを監査します。 |
| SYSTEM GRANT | GRANT および REVOKE ステートメントを監査します。 |
| TABLE | CREATE TABLE、DROP TABLE、および TRUNCATE TABLE ステートメントを監査します。 |
| TABLESPACE | CREATE TABLESPACE、ALTER TABLESPACE、および DROP TABLESPACE ステートメントを監査します。 |
| TRIGGER | CREATE TRIGGER、ALTER TRIGGER、および DROP TRIGGER ステートメントを監査します。 |
| TYPE | CREATE TYPE、DROP TYPE、CREATE TYPE BODY、および DROP TYPE BODY ステートメントを監査します。 |
| USER | CREATE USER、ALTER USER、および DROP USER ステートメントを監査します。 |
| VIEW | CREATE VIEW および DROP VIEW ステートメントを監査します。 |
監査文の説明表2
| 監査ステートメント | 説明 |
|---|---|
| ALTER SEQUENCE | ALTER SEQUENCE ステートメントを監査します。 |
| ALTER TABLE | ALTER TABLE ステートメントを監査します。 |
| COMMENT TABLE | COMMENT ON TABLE および COMMENT ON VIEW ステートメントを監査します。 |
| DELETE TABLE | DELETE FROM TABLE および DELETE FROM VIEW ステートメントを監査します。 |
| EXECUTE PROCEDURE | CALL ステートメントを監査します。 |
| GRANT PROCEDURE | GRANT obj_privilege ON PROCEDURE | FUNCTION | PACKAGE および REVOKE obj_privilege ON PROCEDURE | FUNCTION | PACKAGE ステートメントを監査します。 |
| GRANT SEQUENCE | GRANT obj_privilege ON SEQUENCE および REVOKE obj_privilege ON SEQUENCE ステートメントを監査します。 |
| GRANT TABLE | GRANT obj_privilege ON TABLE | VIEW および REVOKE obj_privilege ON TABLE | VIEW ステートメントを監査します。 |
| GRANT TYPE | GRANT obj_privilege ON TYPE および REVOKE obj_privilege ON TYPE ステートメントを監査します。 |
| INSERT TABLE | INSERT INTO TABLE および INSERT INTO VIEW ステートメントを監査します。 |
| SELECT SEQUENCE | sequence.CURRVAL または sequence.NEXTVAL を含むすべてのステートメントを監査します。 |
| SELECT TABLE | SELECT TABLE および SELECT VIEW ステートメントを監査します。 |
| UPDATE TABLE | UPDATE TABLE および UPDATE VIEW ステートメントを監査します。 |
例
ユーザー
user1のすべてのテーブルに対する関連操作を、実行が成功した場合に監査します。obclient> AUDIT TABLE BY user1 WHENEVER SUCCESSFUL; Query OK, 0 rows affectedユーザー
user2のテーブルtbl1に対するすべてのINSERT、UPDATE、およびDELETE操作を監査します。obclient> AUDIT INSERT,UPDATE,DELETE ON user2.tbl1; Query OK, 0 rows affected