この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、菊池です。
先月登場したばかりの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へのログ出力を試しました。監査要件などへの対応も可能になりましたので、必要な場合には有効にするとよいでしょう。