getAuditConfig
정의
getAuditConfig
버전 5.0에 추가.
getAuditConfig
은mongod
및mongos
서버 인스턴스에서 감사 구성을 검색하는 관리 명령입니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
중요
이 명령은 MongoDB Atlas 클러스터에서 지원되지 않습니다. 모든 명령에 대한 Atlas 지원 에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { getAuditConfig: 1 } )
행동
getAuditConfig
을(를) 사용하려면감사 를 활성화해야 합니다.
런타임 감사 구성에 참여하지 않는 노드는 auditLog.filter
및 setParameter.auditAuthorizationSuccess
에 대한 현재 구성 파일 설정을 반환합니다.
런타임 감사에 참여하는 노드는 메모리에서 현재 구성을 합성합니다. 구성 업데이트는 oplog 메커니즘을 통해 배포되므로 mongod
노드의 업데이트가 세컨더리 노드에 매우 빠르게 배포됩니다. 그러나 mongos
노드에서는 배포 메커니즘이 다릅니다. mongos
노드는 구성 업데이트를 위해 정기적으로 프라이머리 서버를 poll
해야 합니다. 샤드가 업데이트된 구성 세부 정보를 위해 프라이머리 서버를 폴링하기 전에 프라이머리 서버에서 를 실행하고 getAuditConfig
샤드 에서 setAuditConfig
를 실행하는 경우 폴링 지연으로 인해 오래된 데이터가 표시될 수 있습니다.
참고
자동화된 감사 스크립트를 작성하는 경우 클러스터 서명을 나타내는 데 사용되는 인용 스타일과 유형이 mongosh
와 레거시 mongo
shell 간에 다르다는 점에 유의하세요. mongosh
에서 유형은 바이너리 및 Long입니다. 레거시 shell 에서 해당 유형은 BinData 및 NumberLong입니다.
// mongosh signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } // mongo "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) }
예시
admin
데이터베이스에서 getAuditConfig
를 실행합니다.
db.adminCommand({getAuditConfig: 1})
예제 서버는 읽기 및 쓰기 작업을 감사하도록 구성됩니다. 여기에는 원하는 작업을 캡처하는 필터가 있으며 auditAuthorizationSuccess
값이 true
로 설정되었습니다.
{ generation: ObjectId("60e73e74680a655705f16525"), filter: { atype: 'authCheck', 'param.command': { '$in': [ 'find', 'insert', 'delete', 'update', 'findandmodify' ] } }, auditAuthorizationSuccess: true, ok: 1, '$clusterTime': { clusterTime: Timestamp(1, 1625767540), signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } }, operationTime: Timestamp(1, 1625767540) }