auditConfig
定義
構文
配置用にauditConfig
を設定するには、 admin
データベースで次のコマンドを実行します。
db.adminCommand( { setClusterParameter: { auditConfig: <value> } } )
auditConfig
クラスター パラメータの現在の値を表示するには、 admin
データベースで次のコマンドを実行します。
db.adminCommand( { getClusterParameter: "auditConfig" } )
パラメーター フィールド
auditConfig.auditAuthorizationSuccess
タイプ: ブール値
デフォルト: false
authCheck アクションの承認成功の監査を有効にします。
読み取り操作と書込み操作を監査するには、
auditConfig.auditAuthorizationSuccess
をtrue
に設定する必要があります。auditConfig.auditAuthorizationSuccess
がfalse
の場合、監査システムはauthCheck
の認可の失敗のみを記録します。auditAuthorizationSuccess
がfalse
の場合、 監査システムは認可の失敗のみを記録するため、監査によるパフォーマンスへの影響は少なくなります。
auditConfig.filter
型: ドキュメント
デフォルト: なし
監査システム が記録する 操作のタイプ を制御するフィルター式。
ドキュメント フィールドは、 監査フィールド内の任意のフィールド ( paramドキュメントで返されるフィールドを含む)にすることができます。 フィールド値はクエリ条件式 です。
サンプル フィルター ドキュメントを表示するには、「 の例 」セクションを参照してください。
動作
auditConfig
を使用するには、 監査 を有効にする必要があります。
監査構成の取得
ランタイム監査構成が有効になっている場合、 auditAuthorizationSuccess
パラメータはmongod
またはmongos
構成ファイルに表示されません。 パラメーターが存在する場合、サーバーは起動に失敗します。
auditConfig
でgetClusterParameter
を実行すると、ランタイム監査構成に参加しないノードはauditLog.filter
とsetParameter.auditAuthorizationSuccess
の現在の構成ファイル設定を返します。
監査構成の設定
setClusterParameter
を使用して監査構成を設定すると、変更はシャーディングされたクラスター内のすべてのコンフィギュレーションサーバーとシャードにすぐに有効になります。
監査フィルターの範囲が大きすぎるか、 auditConfig.auditAuthorizationSuccess
を有効にしているとパフォーマンスが低下する可能性があります。
例
次の例では、 setClusterParameter
コマンドを使用して、コレクションが作成または削除されるときに監査を有効にします。 監査メッセージが再フォーマットされました。 これらはログファイルの 1 行に表示されます。
db.adminCommand( { setClusterParameter: { auditConfig: { filter: { atype: { $in: [ "createCollection", "dropCollection" ] } }, auditAuthorizationSuccess: false } } } )
auditConfig
パラメータの設定後にsales
データベースにinventory
コレクションを作成すると、監査システムは次のようなメッセージをログに記録します。
{ "atype" : "createCollection", "ts" : { "$date" : "2021-08-09T13:45:05.372+00:00" }, "uuid" : { "$binary" : "RKU/YLizS6K9se2GUU7ZVQ==", "$type" : "04" }, "local" : { "ip" : "127.0.0.1", "port" : 27502 }, "remote" : { "ip" : "127.0.0.1", "port" : 51918 }, "users" : [], "roles" : [], "param" : { "ns" : "sales.inventory" }, "result" : 0 }
inventory
コレクションがsales
データベースから削除されると、監査システムは次のようなメッセージをログに記録します。
{ "atype" : "dropCollection", "ts" : { "$date" : "2021-08-09T13:45:00.661+00:00" }, "uuid" : { "$binary" : "0gle4/pSQli+LUcz43ykag==", "$type" : "04" }, "local" : { "ip" : "127.0.0.1", "port" : 27502 }, "remote" : { "ip" : "127.0.0.1", "port" : 51928 }, "users" : [], "roles" : [], "param" : { "ns" : "sales.inventory" }, "result" : 0 }