定義
構文
配置用に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 }