翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DocumentDB イベントの監査
Amazon DocumentDB (MongoDB の互換性あり) を使用すると、クラスター内で実行されたイベントを監査できます。ログに記録されるイベントの例としては、認証の成功と失敗、データベース内のコレクションの削除、インデックスの作成などがあります。Amazon DocumentDB ではデフォルトで監査が無効になっているため、この機能を選択して使用する必要があります。
監査が有効な場合、Amazon DocumentDB はデータ定義言語 (DDL)、データ操作言語 (DML)、認証、認可、およびユーザー管理イベントを Amazon CloudWatch Logs に記録します。監査が有効な場合、Amazon DocumentDB はクラスターの監査レコード (JSON ドキュメント) を Amazon CloudWatch Logs にエクスポートします。Amazon CloudWatch Logs を使用すると、Amazon DocumentDB 監査イベントを分析、モニタリング、およびアーカイブすることができます。
Amazon DocumentDB では監査を有効にしても追加料金は発生しませんが、CloudWatch Logs の使用には標準料金がかかります。CloudWatch Logs の料金の詳細については、Amazon CloudWatch の料金
Amazon DocumentDB の監査機能は、AWS CloudTrail でモニタリングされるサービスリソースの使用状況とは明らかに異なります。CloudTrail は、クラスタ、インスタンス、パラメータグループ、スナップショットなどのリソースに対してAWS Command Line Interface (AWS CLI) または AWS Management Console で実行されるオペレーションを記録します。CloudTrailを使用した AWS リソースの監査はデフォルトで有効化され、無効にすることはできません。Amazon DocumentDB 監査機能は、オプトイン機能です。これによって、オブジェクト (データベース、コレクション、インデックスやユーザーなど) のクラスター内で発生したオペレーションが記録されます。
サポートされるイベント
Amazon DocumentDB 監査は、以下のカテゴリのイベントをサポートしています。
-
データ定義言語 (DDL) - データベース管理操作、接続、ユーザー管理、認証が含まれます。
-
データ操作言語読み取りイベント (DML 読み取り) -
find()
、 およびさまざまな集計演算子、算術演算子、ブール演算子、およびその他の読み取りクエリ演算子が対象になります。 -
データ操作言語書き込みイベント (DML 書き込み) -
insert(), update(), delete(),
およびbulkWrite()
演算子が対象になります。
イベントタイプは次のとおりです。
イベントタイプ | カテゴリ | 説明 |
---|---|---|
authCheck |
認可 | 結果コード 0: 成功 |
結果コード 13: 不正な操作によるオペレーションの実行。 | ||
authenticate |
Connection | 新規接続に対する認証 (成功または失敗)。 |
createDatabase |
DDL | 新しいデータベースの作成。 |
createCollection |
DDL | データベース内での新しいコレクションの作成。 |
createIndex |
DDL | コレクション内での新しいインデックスの作成。 |
dropCollection |
DDL | データベース内のコレクションの削除。 |
dropDatabase |
DDL | データベースの削除。 |
dropIndex |
DDL | コレクション内のインデックスの削除。 |
modifyChangeStreams |
DDL | 変更ストリームが作成されました。 |
renameCollection |
DDL | データベース内のコレクションの名前変更。 |
createRole |
ロールの管理 | ロールの作成。 |
dropAllRolesFromDatabase |
ロールの管理 | データベース内のすべてのロールの削除。 |
dropRole |
ロールの管理 | ロールの削除。 |
grantPrivilegesToRole |
ロールの管理 | ロールへの権限の付与。 |
grantRolesToRole |
ロールの管理 | ユーザー定義ロールへのロールの付与。 |
revokePrivilegesFromRole |
ロールの管理 | ロールからの権限の取り消し。 |
revokeRolesFromRole |
ロールの管理 | ユーザー定義ロールからロールの取り消し。 |
updateRole |
ロールの管理 | ロールの更新。 |
createUser |
ユーザー管理 | 新しいユーザーの作成。 |
dropAllUsersFromDatabase |
ユーザー管理 | データベース内のすべてのユーザーの削除。 |
dropUser |
ユーザー管理 | 既存のユーザーの削除。 |
grantRolesToUser |
ユーザー管理 | ユーザーにロールを付与する。 |
revokeRolesFromUser |
ユーザー管理 | ユーザーからロールを取り消します。 |
updateUser |
ユーザー管理 | 既存のユーザーの更新。 |
insert |
DML 書き込み | 1 つまたは複数のドキュメントをコレクションに挿入します。 |
delete |
DML 書き込み | コレクションから 1 つまたは複数のドキュメントを削除します。 |
update |
DML 書き込み | 既存の 1 つまたは複数のコレクション内のドキュメントを変更します。 |
bulkWrite |
DML 書き込み | 実行順序を制御を使って複数の書き込み操作を実行します。 |
count |
DML 読み取り | コレクションまたはビューの find() クエリに一致するドキュメントの数を返します。 |
countDocuments |
DML 読み取り | コレクションまたはビューのクエリに一致するドキュメントの数を返します。 |
find |
DML 読み取り | コレクションまたはビュー内のドキュメントを選択し、選択したドキュメントにカーソルを返します。 |
findAndModify |
DML 読み取りと DML 書き込み | 単一のドキュメントを変更して返します。 |
findOneAndDelete |
DML 読み取りと DML 書き込み | フィルターと並べ替え条件に基づいて 1 つのドキュメントを削除し、削除したドキュメントを返します。 |
findOneAndReplace |
DML 読み取りと DML 書き込み | 指定したフィルターに基づいて 1 つのドキュメントを置き換えます。 |
findOneAndUpdate |
DML 読み取りと DML 書き込み | フィルターと並べ替え条件に基づいて 1 つのドキュメントを更新します。 |
aggregate |
DML 読み取りと DML 書き込み | 集約パイプラインの API をサポートします。 |
distinct |
DML 読み取り | 1 つのコレクションまたはビューから指定されたフィールドの個別値を検索し、その結果を配列で返します。 |
注記
DML イベントドキュメントパラメータフィールドの値には 1 KB のサイズ制限があります。サイズが 1 KB を超えると、Amazon DocumentDB値は切り捨てられます。
注記
現時点では、TTL 削除イベントは監査されません。
監査の有効化
クラスターでの監査の有効化は、2 ステップのプロセスです。両方のステップが完了していることを確認してください。完了していない場合、監査ログは CloudWatch Logs に送信されません。
ステップ 1。audit_logs クラスターパラメータを有効にする
監査を有効にするには、パラメータグループの audit_logs
パラメータを変更する必要があります。audit_logs
は記録するイベントのカンマ区切りのリストです。イベントはすべて小文字で指定する必要があります。リスト要素間に空白があってはいけません。
パラメータには以下の値を指定できます。
値 | 説明 |
---|---|
ddl |
設定すると、createDatabase、dropDatabase、createCollection、dropCollection、createIndex、dropIndex、authCheck、authenticate、createUser、dropUser、grantRolesToUser、revokeRolesFromUser、updateUser、dropAllUsersFromDatabase などの DDL イベントの監査が有効になります |
dml_read |
設定すると、find、sort count、distinct、group、projecta、unwind、geoNear、geoIntersects、geoWithin、その他の MongoDB 読み取りクエリ演算子などの DML 読み取りイベントの監査が有効になります。 |
dml_write |
設定すると、insert()、update()、delete()、bulkWrite() などの DML 書き込みイベントの監査が有効になります。 |
all |
設定すると、読み取りクエリ、書き込みクエリ、データベースアクション、管理者アクションなどのデータベースイベントの監査が有効になります。 |
none |
設定すると、監査が無効になります |
enabled (レガシー) |
これは「ddl」と同等のレガシーパラメータ設定です。設定すると、createDatabase、dropDatabase、createCollection、dropCollection、createIndex、dropIndex、authCheck、authenticate、createUser、dropUser、grantRolesToUser、revokeRolesFromUser、updateUser、dropAllUsersFromDatabase などの DDL イベントの監査が有効になります。レガシー設定であるため、この設定の使用はお勧めしません。 |
disabled (レガシー) |
これは「なし」と同等のレガシーパラメータ設定です。レガシー設定であるため、この設定の使用はお勧めしません。 |
注記
audit_logs クラスターパラメーターのデフォルト値は none
(レガシー「disabled
」)です。
上記の値を組み合わせて使用することもできます。
値 | 説明 |
---|---|
ddl, dml_read |
設定すると、DDL イベントと DML 読み取りイベントの監査が有効になります。 |
ddl, dml_write |
設定すると、DDL イベントと DML 書き込みの監査が有効になります。 |
dml_read, dml_write |
設定すると、すべての DML イベントの監査が有効になります。 |
注記
デフォルトのパラメータグループを変更することはできません。
詳細については、次を参照してください。
-
Amazon DocumentDB クラスターパラメータグループを作成する
カスタムパラメータグループを作成したら、
audit_logs
パラメータ値をenabled
に変更します。
ステップ 2。Amazon CloudWatch Logs のエクスポートを有効にする
audit_logs
クラスターパラメータの値が enabled
か ddl
、dml_read
、dml_write
のいずれかの場合、Amazon DocumentDB がログを Amazon CloudWatch にエクスポートできるようにする必要があります。上述の手順のいずれかを省略すると、監査ログは CloudWatch に送信されません。
クラスターを作成するときにポイントインタイムリストアまたはスナップショットの復元を実行する場合、以下のステップで CloudWatch Logs を有効にすることができます。
監査の無効化
CloudWatch Logs のエクスポートを無効にし、audit_logs
パラメータを無効にすることで、監査を無効にすることができます。
CloudWatch Logs のエクスポートの無効化
監査ログのエクスポートを無効にするには、AWS Management Consoleまたは AWS CLI を使用します。
audit_logs パラメータを無効にする
クラスターの audit_logs
パラメータを無効にするには、audit_logs
パラメータ値が disabled
であるパラメータグループを使用するようにクラスターを変更します。または、クラスターの audit_logs
パラメータグループのパラメータ値を disabled
に変更することもできます。
詳細については、次のトピックを参照してください。
監査イベントへのアクセス
Amazon CloudWatch の監査イベントにアクセスするには、以下のステップを実行してください。
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
Amazon DocumentDB クラスターと同じリージョンであることを確認します。
-
ナビゲーションペインで [ログ] を選択します。
-
クラスターの監査ログを確認するため、リストから
/aws/docdb/
を見つけ出して選択します。yourClusterName
/audit各インスタンスの監査イベントは、各インスタンス名の下に表示されます。