문서 메뉴
문서 홈
/
MongoDB Atlas
/

고객 키 관리를 사용한 미사용 암호화

이 페이지의 내용

  • 필요한 액세스 권한
  • 고객 키 관리로 Atlas 구성
  • Atlas 클러스터에 대한 고객 키 관리 활성화
  • 암호화된 Atlas 에 노드 추가하기
  • KMS 구성 유효성 검사
  • 삭제된 키 복원
  • 암호화된 백업

중요

서버리스 인스턴스에서는 사용할 수 없는 기능입니다.

현재 서버리스 인스턴스는 이와 같은 기능을 지원하지 않습니다. 자세히 보려면 서버리스 인스턴스 제한을참조합니다.

Atlas는 기본적으로 모든 미사용 클러스터 스토리지와 스냅샷 볼륨을 암호화합니다. 클라우드 제공자의 KMS 를 MongoDB 암호화 스토리지 엔진과 함께 사용하여 또 다른 보안 계층을 추가할 수 있습니다.

키 관리를 사용하여 미사용 데이터 암호화를 구성하면 Atlas 프로젝트에 대한 추가 요금이 발생합니다. 자세히 알아보려면 고급 보안을 참조하세요.

Atlas 프로젝트에 대해 미사용 데이터 암호화를 구성할 때 다음 고객 키 관리 제공자 중 하나 이상을 사용할 수 있습니다.

Atlas 프로젝트에 대해 하나 이상의 키 관리 제공자를 구성한 후, 암호화가 필요한 각 Atlas 클러스터에 대해 고객 키 관리를 활성화할 수 있습니다. 키 관리 제공자는 클러스터 클라우드 서비스 제공자와 일치하지 않아도 됩니다.

참고

고객 키 관리를 활성화하거나 비활성화하면 Atlas가 초기 동기화를 수행하여 클러스터 데이터를 다시 암호화합니다.

Atlas는 고객 관리형 암호화 키를 로테이션할 수 없습니다. 키 로테이션에 대한 지침은 키 관리 제공자의 설명서를 참조하세요. 프로젝트에서 고객 키 관리를 설정하면 Atlas에서 90일 키 로테이션 경고를 생성합니다.

KMS 제공자를 사용할 수 없게 되더라도 클러스터가 계속 실행되는 동안에는 클러스터가 비활성화되지 않습니다. 만약 클러스터를 다시 시작하기로 결정한 경우 KMS 제공자가 없으면 클러스터가 비활성화됩니다.

미사용 데이터 암호화를 구성하려면 Atlas에 Organization Owner 또는 Project Owner 액세스 권한이 있어야 합니다.

키 관리를 사용한 미사용 데이터 암호화에는 유효한 키 관리 제공자 자격 증명과 암호화 키가 필요합니다. 이러한 세부 정보를 제공하고 고객 키 관리를 활성화하려면 다음을 따릅니다:

1
  1. 이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 이미 표시되어 있지 않은 경우 Projects 탐색 모음의 프로젝트 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 사이드바에서 Advanced를 클릭합니다.

2
3
4
5

중요

현재로서는 인바운드 Atlas 제어 영역 IP 주소를 아직 사용할 수 없습니다. API 응답의 인바운드 IP 주소 목록이 비어 있습니다.

인바운드 Atlas 제어 영역 IP 주소 목록을 수동으로 조회하려면 필수 인바운드 액세스를 참조하세요.

키 관리 서비스 구성에 따라 프로젝트에 미사용 데이터 암호화를 활성화하기 위해 Atlas 컨트롤 플레인 IP 주소를 추가해야 할 수 있습니다. 이렇게 하면 Atlas가 KMS와 통신할 수 있습니다. Atlas와 KMS 간의 통신을 활성화하려면 다음을 수행합니다.

  1. returnAllControlPlaneIPAddresses 엔드포인트에 GET 요청을 보냅니다. API 엔드포인트 는 다음과 같이 클라우드 제공자 및 리전별로 분류된 CIDR의 인바운드 및 아웃바운드 Atlas 컨트롤 플레인 IP 주소 목록을 반환합니다.

    {
    "controlPlane": {
    "inbound": {
    "aws": { // cloud provider
    "us-east-1": [ // region
    "3.92.113.229/32",
    "3.208.110.31/32",
    "107.22.44.69/32"
    ...,
    ],
    ...
    }
    },
    "outbound": {
    "aws": { // cloud provider
    "us-east-1": [ // region
    "3.92.113.229/32",
    "3.208.110.31/32",
    "107.22.44.69/32"
    ...,
    ],
    ...
    }
    }
    },
    "data_federation": {
    "inbound": {},
    "outbound" {}
    },
    "app_services": {
    "inbound": {},
    "outbound" {}
    },
    ...
    }
  2. 반환된 IP 주소를 클라우드 제공자의 IP 액세스 목록에 추가합니다. 자세한 내용은 AWS, Azure 및 GCP를 사용하여 고객 키를 관리하기 위한 필수 구성 요소를 참조하세요.

고객 키 관리를 사용하여 Atlas 를 구성한 후에는 암호화하려는 데이터가 포함된 각 Atlas cluster에 대해 고객 키 관리를 활성화해야 합니다.

참고

해당 프로젝트의 클러스터에 대한 고객 키 관리를 사용하려면 Project Owner 역할이 있어야 합니다.

새 클러스터의 경우:

1

cluster 구성 양식에서 Manage your own encryption keys 설정을 Yes로 전환합니다.

2
  1. Review Changes를 클릭합니다.

  2. 변경 사항을 검토한 다음 Apply Changes을(를) 클릭하여 클러스터를 배포합니다.

3

키 관리 구성에 따라 Atlas cluster 노드 IP 주소를 클라우드 제공자 KMS 액세스 목록에 추가해야 할 수도 있습니다. 이렇게 하면 클러스터가 KMS와 통신할 수 있습니다.클러스터와 KMS 간의 통신을 활성화하려면 다음을 수행합니다.

  1. ipAddresses 엔드포인트에 GET 요청을 보냅니다. API 엔드포인트 는 다음과 같이 새 클러스터 노드의 IP 주소 목록을 반환합니다.

    {
    "groupId": "xxx", // ObjectId
    "services": {
    "clusters": [
    {
    "clusterName": "Cluster0",
    "inbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ],
    "outbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ]
    }
    ]
    }
    }
  2. 반환된 IP 주소를 클라우드 제공자의 IP 액세스 목록에 추가합니다. 프로비저닝 계획이 롤백되기 전에 IP 액세스 목록을 수정해야 합니다.프로비저닝 계획이 IP 액세스 제한에서 롤백하기 전에 클러스터는 최대 3일 동안 프로비저닝을 시도합니다.

    자세한 내용은 AWS, AzureGCP를 사용하여 고객 키를 관리하기 위한 필수 구성 요소를 참조하세요.

    참고

    IP 액세스 목록을 업데이트하는 데 시간이 더 필요하다면 다음 방법을 활용할 수 있습니다:

    • IP 액세스 목록을 업데이트한 후 미사용 데이터 암호화 없이 클러스터를 프로비저닝한 다음 활성화합니다.

    • 클라우드 제공자의 키 관리 서비스에서 더욱 포괄적인 IP 액세스 목록을 구성하고, 미사용 데이터 암호화를 사용하여 클러스터를 시작한 다음, IP 액세스 목록을 수정합니다.

기존 클러스터의 경우:

1
  1. 이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 이미 표시되어 있지 않은 경우 Projects 탐색 모음의 프로젝트 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.

2

키 관리 서비스 구성에 따라 클러스터가 KMS와 통신할 수 있도록 Atlas 클러스터 노드 IP 주소를 클라우드 제공자 KMS 목록에 추가해야 할 수도 있습니다. 클러스터와 KMS 간의 통신을 활성화하려면 다음을 수행합니다.

  1. ipAddresses 엔드포인트에 GET 요청을 보냅니다. API 엔드포인트 는 다음과 같이 기존 클러스터 노드의 IP 주소 목록을 반환합니다.

    {
    "groupId": "xxx", // ObjectId
    "services": {
    "clusters": [
    {
    "clusterName": "Cluster0",
    "inbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ],
    "outbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ]
    }
    ]
    }
    }
  2. 반환된 IP 주소를 클라우드 제공자의 IP 액세스 목록에 추가합니다. 자세한 내용은 AWS, Azure 및 GCP를 사용하여 고객 키를 관리하기 위한 필수 구성 요소를 참조하세요.

3

암호화하려는 데이터가 포함된 클러스터의 경우 줄임표 ...를 클릭한 다음 Edit Configuration 선택합니다.

4
  1. Additional Settings 패널을 펼칩니다.

  2. 0} 설정을 Manage your own encryption keysYes 전환합니다.

5
  1. Review Changes를 클릭합니다.

  2. 변경 사항을 검토한 다음 Apply Changes을 클릭하여 클러스터를 업데이트합니다.

1

M10+ cluster에 투표 선택 가능 노드를 추가하거나 샤드 클러스터의 샤드 수를 늘릴 수 있습니다.

2

키 관리 구성에 따라 Atlas cluster 노드 IP 주소를 클라우드 제공자 KMS 액세스 목록에 추가해야 할 수도 있습니다. 이렇게 하면 클러스터가 KMS와 통신할 수 있습니다.클러스터와 KMS 간의 통신을 활성화하려면 다음을 수행합니다.

  1. ipAddresses 엔드포인트에 GET 요청을 보냅니다. API 엔드포인트 는 다음과 같이 새 클러스터 노드 또는 샤드의 IP 주소 목록을 반환합니다.

    {
    "groupId": "xxx", // ObjectId
    "services": {
    "clusters": [
    {
    "clusterName": "Cluster0",
    "inbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ], // List<String>
    "outbound": [
    "3.92.113.229",
    "3.208.110.31",
    "107.22.44.69"
    ]
    }
    ]
    }
    }
  2. 반환된 IP 주소를 클라우드 제공자의 IP 액세스 목록에 추가합니다. 프로비저닝 계획이 롤백되기 전에 IP 액세스 목록을 수정해야 합니다.프로비저닝 계획이 IP 액세스 제한에서 롤백하기 전에 클러스터는 최대 3일 동안 프로비저닝을 시도합니다.

    자세한 내용은 AWS, AzureGCP를 사용하여 고객 키를 관리하기 위한 필수 구성 요소를 참조하세요.

Atlas는 KMS 구성을 검증합니다.

Atlas는 다음 조건 중 하나가 존재하는 경우 예정된 다음 유효성 검사에서 mongodmongos 프로세스를 모두 종료합니다.

  • 키 관리 공급자 자격 증명이 유효하지 않게 된 경우

  • 누군가 암호화 키를 삭제하거나 비활성화한 경우

Atlas가 키 관리 제공자에 연결할 수 없는 경우 Atlas는 프로세스를 종료하지 않습니다. Encryption at Rest KMS network access denied 경고는 KMS 네트워크 액세스 실패를 알릴 수 있도록 모든 새 프로젝트에 대해 기본적으로 활성화됩니다. 경고 설정을 구성할 수 있습니다.

Atlas가 클러스터를 종료하면 다음과 같은 이벤트가 발생합니다:

  • Atlas는 영향을 받는 모든 클러스터를 나열하는 Project Owner에 이메일을 전송합니다.

  • Clusters 페이지에는 유효하지 않은 미사용 데이터 암호화 설정으로 인해 Atlas가 클러스터를 비활성화했다는 내용이 반영되어 있습니다.

비활성화된 클러스터에서는 데이터를 읽거나 쓸 수 없습니다. 디스크 및 인스턴스 크기 변경과 같이 비활성화된 클러스터에 대한 업데이트를 제출할 수 있습니다. 누군가 사용자의 암호화 키를 복원하면 Atlas는 이러한 변경 사항을 프로세스합니다. Atlas는 계속해서 유지 관리를 수행하고 보안 패치를 적용합니다. 비활성화된 클러스터는 모든 데이터를 유지하므로 계속해서 비용이 발생합니다.

참고

가상 머신 전원

클러스터가 비활성화되어 있는 동안 Atlas는 클러스터가 실행 중인 VM(가상 머신)을 중지하지 않습니다. Atlas는 서버를 재부팅하는 패치를 수행할 수 있지만 VM 전원은 재시작되지 않습니다.

데이터에 다시 액세스하려면 다음을 수행하세요.

Atlas Advanced Security 설정의 고객 마스터 키 ID 필드 오른쪽에 Try Again(다시 시도) 버튼이 있습니다.
클릭하여 확대

구성을 업데이트한 후 Try Again을 클릭하여 이를 검증합니다. 그렇지 않은 경우 Atlas는 예정된 다음 검사에서 유효성을 검사합니다. Atlas가 구성이 유효하다고 판단하면 이후 모든 mongodmongos 프로세스가 다시 시작됩니다.

경고

키가 삭제된 경우 해당 키를 복원하여 클러스터에 다시 액세스할 수 있습니다. 유효한 키가 없으면 고객 키 관리를 사용하여 키를 변경하거나 저장 시 암호화를 비활성화할 수 없습니다.

삭제된 키를 복원하려면 키 관리 제공자의 설명서를 참조하세요.

Atlas는 모든 스냅샷 볼륨을 암호화합니다. 이렇게 하면 디스크에 있는 클러스터 데이터를 보호할 수 있습니다. 클라우드 제공자의 KMS를 사용하여 다음을 수행할 수 있습니다.

  • 백업을 저장하는 스냅샷 스토리지 볼륨을 암호화합니다.

  • 스냅샷의 데이터 파일을 암호화합니다.

  • 스냅샷을 생성할 당시 활성화된 키를 사용하여 스냅샷을 복원합니다.

  • PIT 복원 oplog 데이터를 암호화합니다.

유효하지 않은 키로 암호화된 스냅샷은 복원할 수 없습니다.

관리자가 관리하는 키로 암호화된 클러스터에서는 레거시 백업(사용 중단됨)을 사용 설정할 수 없습니다. 6시간마다 백업하는 기본 스냅샷 일정지정할 수 있습니다 .

고객 키 관리 및 클라우드 백업에 대해 자세히 알아보려면 스토리지 엔진 및 클라우드 백업 암호화미사용 데이터 암호화를 사용하여 스냅샷에서 복원을 참조하세요.

← 자체 관리형 X.509 인증 설정하기