auditConfig
정의
auditConfig
버전 7.1에 새로 추가되었습니다.
구문
배포서버에 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
유형: 문서
기본값: 없음
감사 시스템 에서 기록하는 작업 유형 을 제어하는 필터 표현식입니다.
문서 필드는 매개변수 문서에서 반환된 필드를 포함 하여 감사 메시지에 있는 모든 필드 일 수 있습니다. 필드 값은 쿼리 조건 표현식입니다.
샘플 필터하다 문서 를 보려면 예제 섹션을 참조하세요.
행동
auditConfig
을(를) 사용하려면 감사를 활성화해야 합니다.
감사 구성 조회
런타임 감사 구성 이 활성화된 경우 auditAuthorizationSuccess
매개변수는 mongod
또는 mongos
구성 파일에 나타나지 않습니다. 매개 변수가 있는 경우 서버가 시작되지 않습니다.
auditConfig
에서 getClusterParameter
를 실행하는 경우 런타임 감사 구성에 참여하지 않는 노드는 auditLog.filter
및 setParameter.auditAuthorizationSuccess
에 대한 현재 구성 파일 설정을 반환합니다.
감사 구성 설정
setClusterParameter
을(를) 사용하여 감사 구성을 설정하면 변경 사항이 샤드 cluster의 모든 config 서버 및 샤드에 즉시 적용됩니다.
감사 필터를 너무 넓게 설정하거나 auditConfig.auditAuthorizationSuccess
를 활성화하면 성능이 저하될 수 있습니다.
예시
다음 예시에서는 setClusterParameter
명령을 사용하여 collection이 생성되거나 삭제될 때 감사를 활성화합니다. 감사 메시지의 형식이 다시 지정되었습니다. 로그 파일의 한 줄에 표시됩니다.
db.adminCommand( { setClusterParameter: { auditConfig: { filter: { atype: { $in: [ "createCollection", "dropCollection" ] } }, auditAuthorizationSuccess: false } } } )
auditConfig
매개 변수를 설정한 후 sales
데이터베이스에 inventory
collection을 만들면 감사 시스템은 다음과 유사한 메시지를 기록합니다.
{ "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 }