[AWS] Amazon DocumentDB が CloudWatch Logs への監査ログ出力に対応
こんにちは、菊池です。
先月登場したばかりのAmazon DocumentDBのアップデートです。
Amazon DocumentDB (MongoDB 互換) で Amazon CloudWatch Logs によるデータベース監査のサポートを開始
Amazon DocumentDBで、CloudWatch Logsへの監査ログの出力がサポートされました。
やってみた
それでは早速試してみます。ログ出力を有効化するためには、
- クラスタ設定での有効化
- パラメータグループによる有効化
の2つとも行う必要があります。まずはクラスタ設定での有効化です。クラスタ作成時の詳細設定に、[Log expors]の項目が追加されていますので、有効にします。
続いて、パラメターグループです。こちらも、[audit_logs]の項目が追加されていますので、[enable]に変更します。
設定し、DocumentDBクラスタが起動してしばらくすると、CloudWatch Logsにロググループが作成されています。
何も操作してない状態でも、数件のログが出力されていました。
ログ出力を試すため、DBに接続していくつか操作を実行します。
まずはDBの作成
rs0:PRIMARY> use test switched to db test
続いて、コレクションを作成します。
rs0:PRIMARY> db.createCollection("testcol") { "ok" : 1 }
すると、すぐにログが出力されていました。
ログの内容です。接続のログ。
{ "atype": "authenticate", "ts": 1550448834114, "remote_ip": "172.31.60.114:46608", "user": "skikuchi", "param": { "user": "skikuchi", "mechanism": "SCRAM-SHA-1", "success": true, "message": "", "error": 0 } }
DB作成のログです。
{ "atype": "createDatabase", "ts": 1550448963673, "remote_ip": "172.31.60.114:46608", "user": "skikuchi", "param": { "ns": "test" } }
そして、コレクション作成のログ。
{ "atype": "createCollection", "ts": 1550448963673, "remote_ip": "172.31.60.114:46608", "user": "skikuchi", "param": { "ns": "test.testcol" } }
また、コレクション作成と同時に、_id
にインデックスが作成されていることもわかります。
{ "atype": "createIndex", "ts": 1550448963673, "remote_ip": "172.31.60.114:46608", "user": "skikuchi", "param": { "ns": "test.testcol", "indexName": "_id_", "indexSpec": { "key": { "_id": 1 }, "unique": true, "background": false, "sparse": false } } }
まとめ
以上、Amazon DocumentDBでサポートされた、CloudWatch Logsへのログ出力を試しました。監査要件などへの対応も可能になりましたので、必要な場合には有効にするとよいでしょう。