데이터베이스 감사 설정
참고
이 기능 은
M0
무료 클러스터,M2
및M5
클러스터에서는 사용할 수 없습니다. 학습 내용은 Atlas M0 (무료 클러스터), M2 및 M5 제한을 참조하세요.이 기능은 현재 서버리스 인스턴스에서 지원되지 않습니다. 자세한 내용은 서버리스 인스턴스 제한사항을 참조하십시오.
관리자는 데이터베이스 감사를 통해 다중 사용자가 있는 배포 시스템의 활동을 추적할 수 있습니다. Atlas 관리자는 감사할 작업, 데이터베이스 사용자, Atlas 역할 및 경량 디렉터리 액세스 프로토콜(LDAP, Lightweight Directory Access Protocol) 그룹을 선택할 수 있습니다. Atlas는 문서화된 시스템 이벤트 조치 대부분에 대해 감사를 지원하지만 다음과 같은 제한 사항이 있습니다.
Atlas 사용자가 클러스터의 Atlas UI로 작업을 수행하면 감사 로그와
mongodb.log
파일 로그 둘 다mms-automation
데이터베이스 사용자를 감사 대상 작업을 수행하는 사용자로 기록합니다. 다만 프로젝트 활동 피드에는 해당 작업을 담당하는 Atlas 사용자의 실제 사용자 이름이 기록됩니다.이 작업은 Atlas의
admin
데이터베이스에서 직접 수행됩니다. 따라서 Atlas 감사 로그는 사용자 생성 또는 수정 이벤트를 추적하지 않습니다.
authCheck
이벤트 조치는 프로젝트의 cluster 내 데이터베이스에서 읽거나 데이터베이스에 하는 작성하려는 사용자의 권한 부여를 기록합니다. Atlas는 다음과 같은 특정 명령어를 감사합니다.
authCheck Reads | authCheck Writes |
---|---|
[1] | (1, 2, 3) MongoDB 버전 4.2 이상에서는 이러한 명령이 지원되지 않습니다. |
Atlas는 authCheck
이벤트 작업을 다음의 네 가지 개별 작업으로 구현합니다.
이벤트 조치 | 설명 |
---|---|
authChecksReadFailures | authCheck auditAuthorizationSuccess 매개변수가 false로 설정된 실패한 읽기 작업 모두에 대한 이벤트 조치입니다. 이 이벤트 조치는 읽기 관련 이벤트 조치의 기본값입니다. |
authChecksReadAll |
경고: auditAuthorizationSuccess 를 활성화 하면 클러스터 성능에 심각한 영향 을 미칠 수 있습니다. 이 옵션은 주의해서 활성화하세요. |
authChecksWriteFailures | authCheck AuditAuthorizationSuccess 매개변수가 false로 설정된 상태에서 실패한 모든 쓰기에 대한 이벤트 작업입니다. 이러한 이벤트 조치는 쓰기 관련 이벤트 조치의 기본 값입니다. |
authChecksWriteAll |
경고: auditAuthorizationSuccess 를 활성화 하면 클러스터 성능에 심각한 영향 을 미칠 수 있습니다. 이 옵션은 주의해서 활성화하세요. |
MongoDB가 감사 이벤트를 디스크에 기록하는 방법에 대해 알아보려면 MongoDB 매뉴얼에서 감사 보장을 참조하세요.
필요한 액세스 권한
감사 로그를 구성하려면 업데이트할 프로젝트에 대한 Project Owner
액세스 권한 또는 업데이트할 프로젝트가 포함된 조직에 대한 Organization Owner
액세스 권한이 있어야 합니다.
절차
참고
임시 데이터베이스 사용자의 행동을 감사하는 최선의 방법에 대해 알아보려면 임시 데이터베이스 사용자 감사를 참조하세요.
데이터베이스 감사를 설정하려면 다음 절차를 따르세요.
Atlas Advanced 에서 프로젝트 의 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
인증 실패를 감사할 것인지 확인합니다.
기본적으로 Atlas는 알려진 사용자와 알 수 없는 사용자 모두의 인증 시도 실패를 프라이머리 노드의 감사 로그에 기록합니다.
에서 작업을 감사 할 데이터베이스 사용자,Select users and rolesAtlas 역할 및 LDAP 그룹을 선택합니다.
아니면 Use Custom JSON Filter를 클릭하여 JSON 문자열로 감사 필터 를 수동으로 입력합니다. Atlas에서 사용자 지정 감사 필터를 구성하는 방법에 대한 자세한 내용은 사용자 지정 감사 필터 구성을 참조하세요.
에서 감사 할 Select actions to audit이벤트 작업을 선택합니다.
참고
authenticate
작업에 대한 선택을 취소하면 Atlas에서 인증 실패를 감사하지 않습니다.
참고
authCheck
이벤트 작업 대상 감사에 권한 부여 성공 세분화를 선택하면, Atlas가 읽기 및 쓰기에 서로 다른 선택을 지원하지 않습니다. 예를 들어, authCheck Reads에 Successes and Failures를 선택하고 authCheck Writes에는 Failures를 선택할 수 없습니다. authCheck Reads와 authCheck Writes를 모두 선택하면 Atlas가 선택된 세분화를 양쪽에 자동으로 적용합니다.
Atlas에서 감사 로그를 검색하려면 MongoDB 로그를 참조하세요. API를 사용하여 감사 로그를 검색하려면 로그를 참조하세요.
사용자 지정 감사 필터 구성
참고
이 기능 은
M0
무료 클러스터,M2
및M5
클러스터에서는 사용할 수 없습니다. 학습 내용은 Atlas M0 (무료 클러스터), M2 및 M5 제한을 참조하세요.이 기능은 현재 서버리스 인스턴스에서 지원되지 않습니다. 자세한 내용은 서버리스 인스턴스 제한사항을 참조하십시오.
Atlas는 JSON 형식의 감사 필터를 지정하여 MongoDB 감사를 맞춤 설정하는 것을 지원합니다.
사용자 지정 감사 필터를 사용하면 관리형 Atlas UI 감사 필터 빌더를 사용하지 않고 이벤트 감사를 직접 세분화하여 제어할 수 있습니다. Atlas는 사용자 지정 필터가 유효한 JSON 구문을 사용하는지만 확인하며, 이 필터의 기능에 대해 유효성 검사를 수행하거나 테스트하지 않습니다.
감사 필터 문서는 감사 이벤트 메시지의 필드의 하나 이상과 일치하는 쿼리로 해석되어야 합니다. 필터 문서는 쿼리 연산자 와 동일 조건의 조합을 사용하여 원하는 감사 메시지를 일치시킬 수 있습니다.
감사 필터 예시를 보려면 감사 필터 예시를 참조하세요. MongoDB 감사 필터를 구성하는 자세한 방법은 감사 필터 구성을 참조하세요.
중요
Atlas는 롤링 업그레이드 전략을 사용하여 Atlas 프로젝트의 모든 클러스터에서 감사 구성 설정을 활성화하거나 업데이트합니다. 롤링 업그레이드는 복제본 세트당 최소한 한 번의 선거를 필요로 합니다.
복제본 세트 선택에 대한 애플리케이션 복원력 테스트에 대해 자세히 알아보려면 프라이머리 장애 조치 테스트를 참조하세요. Atlas가 고가용성을 제공하는 방법에 대해 자세히 알아보려면 Atlas 고가용성을 참조하세요.
절차
Atlas Advanced 에서 프로젝트 의 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
Audit authorization successes토글합니다.
경고
Audit authorization successes 허용하면 cluster 성능에 심각한 영향을 미칠 수 있습니다. 이 옵션을 주의해서 활성화합니다.
authCheck
작업 유형을 지정하는 감사 필터의 경우, 감사 시스템은 지정된 param.command
에 대한 인증 실패만 기록하도록 기본 설정되어 있습니다. Audit authorization successes를 활성화하면 감사 시스템에서 권한 부여 성공도 기록하도록 지시합니다. 자세한 내용은 auditAuthorizationSuccess를 참조하세요.
사용자 지정 감사 필터를 편집합니다.
언제든지 필터를 편집할 수 있습니다.
Atlas Advanced 에서 프로젝트 의 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
사용자 지정 감사 필터 보기
Atlas CLI를 사용하여 지정된 프로젝트에 대한 감사 구성을 반환하려면 다음 명령을 실행하세요.
atlas auditing describe [options]
명령 구문과 매개 변수에 관한 자세한 내용은 Atlas CLI 설명서의 Atlas 감사 설명을 참조하세요.
Atlas UI에서 사용자 지정 감사 필터를 보려면 다음을 수행합니다.
Atlas Advanced 에서 프로젝트 의 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
감사 필터 예시를 들어보겠습니다.
다음 감사 필터 예시를 사용하여 사용자 고유의 필터를 구성하는 방법에 대한 지침을 살펴보세요.
중요
이 예시는 프로덕션 환경에서 사용하기 위한 것이 아니며, MongoDB 감사 설명서를 숙지하는 것을 대체할 수 없습니다.
알려진 사용자에 대한 모든 인증 이벤트 감사
{ "atype": "authenticate" }
알려진 사용자에 대한 모든 인증 이벤트와 알 수 없는 사용자에 대한 인증 실패를 감사합니다.
{ "$or": [ { "users": [] }, { "atype": "authenticate" } ] }
참고
authenticate
확인된 사용자와 미확인 사용자의 인증 실패를 기록하려면 조치가 필요합니다.
"myClusterAdministrator" 사용자에 대한 인증 이벤트를 감사합니다.
{ "atype": "authenticate", "param": { "user": "myClusterAdministrator", "db": "admin", "mechanism": "SCRAM-SHA-256" } }
선택한 명령의 무단 실행 시도 감사
{ "atype": "authCheck", "param.command": { "$in": [ "insert", "update", "delete" ] } }