メニュー
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

アクティビティが記録されていないユーザーのコンマ区切りリストが含まれています。リストの要素間にスペースは挿入しないでください。たとえば、user_1,user_2 などです。このパラメーターのデフォルトは空の文字列です。接続および切断イベントは、この変数の影響を受けません。指定された場合は常に記録されます。ユーザーが server_audit_incl_users パラメーターでも指定されている場合、そのユーザーは記録されます。この設定の方が server_audit_excl_users より優先順位が高いためです。

server_audit_incl_users

アクティビティが記録されていないユーザーのコンマ区切りリストが含まれています。リストの要素間にスペースは挿入しないでください。たとえば、user_1,user_2 などです。このパラメーターのデフォルトは空の文字列です。接続および切断イベントは、この変数の影響を受けません。指定された場合は常に記録されます。ユーザーが 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

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