Amazon RDS MySQL または MariaDB インスタンスの監査ログを有効にして、そのログを CloudWatch に公開する方法を教えてください。

最終更新日: 2020 年 12 月 8 日

MySQL または MariaDB を実行している Amazon Relational Database Service (Amazon RDS) DB インスタンスのコンプライアンス要件を満たすために、データベースのアクティビティを監査したいです。次に、DB ログを Amazon CloudWatch に公開したいです。これを行うにはどうすればよいですか?

簡単な説明

MariaDB 監査プラグインを使用して、接続、切断、クエリ、クエリされたテーブルなどのイベントをキャプチャすることができます。まず、MariaDB 監査プラグインを有効にして設定し、DB インスタンスをカスタムオプショングループに関連付けます。次に、ログを CloudWatch に公開できます。

Amazon Aurora for MySQL を使用している場合は、「Amazon Aurora MySQL DB クラスターの高度な監査を有効にしてから、そのログを CloudWatch に公開する方法を教えてください」 を参照してください。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

Amazon RDS は、MySQL と MariaDB の次のバージョンで監査プラグインのオプション設定をサポートしています。

  • MySQL 5.6 の全バージョン
  • MySQL 5.7.16 と 5.7 以降のバージョン
  • MariaDB 10.0.24 以降のバージョン

カスタムオプショングループで MariaDB 監査プラグインを有効にする

  1. カスタムオプショングループを作成するか、既存のカスタムオプショングループを変更します。
  2. オプショングループに MariaDB 監査プラグインオプションを追加して、オプション設定を構成します。
  3. オプショングループを DB インスタンスに適用します。

新しい DB インスタンスにオプションを適用するには、DB インスタンスを起動したときに新しく作成されたオプショングループを使用するようにインスタンスを設定します。既存の DB インスタンスにオプションを適用するには、DB インスタンスを変更して新しいオプショングループをアタッチします。詳細については、「MySQL データベースエンジンを実行している DB インスタンスを変更する」や「MariaDB データベースエンジンを実行している DB インスタンスを変更する」を参照してください。

MariaDB 監査プラグインを使用して DB インスタンスを設定した後は、DB インスタンスを再起動する必要はありません。オプショングループがアクティブになると、監査がただちに開始されます。

注: Amazon RDS は、MariaDB 監査プラグインでのログ記録の無効化をサポートしていません。監査ログを無効にするには、関連付けられているオプショングループからプラグインを削除します。これにより、インスタンスが自動的に再起動します。レコード内のクエリ文字列の長さを制限するには、SERVER_AUDIT_QUERY_LOG_LIMIT オプションを使用します。

CloudWatch へ監査ログを公開する

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインから [データベース] を選択します。
  3. ログデータを CloudWatch にエクスポートするために使用する DB インスタンスを選択します。
  4. [変更] を選択します。
  5. [ログのエクスポート] セクションから、[監査ログ] を選択します。
  6. [続行] を選択します。
  7. [変更のサマリー] を確認して、[インスタンスの変更] を選択します。

AWS CLI を使用して、次のようなコマンドを実行して CloudWatch ログのエクスポートを有効にすることもできます。

aws rds modify-db-instance --db-instance-identifier <mydbinstance> --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'

監査ログを有効にしてインスタンスを変更してログをエクスポートすると、監査ログに記録されたイベントが CloudWatch に送信されます。その後、CloudWatch のログイベントを監視できます。 


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?