문서 메뉴

문서 홈MongoDB Atlas Kubernetes Operator

감사 로그 구성

이 페이지의 내용

  • 필요한 액세스 권한
  • 감사 로그 활성화
  • 사용자 지정 감사 필터 구성

참고

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

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

Atlas Kubernetes Operator를 사용하여 감사 로그를 구성할 수 있습니다. 자세한 내용은 데이터베이스 감사 설정을 참조하세요.

관리자는 데이터베이스 감사를 통해 사용자가 여러 명인 배포서버의 시스템 활동을 추적할 수 있습니다. 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 액세스 권한이 있어야 합니다.

참고

임시 데이터베이스 사용자의 작업을 감사하는 모범 사례에 대해 알아보려면 임시 데이터베이스 사용자 감사를 참조하세요.

감사 로그를 활성화하려면 사용자 spec.auditing.enabled true AtlasProject 지정 리소스 에서을(를) (으)로 설정합니다.

예시:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: TestAuditing
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "0.0.0.0/1"
comment: "Everyone has access. For test purposes only."
- cidrBlock: "128.0.0.0/1"
comment: "Everyone has access. For test purposes only."
auditing:
enabled: true
EOF

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

참고

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

사용자 지정 감사 필터를 사용하면 관리형 Atlas UI 감사 필터 빌더 를 사용하지 않고 이벤트 감사를 수동으로 세부적으로 제어할 수 있습니다. Atlas는 사용자 지정 필터가 유효한 JSON 구문을 사용하는지만 확인하며, 필터의 기능을 검증하거나 테스트하지 않습니다.

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

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

중요

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

복제본 세트 투표에 대한 애플리케이션 복원력을 테스트하는 방법에 대해 자세히 알아보려면 /tutorial/test-resilience/test-primary-failover 를 참조하세요. Atlas가 고가용성을 제공하는 방법에 대해 자세히 알아보려면 Atlas 고가용성을 참조하세요.

사용자 지정 감사 필터를 구성하려면 spec.auditing.auditFilter AtlasProject Custom Resource(사용자 지정 리소스)에서 설정을 지정합니다. 이 설정에 값을 지정하려면 spec.auditing.enabledtrue 로 설정해야 합니다.

예시:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: TestAuditing
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "0.0.0.0/1"
comment: "Everyone has access. For test purposes only."
- cidrBlock: "128.0.0.0/1"
comment: "Everyone has access. For test purposes only."
auditing:
enabled: true
auditFilter: "{"atype": "authenticate"}"
EOF

API 에서 사용할 수 있는 구성 매개변수에 대해 자세히 알아보려면 Atlas 감사를 참조하세요.

← 프로젝트 경고 구성