この章では、監査機能を有効にし、監査レコードの保存先を設定する方法について説明します。
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ユーザーが監査ルールを設定した場合にのみ、監査が開始されます。
関連ドキュメント
セキュリティ監査に関するその他の操作については、次の記事を参照してください: