ハマログ

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

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日


関連記事

AWS ChatbotでSlackに通知する

AWSからの通知をSlackに連携する場合、いくつかの選択肢がありますが、AWS…

Terraformのディレクトリ構成を他記事を参考に考えてみる。

環境ごとにディレクトリを分けて、moduleを参照する メリット 再利用性が高い…

AWSのRDSをアップグレードのためテスト

こんにちはいけしまです。たてつづけにブログ投稿。 もうひとつ前のブログで書いたR…


← 前の投稿

次の投稿 →