この章では、監査機能を有効にし、監査レコードの保存場所を設定する方法について説明します。
OceanBaseデータベースの監査関連操作は、一般的に組み込みのORAAUDITORユーザーによって実行されます。このユーザーのパスワードと権限はSYSユーザーによって指定されます。
操作手順
SYSユーザーでOracleテナントにログインし、ORAAUDITORユーザーのロックを解除します。obclient> ALTER USER ORAAUDITOR ACCOUNT UNLOCK;説明
OceanBaseデータベースでは、デフォルトで
ORAAUDITORユーザーが作成されています。このユーザーはデフォルトでロック状態になっており、監査を使用する前にこのユーザーを有効にする必要があります。ORAAUDITORユーザーのログインパスワードを変更します。セキュリティを確保するため、
ORAAUDITORユーザーのログインパスワードはSYSユーザーが指定する必要があります。後でこのパスワードを変更する必要がある場合は、新しいパスワードを再度指定するだけです。obclient> ALTER USER ORAAUDITOR IDENTIFIED BY ******;ORAAUDITORユーザーの権限を設定します。ORAAUDITORユーザーにはデフォルトで権限が付与されていません。セキュリティ監査関連の操作を実行するためには、GRANTステートメントを使用してORAAUDITORユーザーにCREATE SESSION権限を付与する必要があります。ORAAUDITORユーザーに監査レコードの表示を許可する場合は、SELECT ANY DICTIONARY権限を付与する必要があります。obclient> GRANT CREATE SESSION, SELECT ANY DICTIONARY TO ORAAUDITOR;監査機能を有効にし、監査レコードの保存先を設定します。
パラメータ
audit_trailを使用して監査機能を有効にします。実行が成功すると即時に反映されます。このパラメータの値は以下のとおりです:NONE:監査を無効にします。これがデフォルト値です。OS:監査レコードをローカルディスクファイルに書き込みます。DB:監査レコードを内部テーブルに書き込みます。DB,EXTENDED / DB_EXTENDED:監査レコードを内部テーブルに書き込み、レコードに実行されたSQL文を含めます。
例:
obclient> ALTER SYSTEM SET audit_trail = 'DB,EXTENDED';audit_trailパラメータの詳細については、audit_trailを参照してください。説明
監査レコードは、内部テーブルとローカルディスクファイルの2種類の方法で書き込むことができます:
- ディスクファイルへの書き込み:
<インストールディレクトリ>/audit/に非同期書き込み方式で記録され、デフォルトでは/home/admin/oceanbase/audit/observer_xx_xxxxxx.audに保存されます。 - 内部テーブルへの書き込み:監査情報はシステムテーブルに直接書き込まれます。内部テーブル
__all_tenant_security_audit_recordに監査レコードが保存され、内部テーブル__all_virtual_audit_operationまたは__all_virtual_audit_actionに監査関連のIDとNameのマッピングが保存されます。
次のステップ
セキュリティ監査を有効にした後、具体的なセキュリティ監査ルールを設定できます。セキュリティ監査ルールの設定手順の詳細については、監査ルールの設定と表示を参照してください。
説明
ORAAUDITOR ユーザーが監査ルールを設定した場合にのみ、監査が開始されます。
関連ドキュメント
セキュリティ監査に関するその他の操作については、次を参照してください: