MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /

외부 컴플라이언스 표준 준수를 위한 기능

다음 Atlas 기능을 사용하여 컴플라이언스 요구 사항을 주소 .

MongoDB Atlas 보안, 컴플라이언스 , 개인정보 보호 요구 사항을 주소 데 도움이 되는 다양한 기능과 구성을 제공합니다.

MongoDB Atlas 데이터 플랫폼은 보안, 개인정보 보호 및 조직 제어를 확인하기 위해 엄격한 독립적인 제3자 감사를 받습니다. Atlas ISO/IEC,27001 SOC2 유형 II, PCI DSS 및 Atlas 보안 센터 에 나열된 컴플라이언스 프레임워크를 준수합니다. 고객 신뢰 포털에서 증명, 컴플라이언스 보고서 및 기타 컴플라이언스 문서를 보고 다운로드 할 수 있습니다.

MongoDB Atlas for Government 는 FedRAMP® Moderate에서 승인한 관리형 멀티 클라우드 개발자 데이터 플랫폼으로,

  • 안전한 관리형 FedRAMP® 인증 전용 환경 사용

  • 미국 정부의 고유한 요구 사항과 임무 지원

  • 레거시 애플리케이션을 현대화하기 위해 필요한 기능 세트와 확장성 제공

Atlas 리소스 정책은 컴플라이언스 요구 사항을 지원하기 위해 보안, 컴플라이언스 및 운영 권장사항에 따라 Atlas 리소스를 구성하고 관리하기 위한 조직 전반의 제어 기능을 제공합니다. 조직 소유자는 클러스터, 네트워크 구성 및 프로젝트 설정과 같은 리소스를 만들거나 수정할 때 사용자 조치에 적용되는 규칙을 정의할 수 있습니다. 조직을 만들 때 회사 표준에 따라 리소스 정책을 설정하는 것이 좋습니다.

Atlas 리소스 정책은 다음과 같은 기능을 통해 컴플라이언스 목표를 지원합니다.

  • 최소 TLS 버전 시행: 모든 Atlas 배포서버에서 최신 TLS 프로토콜 사용을 의무화하여 보안을 강화하고, 보안이 취약한 이전 버전과 관련된 위험을 줄입니다. 이를 통해 전송 중인 모든 데이터에 대한 최신 암호화 표준을 준수할 수 있습니다.

  • 기본값 TLS 암호 사용자 지정: 허용된 특정 TLS 암호 설정을 선택하여 레거시 암호화 방법과 관련된 취약성을 방지하면서 운영 요구 사항에 따라 보안을 최적화합니다. 이를 통해 특정 컴플라이언스 요구 사항을 충족하도록 암호화 프로토콜을 미세 조정할 수 있습니다.

  • VPC 피어링 수정 제한: 기존 VPC 피어링 연결을 통해 안전한 크로스 네트워크 통신을 활성화하면서 구성 변경을 방지합니다. 현재 프로젝트 수준의 피어링은 기존 라우팅 테이블 및 보안 프로토콜과 함께 활성 상태로 유지되므로, 고객은 이러한 일대일 VPC 관계 및 관련 네트워크 제어 메커니즘을 볼 수는 있지만 변경할 수는 없습니다.

  • 비공개 엔드포인트 수정 제한: 읽기 전용 액세스 권한이 있는 기존 비공개 엔드포인트 구성을 통해 안전한 서비스 연결을 유지합니다. 프로젝트 수준 연결은 현재 비공개 IP 주소 체계로 계속 작동하며, 고객은 VPC 내에서 이러한 전용 서비스 연결 지점을 볼 수 있지만 수정할 수는 없습니다.

  • IP 액세스 목록 제어: IP 액세스 목록에 대한 무단 수정을 방지하여 데이터베이스에 대한 일관되고 제어된 네트워크 액세스를 지원합니다. 이는 신중하게 정의된 네트워크 경계를 보존하고 우발적인 구성 변경으로부터 보호하여 데이터베이스 보안을 강화합니다.

  • 클러스터 계층 한도 설정: 개발자가 리소스를 프로비저닝할 때 준수해야 하는 최대 및 최소 클러스터 크기 한도를 설정하여 배포서버 가드레일을 정의합니다. 이 경계 설정 접근 방식은 팀이 조직에서 승인한 매개변수 내에서 적절한 크기의 환경을 배포할 수 있도록 하여 인프라 활용을 최적화하고 모든 프로젝트 워크로드에 일관적인 리소스 할당 정책을 시행합니다.

  • 유지 관리 기간 요구 사항 설정: 모든 프로젝트에 유지 관리 기간 요구 사항을 적용하여 플랫폼 안정성을 향상합니다. 이러한 거버넌스 제어를 통해 조직은 특정 기간을 지정하지 않고 예측 가능한 업데이트 기간을 설정하여 운영 요구 사항에 따라 일관적인 시스템 유지 관리를 지원 수 있습니다.

  • 클라우드 제공자 및 리전 설정: cloud 제공자 설정하고 여러 리전 및 제공자에 클러스터를 분산하여 데이터 상주 요구 사항을 충족하고 고가용성 보장합니다.

  • 와일드카드 IP 주소 사용 차단: IP 액세스 목록이나 방화벽 규칙에 와일드카드 IP 주소를 포함하지 않도록 하여 명시적으로 허용된 IP 주소로만 클러스터에 대한 액세스를 제한합니다. 와일드카드 IP 주소 는 0.0.0.0/0 이며 어디에서나 액세스 할 수 있습니다.

자세한 내용은 Atlas 리소스 정책에서 확인하세요.

다음 리소스 정책 예시를 사용해 AWS에서 클러스터를 생성할 수 있습니다.

{
"name": "Only Allow Clusters on AWS",
"policies": [
{
"body": "forbid ( principal, action == cloud::Action::\"cluster.createEdit\", resource) unless { context.cluster.cloudProviders == [cloud::cloudProvider::\"aws\"] };"
}
]
}

다음 예시는 애플리케이션에서 리소스 정책을 구현하는 데 사용할 수 있는 Terraform 리소스 정책 파일을 생성합니다. 파일은 다음 정책을 시행합니다.

  • 클러스터 수정을 특정 클라우드 공급자로만 제한

  • 와일드카드 IP 주소의 클러스터 접근 금지

  • 최소 및 최대 클러스터 크기 지정

  • 비공개 엔드포인트 수정 방지

resource "mongodbatlas_resource_policy" "restrict_cloud_provider" {
org_id = var.org_id
name = "restrict-cloud-provider"
policies = [
{
body = <<EOF
forbid (
principal,
action == ResourcePolicy::Action::"cluster.modify",
resource
)
unless
{ context.cluster.cloudProviders == [ResourcePolicy::CloudProvider::"<cloud provider name>"] };
EOF
},
]
}
resource "mongodbatlas_resource_policy" "forbid_project_access_anywhere" {
org_id = var.org_id
name = "forbid-project-access-anywhere"
policies = [
{
body = <<EOF
forbid (
principal,
action == ResourcePolicy::Action::"project.ipAccessList.modify",
resource
)
when {context.project.ipAccessList.contains(ip("0.0.0.0/0"))};
EOF
},
]
}
resource "mongodbatlas_resource_policy" "restrict_cluster_size: {
org_id = var.org_id
name = "restrict-cluster-size"
policies = [
{
// restrict cluster size to a minimum of M30 and a maximum of M60
body = <<EOF
forbid (
principal,
action == ResourcePolicy::Action::"cluster.modify",
resource
)
when {
(context.cluster has minGeneralClassInstanceSizeValue && context.cluster.minGeneralClassInstanceSizeValue < 30)
|| (context.cluster has maxGeneralClassInstanceSizeValue && context.cluster.maxGeneralClassInstanceSize > 60)
};
EOF
},
]
}
resource "mongodbatlas_resource_policy" "prevent-modifications-private-endpoints" {
org_id = var.org_id
name = "prevent-modifications-private-endpoints"
policies = [
{
body = <<EOF
forbid (
principal,
action == ResourcePolicy::Action::"privateEndpoint.modify",
resource
)
when {context.project.privateEndpoints == [
\"aws:<VPC_ENDPOINT_ID>",
\"azure:<PRIVATE_ENDPOINT_RESOURCE_ID>:<PRIVATE_ENDPOINT_IP_ADDRESS>",
\"gcp:<GCP_PROJECT_ID>:<VPC_NAME>"
]};
EOF
},
]
}

암호화 구현 데이터 처리의 모든 단계에서 데이터 보안을 강화할 수 있습니다. 암호화는 업계 보안 표준을 컴플라이언스 하기 위한 가장 일반적인 요구 사항 중 하나이며, Atlas 요구 사항을 충족할 수 있는 강력한 암호화 옵션 설정하다 를 제공합니다.

  • 기본적으로 Atlas는 전송 중 데이터를 암호화합니다. Atlas는 데이터베이스에 대한 연결을 암호화하기 위해 TLS/SSL을 요구합니다.

  • 기본값 으로 Atlas cloud 제공자 디스크 암호화 사용하여 모든 미사용 데이터 암호화합니다. Atlas 클라우드 백업 사용하는 경우, Atlas AES-256 암호화 사용하여 Atlas cluster의 S3 버킷에 저장된 모든 데이터를 암호화합니다. 또한 Atlas Amazon Web Services KMS, AKVGCP 사용하여 저장 엔진과 cloud 제공자 백업을 암호화할 수 있도록 지원합니다. 자세한 학습 은 키 관리를 사용한 미사용 데이터 암호화를 참조하세요.

  • Queryable Encryption 사용하면 MongoDB 에 저장된 문서 에서 설정하다 민감한 필드의 암호화됨 데이터에 대한 쿼리를 보호할 수 있습니다. Queryable Encryption 사용하면 사용자가 데이터에 대해 쿼리를 실행 경우에도 민감한 정보가 계속 보호됩니다.

    잘 연구된 비결정적 암호화 체계를 사용하여 보안과 기능 간의 균형을 유지하세요.

    Queryable Encryption 사용하면 다음 작업을 수행할 수 있습니다.

    • 클라이언트 사이드의 민감한 데이터 필드를 암호화합니다.

    • 민감한 데이터 필드를 데이터베이스 클러스터 사이드에 완전히 무작위로 암호화됨 데이터로 저장하고 Atlas 로 실행 .

    • 암호화된 데이터에 대해 표현식 쿼리를 실행합니다.

    MongoDB는 서버가 처리 중인 데이터를 알지 못한 채 이러한 작업을 완료합니다.

    Queryable Encryption 사용하면 민감한 데이터는 전송 중, 미사용 데이터, 사용 중, 로그, 백업 등 수명 주기 전반에 걸쳐 암호화됨 됩니다. 사용자만 암호화 키에 액세스 할 수 있으므로 데이터는 클라이언트 사이드 에서만 해독됩니다.

    다음 메커니즘을 사용하여 Queryable Encryption을 설정할 수 있습니다.

    • 자동 암호화 를 사용하면 필드를 암호화하고 해독하기 위한 명시적인 호출을 추가하지 않고도 암호화됨 읽기 및 쓰기 (write) 작업을 수행할 수 있습니다. 자동 암호화 클라이언트 애플리케이션 작성 프로세스 간소화하므로 대부분의 상황에서 권장됩니다. 자동 암호화 사용하면 MongoDB 읽기 및 쓰기 (write) 작업에서 필드를 자동으로 암호화하고 해독합니다.

    • 명시적 암호화 를 사용하면 MongoDB 드라이버의 암호화 라이브러리를 통해 암호화됨 읽기 및 쓰기 (write) 작업을 수행할 수 있습니다. 이 라이브러리를 사용하여 애플리케이션 전체에서 암호화 로직을 지정해야 합니다. 명시적 암호화 MongoDB 드라이버에 대한 컬렉션을 구성하고 코드를 작성할 때 복잡성이 증가 비용 대신 보안에 대한 세분화된 제어를 제공합니다. 명시적 암호화 사용하면 데이터베이스 에서 수행하는 각 작업에 대해 문서 의 필드를 암호화하는 방법을 지정하고 이 논리를 애플리케이션 전체에 포함할 수 있습니다.

      자세히 알아보려면 명시적 암호화 사용을 참조하세요.

Atlas AWS, AzureGCP에서 110개 이상의 리전을 지원합니다. 이러한 지원 위치의 글로벌 배포를 통해 데이터 현지화 요구 사항을 준수하는 클러스터를 프로비저닝하고 데이터를 저장 수 있습니다. 여러 리전에 걸쳐 Atlas 클러스터를 배포 할 수도 있습니다. 멀티 리전 배포서버 패러다임을 배포 경우 데이터를 분할하여 각각 다른 리전에 위치한 고유한 리전에 상주할 수 있습니다. 예시 를 들어 유럽 고객 데이터를 유럽에 저장 수 있습니다. 이를 통해 데이터 현지화를 유연하게 선택할 수 있고, 해당 리전에서 데이터에 액세스하는 사용자의 지연 시간 줄일 수 있습니다.

백업 스냅샷과 oplog 데이터를 여러 리전에 배포할 수 있습니다. 예를 들어, 서로 다른 지리적 위치에 있는 저장 백업을 충족하여 리전 장애 시 재해 복구를 활성화하거나 데이터 현지화 선택에 따라 백업을 일관되게 유지할 수 있습니다. 자세한 학습은 스냅샷 배포를 참조하세요.

Atlas 에서 백업 컴플라이언스 정책을 사용하여 비즈니스 크리티컬 데이터를 보호할 수 있습니다. 이 기능 Atlas 역할 에 관계없이 모든 사용자가 Atlas 에 저장된 모든 백업 스냅샷과 oplog 데이터를 사전 정의된 보존 기간 동안 수정하거나 삭제하는 것을 방지합니다.

이렇게 하면 백업이 완전히 WORM(Write Once Read Many)과 호환된다는 것을 보장할 수 있습니다. 지정된 권한이 있는 사용자만 MongoDB 지원 의 확인 프로세스 완료한 후에 이 보호 기능을 해제할 수 있습니다. 이렇게 하면 공격자가 백업 정책을 쉽게 변경하고 데이터를 내보낼 수 없도록 필수 수동 지연 및 휴지 기간이 추가됩니다. 자세한 학습은 백업 컴플라이언스 정책 구성을 참조하세요.

돌아가기

데이터 암호화

이 페이지의 내용