Atlas는 Advanced Encryption Standard(AES)-256을 사용하여 미사용 데이터를 암호화합니다. 미사용 데이터 암호화는 항상 활성화되어 있으며 비활성화할 수 없습니다.
Atlas가 사용하는 암호화 계층과 데이터를 보호하는 키는 데이터베이스 에디션과 사용자가 자체 암호화 키를 가져오는지 여부에 따라 달라집니다.
데이터베이스 에디션별 암호화 계층
어떤 Atlas 에디션을 선택하든 데이터는 항상 기본값 암호화됨.
Atlas Core 암호화
Atlas Core의 경우, 사용자의 클라우드 공급자가 클러스터 데이터를 보관하는 저장 볼륨을 암호화합니다. 클라우드 공급자는 이 디스크 암호화를 자동화하고 KMS에서 암호화 키를 관리합니다. 이 기본값 볼륨 수준 디스크 암호화는 별도의 구성이 필요 없으며, 항상 작동하고 비활성화할 수 없습니다. 고객 managed 키를 사용하여 데이터베이스 수준 미사용 데이터 암호화를 활성화하면 또 다른 보안 계층을 추가할 수 있습니다.
고객 관리형 키로 미사용 데이터 암호화를 구성하면 Atlas는 기본값 디스크 암호화 외에 데이터베이스 수준의 암호화를 추가합니다. 고객 managed 키를 구성하는 방법을 학습하려면 고객 키 관리를 사용한 미사용 데이터 암호화를 참조하세요.
Atlas Infinite 암호화
Atlas Infinite를 사용하면 미사용 데이터 암호화가 기본적으로 활성화되며 전체 데이터베이스에 항상 적용됩니다. 클러스터는 공유 저장 계층에서 실행되므로 볼륨 수준에서 미사용 데이터 암호화를 구성하거나 비활성화할 수 없습니다. MongoDB는 각 Atlas 조직에 대해 하나의 고유한 기본값 암호화 키를 managed하고 90 일마다 자동으로 교체합니다. 이 교체는 투명하게 이루어지며 사용자가 별도의 조치를 취할 필요가 없습니다. 키는 고객 간에 공유되지 않습니다. 또한 고객이 managed하는 키를 사용하여 추가 암호화 계층을 적용할 수 있습니다. 고객이 managed하는 키로 미사용 데이터 암호화를 구성하면 Atlas는 기본값 암호화 위에 데이터베이스 수준의 암호화를 추가합니다.
Atlas는 Atlas Infinite 클러스터의 저장 계층에 데이터가 도달하기 전에 컴퓨팅 노드에서 데이터베이스 수준으로 데이터를 암호화합니다.
Atlas Infinite는 봉투 암호화를 사용하여 데이터를 보호합니다. Atlas는 데이터 암호화 키로 데이터를 암호화하고, 키 암호화 키(KEK)로 해당 키를 암호화합니다. MongoDB는 개별 컴퓨팅 노드가 아닌 저장 계층에서 KEK를 managed합니다. 결과적으로 클러스터의 모든 컴퓨팅 노드는 저장 계층에서 수신한 데이터를 복호화할 수 있습니다.
데이터베이스 수준 암호화는 Atlas Core가 사용하는 기본값 볼륨 수준 디스크 암호화와 다릅니다. Atlas Core의 경우 클라우드 공급자가 저장 볼륨을 암호화됨. Atlas Infinite의 경우, Atlas는 컴퓨팅 노드를 벗어나기 전에 데이터를 암호화하고, 암호화된 상태로 데이터를 저장합니다.
MongoDB는 조직마다 별도의 키를 관리하므로 기본값 암호화를 사용하는 클러스터의 경우 Atlas는 조직 간 복원을 지원하지 않으며 동일한 조직 내의 프로젝트 간 복원만 지원합니다.
Atlas Infinite 아키텍처에 대해 자세히 알아보려면 MongoDB Atlas Infinite: 개요를 참조하세요.
고객 managed 키
BYOK(Bring Your Own Key)라고도 하는 고객 managed 키(고객 마스터 키)를 사용하면 암호화 키를 직접 소유하고 제어할 수 있습니다. Atlas Core에서는 다음 키 관리 제공자 중 하나 이상을 사용할 수 있습니다.
Atlas Infinite의 퍼블릭 프리미엄에서 Atlas는 AWS KMS를 통해서만 고객 managed 키를 지원합니다. 퍼블릭 프리미엄 기간에는 Azure Key Vault 및 Google Cloud Platform KMS가 지원되지 않습니다. 또한 고객 managed 키의 경우 프로젝트 간 및 조직 간 복원이 지원되지 않습니다.
고객 managed 키가 유효하지 않게 되면, Atlas가 다음 예정된 KMS 유효성 검사에서 클러스터를 중지합니다. Atlas가 키 구성을 유효성 검사하는 방법을 학습하려면 KMS 구성 유효성 검사를 참조하세요.
고객 키 관리 작동 방식 (Atlas Core)
Atlas의 고객 키 관리는 봉투 암호화라는 프로세스를 따릅니다. 이 프로세스는 하나의 키를 다른 키로 암호화하여 여러 계층의 암호화를 생성합니다. 고객 키 관리를 활성화하기 위해 Atlas는 다음과 같은 암호화 키를 사용합니다.
Customer-Managed Key (CMK)고객 managed 키는 키 관리 제공자에서 생성, 소유 및 관리하는 암호화 키입니다. 키 관리 제공자에서 고객 마스터 키를 생성하고 프로젝트 수준에서 Atlas에 연결합니다. 키 관리 제공자에서 사용되는 고객 마스터 키에 대해 자세히 알아보려면 키 관리 제공자의 설명서를 참조하세요.
Atlas는 이 키를 MongoDB 마스터 키를 암호화하는 데에만 사용합니다.
키 순환
Atlas는 고객 managed 암호화 키를 로테이션할 수 없습니다. 키 로테이션에 대한 지침은 키 관리 제공자의 설명서를 참조하세요. 프로젝트에서 고객 키 관리를 설정하면 Atlas에서 90일 키 로테이션 경고를 생성합니다.
Atlas Core의 경우, Atlas는 고객 managed 키로 암호화된 MongoDB 마스터 키를 교체합니다.
자체 클라우드 공급자 KMS를 사용하는 경우 Atlas는 최소한 90 일마다 MongoDB 마스터 키를 자동으로 교체합니다. 키 순환은 구성된 유지 관리 기간이 있는 경우 이 기간 동안 시작됩니다. 유지 보수를 연기하면 (수동 또는 자동으로) 키가 90일을 지나서 로테이션될 수 있습니다. 키는 롤링 방식으로 로테이션하며 프로세스에서 데이터를 다시 기록할 필요가 없습니다.
Atlas Infinite의 경우, Atlas는 90 일마다 기본값 암호화 키를 자동으로 교체합니다. 교체 시 키의 새 버전이 추가됩니다. 기존 데이터를 암호화한 키 버전은 유효하게 유지되므로 이전에 작성된 데이터는 계속 읽을 수 있습니다.
키 유형 간 마이그레이션(Atlas Infinite)
Atlas Infinite의 경우, 기본값 암호화와 고객 managed 키 사이에서 양방향으로 마이그레이션할 수 있습니다. Atlas Infinite는 마이그레이션을 키 로테이션으로 간주합니다. 마이그레이션 동안 클러스터는 계속 사용 가능합니다. 그리고 이전 키는 마이그레이션이 완료될 때까지 계속 유효합니다.
암호화된 백업(Atlas Core)
Atlas는 모든 스냅샷 볼륨을 암호화합니다. 이렇게 하면 디스크에 있는 클러스터 데이터를 보호할 수 있습니다. 클라우드 제공자의 KMS를 사용하면 다음을 수행할 수 있습니다.
백업을 저장하는 스냅샷 스토리지 볼륨을 암호화합니다.
스냅샷의 데이터 파일을 암호화합니다.
암호화된 스냅샷에 액세스합니다. 자세한 내용은 암호화된 스냅샷 액세스를 참조하세요.
스냅샷을 생성할 당시 활성화된 키를 사용하여 스냅샷을 복원합니다.
PIT 복원 oplog 데이터를 암호화합니다.
유효하지 않게 된 키로 암호화된 스냅샷은 복원할 수 없습니다.
시간마다 백업하는 기본 스냅샷 예정 지정할 수 있습니다.6
참고
암호화됨 스냅샷은 암호화되지 않은 스냅샷과 동일한 방식으로 다운로드 할 수 있습니다. 보안 모범 사례로 프로젝트 의 암호화 키 에 대한 역할 기반 액세스 사용하는 것이 좋습니다.
스냅샷을 다운로드하는 방법을 알아보려면 로컬로 다운로드한 스냅샷에서 복원을 참조하세요.
보존된 보안 제어
모든 Atlas 보안 제어는 Atlas Core와 Atlas Infinite 모두에 적용됩니다. 여기에는 다음이 포함됩니다.
시작하기
키 관리 제공자를 구성하고 고객 키 관리를 활성화하려면 고객 키 관리를 사용한 미사용 데이터 암호화를 참조하세요.
프로젝트의 모든 클러스터와 전용 검색 배포서버에 고객 managed 키를 요구하려면 Atlas 리소스 정책을 참조하세요.