문서 메뉴
문서 홈
/
MongoDB Atlas
/

데이터베이스 감사 설정

이 페이지의 내용

  • 필요한 액세스 권한
  • 절차
  • 사용자 지정 감사 필터 구성
  • 감사 필터 예시를 들어보겠습니다.

참고

  • M0 무료 클러스터, M2, M5 클러스터에서는 이 기능을 사용할 수 없습니다. 자세한 내용은 Atlas M0(무료 클러스터), M2, M5 제한 사항을 참조하세요.

  • 이 기능은 현재 서버리스 인스턴스에서 지원되지 않습니다. 자세한 내용은 서버리스 인스턴스 제한사항을 참조하십시오.

관리자는 데이터베이스 감사를 통해 사용자가 여러 명인 배포서버의 시스템 활동을 추적할 수 있습니다. Atlas 관리자는 감사할 작업, 데이터베이스 사용자, Atlas 역할 및 LDAP 그룹을 선택할 수 있습니다. Atlas는 문서화된 대부분의 시스템 이벤트 조치 에 대한 감사 를 지원하지만 다음과 같은 제한 사항이 있습니다.

  • Atlas 사용자가 클러스터의 Atlas UI로 작업을 수행하면 감사 로그와 mongodb.log 파일 로그 둘 다 mms-automation 데이터베이스 사용자를 감사 대상 작업을 수행하는 사용자로 기록합니다. 다만 프로젝트 활동 피드에는 해당 작업을 담당하는 Atlas 사용자의 실제 사용자 이름이 기록됩니다.

  • 이 작업은 Atlas의 admin 데이터베이스에서 직접 수행됩니다. 따라서 Atlas 감사 로그는 사용자 생성 또는 수정 이벤트를 추적하지 않습니다.

중요

전체 데이터베이스 감사 수행하기

이러한 제한 사항으로 인해 전체 감사를 수행하려면 감사 로그, mongodb.log프로젝트 활동 피드 조합을 사용해야 합니다.

authCheck 이벤트 조치는 프로젝트의 cluster 내 데이터베이스에서 읽거나 데이터베이스에 하는 작성하려는 사용자의 권한 부여를 기록합니다. Atlas는 다음과 같은 특정 명령어를 감사합니다.

authCheck Reads
authCheck Writes
집계
[1](1, 2, 3) MongoDB 버전 4.2 이상에서는 이러한 명령이 지원되지 않습니다.

Atlas는 authCheck 이벤트 작업을 다음의 네 가지 개별 작업으로 구현합니다.

이벤트 조치
설명
authChecksReadFailures
auditAuthorizationSuccess 매개 변수가 false로 설정된 상태에서 실패한 모든 읽기에 대한 authCheck 이벤트 작업입니다. 이 이벤트 작업은 읽기 관련 이벤트 작업의 기본값입니다.
authChecksReadAll

authCheck 성공과 실패를 막론한 모든 읽기에 대한 이벤트 조치입니다. 이 이벤트 작업은 authChecksReadFailures 과 동일하지만, auditAuthorizationSuccess 매개변수가 true로 설정되어 있습니다.

경고

auditAuthorizationSuccess 를 활성화하면 클러스터 성능에 심각한 영향을 미칠 수 있습니다. 이 옵션은 주의해서 활성화하세요.

authChecksWriteFailures
authCheck 이벤트 작업은 auditAuthorizationSuccess 매개 변수가 false로 설정된 상태에서 실패한 모든 쓰기에 대한 작업입니다. 이 이벤트 조치는 쓰기 관련 이벤트 조치의 기본값입니다.
authChecksWriteAll

authCheck 성공과 실패를 막론한 모든 쓰기에 대한 이벤트 조치입니다. 이 이벤트 작업은 authChecksWriteFailures 과 동일하지만, auditAuthorizationSuccess 매개변수가 true로 설정되어 있습니다.

경고

auditAuthorizationSuccess 를 활성화하면 클러스터 성능에 심각한 영향을 미칠 수 있습니다. 이 옵션은 주의해서 활성화하세요.

MongoDB가 감사 이벤트를 디스크에 기록하는 방법에 대한 자세한 내용은 MongoDB 매뉴얼의 감사 보장 을 참조하세요.

감사 로그를 구성하려면 업데이트할 프로젝트에 대한 Project Owner 액세스 권한 또는 업데이트할 프로젝트가 포함된 조직에 대한 Organization Owner 액세스 권한이 있어야 합니다.

참고

임시 데이터베이스 사용자의 행동을 감사하는 최선의 방법에 대해 알아보려면 임시 데이터베이스 사용자 감사를 참조하세요.

데이터베이스 감사를 설정하려면 다음 절차를 따르세요.

1
2
3
4

기본적으로 Atlas는 알려진 사용자와 알 수 없는 사용자 모두의 인증 시도 실패를 프라이머리 노드의 감사 로그에 기록합니다.

5

또는 Use Custom JSON Filter 를 클릭하여 감사 필터 를 JSON 문자열로 수동으로 입력합니다. Atlas에서 사용자 지정 감사 필터를 구성하는 방법에 대한 자세한 내용은 사용자 지정 감사 필터 구성을 참조하세요 .

6

참고

authenticate 작업에 대한 선택을 취소하면 Atlas에서 인증 실패를 감사하지 않습니다.

참고

이벤트 작업에 대한 감사의 권한 부여 성공 세분성 을 authCheck 선택하는 경우 Atlas는 읽기 및 쓰기에 대해 서로 다른 선택을 지원하지 않습니다. 예를 들어,Successes and Failures authCheck Reads Failures authCheck Writes에 대해 를 선택하고 에 대해 을 선택할 수 없습니다.authCheck Reads 및 을(를)authCheck Writes 모두 선택하면 Atlas가 선택한 세분성을 둘 다에 자동으로 적용합니다.

7

Atlas에서 감사 로그를 조회하려면 MongoDB 로그 를 참조하세요. API를 사용하여 감사 로그를 조회하려면 로그를 참조하세요 .

참고

Atlas는 MongoDB 감사를 사용자 지정하기 위해 JSON 형식의 감사 필터 지정을 지원합니다.

사용자 지정 감사 필터를 사용하면 관리형 Atlas UI 감사 필터 빌더를 사용하지 않고 이벤트 감사를 직접 세분화하여 제어할 수 있습니다. Atlas는 사용자 지정 필터가 유효한 JSON 구문을 사용하는지만 확인하며, 이 필터의 기능에 대해 유효성 검사를 수행하거나 테스트하지 않습니다.

감사 필터 문서는 감사 이벤트 메시지 의 하나 이상의 필드와 일치하는 쿼리로 해석되어야 합니다. 필터 문서는 쿼리 연산자 와 동등 조건의 조합을 사용하여 원하는 감사 메시지와 일치시킬 수 있습니다.

감사 필터 예시를 보려면 감사 필터 예시 를 참조하세요. MongoDB 감사 필터 구성에 대해 자세히 알아보려면 감사 필터 구성을 참조하세요.

중요

Atlas는 롤링 업그레이드 전략을 사용하여 Atlas 프로젝트의 모든 클러스터에서 감사 구성 설정을 활성화하거나 업데이트합니다. 롤링 업그레이드는 복제본 세트당 최소한 한 번의 선거를 필요로 합니다.

복제본 세트 선택에 대한 애플리케이션 복원력 테스트에 대해 자세히 알아보려면 프라이머리 장애 조치 테스트를 참조하세요. Atlas가 고가용성을 제공하는 방법에 대해 자세히 알아보려면 Atlas 고가용성을 참조하세요.

1
2
3
4
5
6

경고

Audit authorization successes 허용하면 cluster 성능에 심각한 영향을 미칠 수 있습니다. 이 옵션은 주의해서 사용하도록 허용합니다.

authCheck 작업 유형 을 지정하는 감사 필터의 경우, 감사 시스템은 기본적으로 지정된 param.command 에 대한 권한 부여 실패만 기록합니다. Audit authorization successes 를 활성화하면 감사 시스템이 권한 부여 성공도 기록하도록 지시합니다. 자세한 내용은 auditAuthorizationSuccess를 참조하세요.

7

언제든지 필터를 편집할 수 있습니다.

1
  1. 아직 표시되지 않은 경우 다음 목록에서 프로젝트가 포함된 조직을 선택합니다. 탐색 표시줄의 Organizations 메뉴.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 왼쪽 메뉴에서 Security 제목 아래의 Advanced 을 클릭합니다.

2
  1. Database Auditing Configure Your Auditing Filter에서 Use Custom JSON Filter을 클릭합니다.

  2. 필요한 사항을 변경합니다.

  3. Save를 클릭합니다.

다음 감사 필터 예제를 사용하여 사용자 고유의 필터를 구성하는 방법에 대한 지침을 살펴보세요.

중요

이러한 예제는 프로덕션 환경에서 사용하기 위한 것이 아니며, MongoDB 감사 문서를 숙지하는 것을 대체할 수도 없습니다.

{
"atype": "authenticate"
}
{
"$or": [
{
"users": []
},
{
"atype": "authenticate"
}
]
}

참고

authenticate 확인된 사용자와 미확인 사용자의 인증 실패를 기록하려면 조치가 필요합니다.

{
"atype": "authenticate",
"param": {
"user": "myClusterAdministrator",
"db": "admin",
"mechanism": "SCRAM-SHA-256"
}
}
{
"atype": "authCheck",
"param.command": {
"$in": [
"insert",
"update",
"delete"
]
}
}
← Google Cloud KMS로 고객 키 관리하기