다음 Atlas 기능을 사용하여 컴플라이언스 요구 사항을 주소 .
인증 및 규정 준수
보안, 컴플라이언스 및 개인정보 보호 요구 사항을 주소 도움이 되도록 MongoDB Atlas 최고 수준의 표준 준수 및 규정 컴플라이언스 제공하는 것을 목표로 합니다.
Atlas 데이터 플랫폼은 보안, 개인정보 보호 및 조직 제어를 확인하기 위해 엄격한 독립적인 제3자 감사를 받습니다. 이러한 감사는 플랫폼이 엄격하게 규제되는 산업에 특정한 요건을 포함하여 컴플라이언스 및 규제 요건을 충족하는지 확인하는 데 도움이 됩니다.
Atlas ISO/IEC,27001 SOC2 Type II, PCI DSS 및 Atlas 보안 센터 에 나열된 기타 컴플라이언스 프레임워크를 준수합니다. 고객 신뢰 포털에서증명, 컴플라이언스 보고서 및 기타 컴플라이언스 문서를 보고 다운로드 할 수 있습니다.
미국 정부 기관 위한 MongoDB Atlas
MongoDB Atlas for Government는 FedRAMP® Moderate에서 승인한 최초의 관리형 멀티클라우드 개발자 데이터 플랫폼으로,
안전한 관리형 형 전용 FedRAMP® 인증 환경을 사용합니다.
미국 정부의 고유한 요구 사항과 미션을 지원합니다.
레거시 애플리케이션을 현대화하는 데 필요한 설정하다 의 기능과 확장성 제공합니다.
Atlas 리소스 정책
컴플라이언스 요구 사항을 지원 위해 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 이며 어디에서나 액세스 할 수 있습니다.
다음 리소스 정책 예시 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 리소스 정책 파일 만듭니다. 이 파일 다음 정책을 시행합니다.
클러스터 수정을 지정된 cloud 제공자 로 제한합니다.
와일드카드 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 }, ] }
암호화 (Encryption)
암호화 구현 데이터 처리의 모든 단계에서 데이터 보안 및 컴플라이언스 보장할 수 있습니다. 암호화는 특정 표준의 규정 컴플라이언스 보장하기 위한 가장 일반적인 요구 사항 중 하나이며, Atlas 요구 사항을 충족하기 위해 강력한 암호화 옵션 설정하다 를 제공합니다.
기본값 으로 Atlas 전송 중인 데이터를 암호화합니다. 데이터 개인정보 보호 및 규정 컴플라이언스 보장하기 위해 Atlas 데이터베이스에 대한 연결을 암호화하기위해 TLS/SSL을 요구합니다.
기본값 으로 Atlas cloud 제공자 디스크 암호화 사용하여 모든 미사용 데이터 암호화합니다. Atlas 클라우드 백업 사용하는 경우,Atlas AES- 암호화256 사용하여 Atlas cluster의 S3 버킷에 저장된 모든 데이터를 암호화합니다. 또한 Atlas AWS KMS, AKV 및 GCP 사용하여 저장 엔진과 cloud 제공자 백업을 암호화할 수 있도록 지원합니다. 자세한 학습 은 키 관리를 사용한 미사용 데이터 암호화를 참조하세요.
Queryable Encryption을 사용하여 MongoDB에 저장된 문서의 선택된 민감한 필드에 대한 쿼리를 보호할 수 있습니다. 쿼리 가능한 암호화를 사용하면 사용자가 데이터를 쿼리할 때에도 민감한 정보가 보호됩니다.
잘 연구된 비결정적 암호화 체계를 사용하여 보안과 기능 간의 균형을 유지하세요.
Queryable Encryption 사용하면 다음 작업을 수행할 수 있습니다.
클라이언트 사이드의 민감한 데이터 필드를 암호화합니다.
민감한 데이터 필드를 데이터베이스 클러스터 사이드에 완전히 무작위로 암호화됨 데이터로 저장하고 Atlas 로 실행 .
암호화된 데이터에 대해 표현식 쿼리를 실행합니다.
MongoDB는 서버가 처리 중인 데이터를 알지 못한 채 이러한 작업을 완료합니다.
Queryable Encryption 사용하면 민감한 데이터는 전송 중, 미사용 데이터, 사용 중, 로그, 백업 등 수명 주기 전반에 걸쳐 암호화됨 됩니다. 사용자만 암호화 키에 액세스 할 수 있으므로 데이터는 클라이언트 사이드 에서만 해독됩니다.
다음 메커니즘을 사용하여 Queryable Encryption을 설정할 수 있습니다.
자동 암호화 를 사용하면 필드를 암호화하고 해독하기 위한 명시적인 호출을 추가하지 않고도 암호화됨 읽기 및 쓰기 (write) 작업을 수행할 수 있습니다. 자동 암호화 클라이언트 애플리케이션 작성 프로세스 간소화하므로 대부분의 상황에서 권장됩니다. 자동 암호화 사용하면 MongoDB 읽기 및 쓰기 (write) 작업에서 필드를 자동으로 암호화하고 해독합니다.
명시적 암호화 를 사용하면 MongoDB 드라이버의 암호화 라이브러리를 통해 암호화됨 읽기 및 쓰기 (write) 작업을 수행할 수 있습니다. 이 라이브러리를 사용하여 애플리케이션 전체에서 암호화 로직을 지정해야 합니다. 명시적 암호화 MongoDB 드라이버에 대한 컬렉션을 구성하고 코드를 작성할 때 복잡성이 증가 비용 대신 보안에 대한 세분화된 제어를 제공합니다. 명시적 암호화 사용하면 데이터베이스 에서 수행하는 각 작업에 대해 문서 의 필드를 암호화하는 방법을 지정하고 이 논리를 애플리케이션 전체에 포함할 수 있습니다.
자세히 알아보려면 명시적 암호화 사용을 참조하세요.
Data Sovereignty
Atlas는 AWS, Azure, GCP에서 110개 이상의 리전을 지원합니다. 지원되는 위치가 전 세계적에 분포되어 있어 데이터 주권 및 컴플라이언스 요건을 준수하는 클러스터를 프로비저닝하고 데이터를 저장할 수 있습니다. Atlas를 기반으로 구축되는 모든 애플리케이션에 대한 데이터 주권 요구 사항을 이해해야 올바른 거버넌스를 준수할 수 있습니다.
여러 리전에 Atlas 클러스터를 배포하여 데이터 주권 규정 컴플라이언스 간소화할 수 있습니다.멀티 리전 배포서버 패러다임을 배포 각각 다른 리전 에 위치하도록 데이터를 분할할 수 있습니다. 예시 를 들어 유럽에 유럽 고객 데이터를 저장 하고 미국에 미국 고객 데이터를 저장할 수 있습니다. 이렇게 하면 데이터 주권 규정을 준수하고 사용자가 해당 리전의 데이터에 액세스할 때 지연 시간 줄일 수 있습니다.
백업 스냅샷 배포
여러 리전에 백업 스냅샷과 oplog 데이터를 배포할 수 있습니다. 예를 들어, 컴플라이언스 요건을 충족하기 위해 백업을 서로 다른 지리적 위치에 저장하면 지역적으로 장애가 발생할 때에도 재해 복구를 보장할 수 있습니다. 자세한 내용을 보려면 스냅샷 배포를 참조하세요.
백업 컴플라이언스 정책
Atlas 에서 백업 컴플라이언스 정책을 사용하여 비즈니스 크리티컬 데이터를 보호할 수 있습니다. Atlas 역할 에 관계없이 모든 사용자가 Atlas 에 저장된 모든 백업 스냅샷과 oplog 데이터를 사전 정의된 보존 기간 동안 수정하거나 삭제하지 못하도록 할 수 있습니다.
이를 통해 백업이 WORM(Write Once Read Many) 규격을 완벽하게 보장할 수 있습니다. 지정된 권한이 있는 사용자만 MongoDB 지원 및 법무팀과의 확인 절차를 완료한 후 이 보호 기능을 해제할 수 있습니다. 이렇게 하면 필수 수동 지연 및 쿨다운 기간이 추가되어 공격자가 백업 정책을 변경하고 데이터를 내보낼 수 없습니다. 자세히 알아보려면 백업 컴플라이언스 정책 구성을 참조하세요.