メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Amazon Aurora DB クラスターでの高度な監査の使用

Amazon Aurora では、パフォーマンスの高い高度な監査機能を使用して、データベースアクティビティを監査できます。そのためには、複数の DB クラスターパラメータを設定することによって監査ログの収集を有効にします。高度な監査を有効にすると、この機能を使用して、サポートされているイベントの任意の組み合わせを記録できます。監査ログは、表示またはダウンロードして確認することができます。

拡張監査を使用するには、Aurora 1.10.1 以上を使用する必要があります。

高度な監査の有効化

DB クラスターの高度な監査を有効にして設定するには、このセクションで説明されているパラメータを使用します。

高度な監査を有効化または無効化するには server_audit_logging パラメータを使用し、記録するイベントを指定するには server_audit_events パラメータを使用します。

server_audit_excl_users パラメータと server_audit_incl_users パラメータを使用して、監査するユーザーを指定します。server_audit_excl_usersserver_audit_incl_users が空の場合 (デフォルト)、すべてのユーザーが監査されます。ユーザーを server_audit_incl_users に追加して server_audit_excl_users を空のままにした場合、それらのユーザーだけが検査されます。ユーザーを server_audit_excl_users に追加して server_audit_incl_users を空のままにした場合、それらのユーザーだけが監査されず、他のすべてのユーザーが監査されます。server_audit_excl_usersserver_audit_incl_users の両方に同じユーザーを追加した場合、server_audit_incl_users が優先されるためそれらのユーザーは監査されます。

高度な監査は、DB クラスターにより使用されているパラメータグループでこれらのパラメータを設定することにより設定します。「DB パラメータグループのパラメータの変更」に示されている手順を使用し、AWS マネジメントコンソール を使用して DB クラスターパラメータを変更できます。AWS CLI の modify-db-cluster-parameter-group コマンド、または Amazon RDS API のModifyDBClusterParameterGroup コマンドを使用して、プログラムで DB クラスターパラメータを変更できます。

これらのパラメータを変更しても、DB クラスターを再起動する必要はありません。

server_audit_logging

高度な監査を有効または無効にします。このパラメータのデフォルトは OFF です。高度な監査を有効にするには、ON に設定します。

server_audit_events

記録するイベントのコンマ区切りリストが含まれています。イベントはすべて大文字で指定する必要があります。リスト要素間に空白があってはいけません。例: CONNECT,QUERY_DDL。このパラメータのデフォルトは空の文字列です。

次のイベントの任意の組み合わせを記録できます。

  • CONNECT – 成功した接続と失敗した接続の両方、および切断を記録します。このイベントにはユーザー情報が含まれています。

  • QUERY – すべてのクエリテキストとクエリの結果をプレーンテキストで記録します (構文またはアクセス権限エラーで失敗したエラーを含む)。

  • QUERY_DCL – QUERY イベントと同様ですが、データ制御言語 (DCL) クエリ (GRANT、REVOKE など) のみ返します。

  • QUERY_DDL – QUERY イベントと同様ですが、データ定義言語 (DDL) クエリ (CREATE、ALTER など) のみ返します。

  • QUERY_DML – QUERY イベントと同様ですが、データ操作言語 (DML) クエリ (INSERT、UPDATE など) のみ返します。

  • TABLE – クエリ実行の影響を受けたテーブルを記録します。

server_audit_excl_users

アクティビティが記録されていないユーザーのカンマ区切りのユーザー名リストが含まれています。リストの要素間にスペースは挿入しないでください。たとえば、rdsadmin,user_1,user_2 などです。このパラメータのデフォルトは空の文字列です。指定したユーザー名は、mysql.user テーブルの User 列の対応する値と一致する必要があります。ユーザー名の詳細については、MySQL のドキュメントを参照してください。

接続および切断イベントは、この変数の影響を受けません。指定された場合は常に記録されます。ユーザーが server_audit_incl_users パラメータでも指定されている場合、そのユーザーは記録されます。この設定の方が server_audit_excl_users より優先順位が高いためです。

server_audit_incl_users

アクティビティが記録されていないユーザーのカンマ区切りのユーザー名リストが含まれています。リストの要素間にスペースは挿入しないでください。たとえば、user_3,user_4 などです。このパラメータのデフォルトは空の文字列です。指定したユーザー名は、mysql.user テーブルの User 列の対応する値と一致する必要があります。ユーザー名の詳細については、MySQL のドキュメントを参照してください。

接続および切断イベントは、この変数の影響を受けません。指定された場合は常に記録されます。ユーザーが server_audit_excl_users パラメータでも指定されている場合も、そのユーザーは記録されます。server_audit_incl_users の方が優先順位が高いためです。

監査ログの表示

AWS コンソールを使用して、監査ログを表示およびダウンロードできます。[Instances] ページで、DB クラスターを選択および展開し、[Logs] を選択します。

ログファイルをダウンロードするには、[Logs] セクションでファイルを見つけ、[download] を選択します。

AWS CLI の describe-db-log-files コマンドを使用して、ログファイルのリストを取得することもできます。ログファイルの内容を表示するには、AWS CLI の download-db-log-file-portion コマンド、ログファイルをダウンロードするには、REST API の DownloadCompleteDBLogFile を使用します。

監査ログの詳細

ログファイルは UTF-8 形式です。ログは、複数のファイルに書き込まれます。ファイル数は、インスタンスのサイズによって異なります。最新のイベントを表示するには、すべての監査ログファイルの確認が必要な場合があります。

ログのエントリは、順番になっていません。並べ替えには、queryid 値を使用できます。

ログファイルは、合計 100 MB に達するとローテーションされます。この制限は設定できません。

監査ログファイルの行には、次のカンマ区切りの情報が指定された順序で含まれています。

フィールド 説明

timestamp

記録されたイベントの UNIX タイムスタンプ (マイクロ秒の精度)。

serverhost

イベントが記録されているインスタンスの名前。

username

ユーザーの接続されたユーザー名。

host

ユーザーの接続元のホスト。

connectionid

記録されたオペレーションの接続 ID 番号。

queryid

クエリ ID 番号。リレーショナルテーブルイベントと関連するクエリの検索に使用できます。TABLE イベントの場合、複数の行が追加されます。

オペレーション

記録されたアクションの種類。指定できる値は CONNECTQUERYREADWRITECREATEALTERRENAMEDROP です。

database

USE コマンドにより設定されたアクティブなデータベース。

オブジェクト

QUERY イベントの場合、この値は実行されたクエリを表示します。TABLE イベントの場合、テーブル名を示します。

retcode

記録されたオペレーションのリターンコード。