ハマログ

株式会社イーツー・インフォの社員ブログ

RDSのAurora MySQLで監査ログの出力を設定する

記事名の通りに『RDSの監査ログを出力せい。御用改めである』とお達しが来たので対応作業したメモ。

(゜々。)「そもそもRDSの監査ログってなんだんねん?」

( ᐛ )「RDSに対して誰が・何時・何処に・何をしたかを記録しているログだんねん」

つまり、『RDSにそれぞれの固有アカウントのみを用いてユーザーがアクセスしていれば、“TRUNCATE TABLE”とか“DROP TABLE”とかで誰が全消ししたのか特定できる』ってことですよ、ステキ。

ではちゃきちゃき行きます。

事前に『DBクラスターのパラメータグループ』を用立てておきます。

RDSでDBクラスターを作ると自動的に割り当てられるデフォルトのDBクラスターのパラメータグループではダメです。

設定変更できないので。

そんでもって該当のパラメータグループの以下の項目を変更します。

 

  • server_audit_logs_upload:CloudWatch Logs にエクスポートする設定。

“1″に設定します。

  • server_audit_logging:高度な監査を有効または無効する設定。

“1″に設定します。

  • server_audit_excl_users:設定したユーザーを監査ログに出力しない設定。

“rdsadmin,rdsproxyadmin”を設定します。

他に出したくないユーザー(例えばLaravelなんかのアプリでアクセスしてくるユーザーとか)を設定してもよろしいかと。

※『CONNECT アクティビティは、ユーザーがこのオプション設定で指定されていても、すべてのユーザーについて常に記録されます。』という仕様もあるのでそこんところ留意。

  • server_audit_events:記録するイベントのコンマ区切りリストが含まれています。

“CONNECT,QUERY,QUERY_DCL,QUERY_DDL,QUERY_DML,TABLE“を設定します。

※『イベントはすべて大文字で指定する必要があります。リスト要素間に空白があってはいけません。(例: CONNECT,QUERY_DDL)』

パラメータグループに以上を設定して、DBクラスターの【設定】を確認。

『再起動を保留中』とパラメータグループのところに出ているようなら(たぶん出なかったとは思うのだけど)DBクラスターを再起動。

これで監査ログが出力されるようになる……


――と、思ったか?


実はもうひとつ重要な設定の変更がありましてー。

DBクラスターの【変更】から【追加設定】のブロックへ。

『ログのエクスポート』ってチェックボックスがあるので、そこの【監査ログ】チェックを入れて、DBクラスターの変更を実行。

これでCloudWatchに監査ログが転送されて、

DBクラスターの【設定】から『発行されたログ』[CloudWatch Logs]部分のリンクで飛べるようになります

(੭ ᐕ)


最後の設定変更を忘れてて「あっれー、手順メモ通りにやってんのに監査ログ出ねえ。おっかしーなー」と30分ぐらい困ったマヌケによる対応作業メモでした(੭ ᐕ)b

AWSRDS

  Y.W   2023年6月13日


関連記事

ALBのターゲットが全部unhealthyなのにサイトが表示される件

ALB(AWSのロードバランサ)に紐付いているターゲットグループに登録されている…

Amazon Linux 2のPHP5サポート

現時点で、PHP5系のサポートはすべて終了しています。 PHP5系のセキュリティ…

CodeBuildでError: ENOSPC: System limit for number of file watchers reachedにハマった

厳密にはこのエラーを解決するために必要な、fs.inotify.max_user…


← 前の投稿

次の投稿 →