Question & Answer
Question
Db2 でデータベースの監査を有効にしています。
監査ログはアーカイブしないと肥大化し続けますが、定期的なアーカイブを自動化できますか?
Cause
Db2 の監査ログに循環機能はなく、定期的に db2audit archive コマンドまたは AUDIT_ARCHIVE プロシージャーでアーカイブする必要があります。
管理タスク・スケジューラーで AUDIT_ARCHIVE プロシージャーを呼び出し、データベース監査ログの定期的なアーカイブを自動化できます。
Answer
- インスタンス・オーナーで管理用タスク・スケジューラーを有効にします。
db2set DB2_ATS_ENABLE=YES
詳細は以下のページを参照してください。
管理用タスク・スケジューラーのセットアップ - データベース管理者で監査ログをアーカイブするタスクを追加します。
以下の例では毎日 0 時に、/audit_archive パスに監査ログがアーカイブされます。db2 connect to <データベース名> user <データベース管理者> db2 "call SYSPROC.ADMIN_TASK_ADD('DAILY AUDIT ARCHIVE',CURRENT_TIMESTAMP,NULL,NULL,'0 0 * * *','SYSPROC','AUDIT_ARCHIVE','VALUES(''/audit_archive'', -2)',NULL,NULL)"
管理用タスク・スケジューラーへのタスクの追加 - (インスタンス・オーナーが SECADM でない場合)
セキュリティ管理者で AUDIT_ARCHIVE プロシージャーの EXECUTE 特権をインスタンス・オーナーに付与します。db2 connect to <データベース> user <セキュリティ管理者> db2 grant execute on procedure sysproc.audit_archive to user <インスタンス・オーナー名>
運用上の注意点
- 管理タスク・スケジューラーを動かすために、データベースは常に活動化している必要があります。
データベースを明示的に活動するには、以下のコマンドを実行します。db2 activate db <データベース名>
- インスタンス・レベルの監査ログは db2audit describe コマンドでのみアーカイブできるため、cron などを利用して定期的なアーカイブを検討してください。
- 各データベースのデータベース管理者 (DBADM) とセキュリティ管理者 (SECADM) は以下の SQL で確認できます。
$ db2 "select char(grantee,18), dbadmauth, securityadmauth from syscat.dbauth" 1 DBADMAUTH SECURITYADMAUTH ------------------ --------- --------------- DB2INST1 Y Y PUBLIC N N 2 record(s) selected.
関連情報
パスポート・アドバンテージによく寄せられる質問
監査のアーカイブおよび抽出のストアード・プロシージャー
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmlAAE","label":"Security and Plug-Ins-\u003EAudit"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
15 August 2023
UID
ibm10739211