AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

Google Cloud KMS로 고객 키 관리하기

참고

다음 배포에서는 이 기능 사용할 수 없습니다.

  • 무료 클러스터

  • Flex 클러스터

자세한 학습 제한 사항을 참조하세요.

GCP KMS 의 고객 관리형 키(CMK)를 사용하여 Atlas 에 있는 미사용 데이터를 추가로 암호화할 수 있습니다.

참고

The MongoDB Atlas Shared Responsibility Model defines the complementary duties of MongoDB and its customers in maintaining a secure and resilient data environment. Under this framework, MongoDB manages the security and operational integrity of the underlying platform, while customers are responsible for the configuration, management, and data policies of their specific deployments. For a detailed breakdown of ownership across security and operational excellence, see Shared Responsibility Model.

Atlas uses your CMK from Google Cloud KMS to encrypt and decrypt MongoDB Master Keys, which are then used to encrypt cluster database files and cloud providers snapshots. To learn more about how Atlas uses CMKs for encryption, see Enable Customer-Managed Keys with Google Cloud KMS.

자체 클라우드 공급자 KMS를 사용하는 경우 Atlas는 최소한 90 일마다 MongoDB 마스터 키를 자동으로 교체합니다. 키 순환은 구성된 유지 관리 기간이 있는 경우 이 기간 동안 시작됩니다. 유지 보수를 연기하면 (수동 또는 자동으로) 키가 90일을 지나서 로테이션될 수 있습니다. 키는 롤링 방식으로 로테이션하며 프로세스에서 데이터를 다시 기록할 필요가 없습니다.

참고

Atlas Infinite

Google Cloud KMS isn't available for Atlas Infinite during public preview. Atlas Infinite supports customer-managed keys only through AWS KMS during public preview. To learn how encryption at rest works for Atlas Infinite, see Atlas Infinite Encryption.

Atlas 프로젝트의 클러스터에서 활성화하기 전에 해당 프로젝트에 대한 고객 키 관리를 구성해야 합니다.

Atlas의 고객 키 관리는 봉투 암호화라는 프로세스를 따릅니다. 이 프로세스는 하나의 키를 다른 키로 암호화하여 여러 계층의 암호화를 생성합니다. 고객 키 관리를 활성화하기 위해 Atlas는 다음과 같은 암호화 키를 사용합니다.

Customer-Managed Key (CMK)

Customer-managed keys are encryption keys that you create, own, and manage in Google Cloud KMS. You create the CMK in Google Cloud KMS and connect it to Atlas at the Project level. To learn more about the CMKs used in Google Cloud KMS, see Google Cloud Documentation.

Atlas는 이 키를 MongoDB 마스터 키를 암호화하는 데에만 사용합니다.

MongoDB Master Key

Atlas cluster 의 각 노드 는 MongoDB 마스터 키를 생성합니다. MongoDB 마스터 키는 MongoDB Server 가 데이터베이스별 암호화 키를 암호화하는 데 사용하는 암호화 키입니다. Atlas 는 암호화됨 키 사본을 로컬에 저장합니다.

이 키는 CMK로 암호화되며 데이터베이스별 암호화 키를 암호화합니다.

Per-Database Encryption Key

또한 Atlas 클러스터의 각 노드는 클러스터의 데이터베이스별로 암호화 키를 생성합니다. Atlas는 이러한 키를 사용하여 이러한 키를 암호화하고 저장하는 WiredTiger를 통해 데이터를 읽고 씁니다.

이 키는 MongoDB Master Key로 암호화됩니다.

3노드 복제본 세트에 대한 다음 암호화 계층 구조를 가정해 보겠습니다. Atlas 는 GCP 의 CMK 를 사용하여 KMS MongoDB 클러스터의 각 노드에 대해 고유한 마스터 키를 암호화합니다. 또한 각 노드에는 세 개의 데이터베이스가 포함되어 있으며, 각 데이터베이스는 고유한 데이터베이스별 암호화 키로 암호화됩니다. 클러스터가 시작되면Atlas 는 MongoDB GCP 의 CMK 를 사용하여 마스터 키를 KMS 해독하고 이를 에 MongoDB Server 제공합니다.

참고

고객 마스터 키의 Atlas의 액세스 권한을 취소하면 Atlas는 클러스터의 노드를 종료하며 고객 마스터 키의 액세스 권한을 복원할 때까지 데이터에 액세스할 수 없습니다.

GCP KMS 및 Atlas를 사용한 CMK 워크플로 다이어그램

고객 키 관리를 구성하려면 프로젝트에 대한 Project Owner 액세스 권한이 있어야 합니다.

2} 액세스 권한이 있는 사용자는 프로젝트에 자신을 으로 추가해야 Organization Owner Project Owner 합니다.

MongoDB 프로젝트에 대해 Google Cloud KMS에서 고객 관리형 키를 활성화하려면 다음이 필요합니다:

  • M10 이상의 클러스터를 사용해야 합니다.
  • Google Cloud 서비스 계정 키.

  • Google Cloud KMS의 대칭 암호화 키.

  • Google Cloud KMS 암호화 키와 연결된 키 버전 리소스 ID.

  • 서비스 계정 키에 지정된 자격 증명이 있는 Google Cloud 서비스 계정으로서 다음을 수행할 수 있는 충분한 권한이 있어야 합니다.

    • Google Cloud KMS 암호화 키 버전을 가져옵니다.

    • Google Cloud KMS 암호화 키 버전으로 데이터를 암호화합니다.

    • Google Cloud KMS 암호화 키로 데이터를 해독합니다.

    참고

    키 버전이 아닌 키가 암호 해독을 처리합니다.

  • Google Cloud KMS 구성에 필요한 경우, Atlas가 KMS 와 통신할 수 있도록 클러스터 노드의 Atlas IP 주소 및 공용 IP 주소 또는 DNS 호스트 이름에 대해 GCP의 액세스 수준 을 생성합니다. 노드 IP 주소가 변경되면 연결이 중단되지 않도록 구성을 업데이트해야 합니다.

프로젝트의 클러스터에서 먼저 고객 키 관리를 활성화해야 해당 프로젝트의 클러스터에서 고객 키 관리를 활성화할 수 있습니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.

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

    고급 페이지가 표시됩니다.

2
3
4

미사용 데이터 암호화하는 데 사용할 Google Cloud Platform KMS 키의 키 버전 리소스 ID 입력합니다.

키 버전 리소스 IDCryptoKeyVersion의 정규화된 리소스 이름입니다.

중요

인증 방법을 구성하려면 먼저 유효한 ID 입력해야 합니다.

5

Atlas GCP KMS 에 대해 두 가지 인증 방법을 지원합니다.

  • 서비스 계정(권장): 프로젝트 별로 Atlas 관리형 서비스 계정을 사용하여 GCP 에 인증합니다.

  • 정적 자격 증명: 고객이 관리하는 서비스 계정 키를 제공합니다.

Atlas 안전한 방식으로 액세스 부여하기 위해 Atlas 프로젝트 와 관련된 서비스 계정을 사용하여 GCP 에 인증합니다. 그런 다음 서비스 계정에 정책을 할당하여 프로젝트의 리소스에 대한 액세스 제어할 수 있습니다.

참고

이전에 정적 자격 증명 사용하여 미사용 데이터 암호화 구성했다가 이제 서비스 계정 기반 인증 으로 마이그레이션하려는 경우, 이 마이그레이션 단방향으로만 진행된다는 점에 유의하세요. Atlas 정적 자격 증명 인증 방법으로 되돌리기를 지원 하지 않습니다.

필수 권한이 이미 구성된 기존 Atlas GCP 서비스 계정이 있는 경우 Connect Service Account 드롭다운 메뉴에서 선택합니다. 그렇지 않으면 다음 단계를 완료하세요.

  1. Authorize a new service account을(를) 클릭합니다. Encrypt Data with GCP KMS 대화 상자가 나타납니다.

  2. Atlas 프로젝트에 대한 서비스 계정을 아직 설정하지 않은 경우 Set Up 버튼을 클릭하여 GCP 리소스를 생성하세요. Atlas는 GCP 폴더를 프로비저닝하고 서비스 계정을 생성합니다. 서비스 계정을 생성하려면 폴더가 필요합니다. Atlas 프로젝트에 대한 서비스 계정이 이미 있는 경우 이 단계를 건너뜁니다.

  3. 드롭다운 메뉴에서 Atlas 서비스 계정을 선택하거나 새 계정을 만듭니다.

  4. 표시되는 gcloud 명령을 실행하여 서비스 계정에 다음과 같은 필수 권한을 부여합니다.

    • Enable Encrypt/Decrypt operations

      gcloud kms keys add-iam-policy-binding \
      <key-name> \
      --location <location> \
      --keyring <keyring-name> \
      --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \
      --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"
    • Enable GetPublicKey operations

      gcloud kms keys add-iam-policy-binding \
      <key-name> \
      --location <location> \
      --keyring <keyring-name> \
      --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \
      --role="roles/cloudkms.viewer"
  5. Validate & Finish을(를) 클릭하여 확인합니다.

6

After you Enable Customer-Managed Keys for a Project, you must enable customer key management for each Atlas cluster that contains data that you want to encrypt.

참고

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

새 클러스터의 경우, 클러스터를 만들 때 자체 암호화 키 관리 설정을 Yes로 전환합니다.

기존 클러스터의 경우:

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

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 사이드바에서 Database 제목 아래의 Clusters를 클릭합니다.

Clusters(클러스터) 페이지가 표시됩니다.

2

암호화하려는 데이터를 포함하는 클러스터에 대해 을 클릭한 다음 Edit Configuration을 선택합니다.

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

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

  3. 클러스터의 Require Private Networking 설정 상태를 확인합니다.

    프로젝트 수준에서 CMK를 사용한 데이터 암호화(비공개 네트워킹 사용)를 Atlas에 대해 구성한 경우 상태는 Active입니다. 프로젝트에 대해 비공개 엔드포인트 연결을 구성하지 않은 경우 상태는 Inactive입니다.

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

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

Atlas automatically creates an encryption key rotation alert once you configure customer key management for a project. You can reset this alert at any time by rotating your GCP Key Version Resource ID.

참고

다음 배포에서는 이 기능 사용할 수 없습니다.

  • 무료 클러스터

  • Flex 클러스터

자세한 학습 제한 사항을 참조하세요.

자체 클라우드 공급자 KMS를 사용하는 경우 Atlas는 최소한 90 일마다 MongoDB 마스터 키를 자동으로 교체합니다. 키 순환은 구성된 유지 관리 기간이 있는 경우 이 기간 동안 시작됩니다. 유지 보수를 연기하면 (수동 또는 자동으로) 키가 90일을 지나서 로테이션될 수 있습니다. 키는 롤링 방식으로 로테이션하며 프로세스에서 데이터를 다시 기록할 필요가 없습니다.

Atlas는 Google Cloud 키 관리에 사용되는 키 버전 리소스 ID를 자동으로 교체하지 않습니다.

As a best practice, Atlas creates an alert to remind you to rotate your GCP Key Version Resource ID every 90 days by default when you enable Encryption at Rest for the Atlas project. You can configure the time period of this alert.

You can rotate your Google Cloud CMK yourself or configure your Google Cloud KMS instance to automatically rotate your CMK. If you configure automatic Google Cloud CMK rotation, the default time period for rotation is approximately 365 days.

Google Cloud에서 이미 자동 고객 마스터 키 교체를 설정했고 90 일마다 고객 마스터 키를 교체하라는 Atlas 경고를 수신하지 않으려는 경우 기본값 경고 기간을 365 일 이상으로 수정 할 수 있습니다.

Atlas 프로젝트와 연결된 Google Cloud 계정에서 새 서비스 계정 키를 만들어야 합니다.

다음 절차에서는 Atlas에서 새 키 버전 리소스 ID를 지정해 Atlas 프로젝트 키 식별자를 교체하는 방법을 설명합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.

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

    고급 페이지가 표시됩니다.

2
3
  1. Google Cloud KMS 탭이 아직 활성화되지 않은 경우 Google Cloud KMS를 클릭합니다.

  2. Encryption Key Credentials 대화 상자가 아직 표시되지 않은 경우 Encryption Key Credentials를 확장합니다.

  3. Key Identifier 항목에 GCP 키 버전 리소스 ID를 입력합니다.

    CryptoKeyVersion에 대한 정규화된 리소스 이름을 포함합니다.

    예시

    projects/my-project-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1

    암호화 키는 Atlas 프로젝트에 대해 구성된 Google Cloud 서비스 계정 키에 반드시 속해야 합니다. 프로젝트에 대해 현재 구성된 서비스 계정 키를 보려면 Service Account Key 섹션을 클릭하세요.

  4. Update Credentials를 클릭합니다.

키 식별자 교체 프로세스 중에는 Atlas 콘솔에 배너가 표시됩니다.

경고

변경 사항이 배포될 때까지 원래 키 버전 리소스 ID를 삭제하거나 비활성화하지 마세요.

클러스터에서 클러스터 백업을 사용하는 경우 해당 키가 암호화에 사용된 스냅샷이 없음을 확인할 때까지 원래 키 버전 리소스 ID를 삭제하거나 비활성화하지 않도록 합니다.

이 절차가 완료되면 Atlas에서 encryption key rotation alert 타이머를 재설정합니다.

By default, MongoDB and search processes run on the same nodes. With this architecture, customer-managed encryption applies to your database data, but it does not apply to search indexes.

전용 검색 노드를 활성화 하면 검색 프로세스가 별도의 노드에서 실행 . 이를 통해 검색 노드 데이터 암호화를 활성화 할 수 있으므로 동일한 고객 관리 키로 데이터베이스 데이터와 검색 인덱스를 모두 암호화하여 포괄적인 암호화 적용 범위를 확보할 수 있습니다.

공개 미리 보기 기간 동안에는 Atlas Infinite 클러스터 클러스터에서 전용 검색 노드가 지원되지 않습니다.

참고

Database nodes and Search Nodes use different encryption methods with the same customer-managed keys. Database nodes use the WiredTiger Encrypted Storage Engine, while Search Nodes use encryption at the disk level.

중요

이 기능은 KMS 제공자 전반에서 사용할 수 있습니다.