다음을 통해 공유


Azure DocumentDB의 데이터 암호화

Azure DocumentDB에서 관리하는 모든 데이터는 항상 미사용 시 암호화됩니다. 해당 데이터에는 모든 시스템 및 사용자 데이터베이스, 임시 파일, 로그 및 백업이 포함됩니다.

SMK(서비스 관리형 키) 또는 CMK(고객 관리형 키)를 사용한 미사용 암호화

Azure DocumentDB는 미사용 데이터 암호화의 두 가지 모드 인 SMK(서비스 관리형 키)CMK(고객 관리형 키)를 지원합니다. 서비스 관리형 키를 사용한 데이터 암호화는 Azure DocumentDB의 기본 모드입니다. 이 모드에서 서비스는 데이터를 암호화하는 데 사용되는 암호화 키를 자동으로 관리합니다. 이 모드에서는 암호화를 사용하거나 관리하기 위해 아무 작업도 수행할 필요가 없습니다.

고객 관리형 키 모드에서는 사용자 고유의 암호화 키를 가져와 데이터를 암호화할 수 있습니다. 고객 관리형 키를 지정하는 경우 해당 키는 데이터를 암호화하는 키에 대한 액세스를 보호하고 제어하는 데 사용됩니다. 고객 관리형 키는 액세스 제어를 보다 유연하게 관리할 수 있습니다. 사용자 고유의 Azure Key Vault를 배포하고 Azure DocumentDB 클러스터에서 사용하는 암호화 키를 저장하도록 구성해야 합니다.

구성 모드는 클러스터 만들기 시에만 선택할 수 있습니다. 클러스터의 수명 동안 한 모드에서 다른 모드로 변경할 수 없습니다.

데이터 암호화를 달성하기 위해 Azure DocumentDB는 미사용 데이터에 대해 Azure Storage의 서버 쪽 암호화를 사용합니다. CMK를 사용하는 경우 Azure Storage 서비스에서 데이터를 암호화하고 암호 해독하기 위한 키를 제공해야 합니다. 이러한 키는 Azure Key Vault에 저장되어야 합니다.

각 모드에서 제공하는 이점(SMK 또는 CMK)

Azure DocumentDB에 대한 서비스 관리형 키를 사용한 데이터 암호화는 다음과 같은 이점을 제공합니다.

  • 서비스는 데이터 액세스를 자동으로 완전히 제어합니다.
  • 이 서비스는 키 회전을 포함하여 키의 수명 주기를 자동으로 완전히 제어합니다.
  • 데이터 암호화 키 관리에 대해 걱정할 필요가 없습니다.
  • 서비스 관리 키를 기반으로 하는 데이터 암호화는 워크로드의 성능에 부정적인 영향을 주지 않습니다.
  • 암호화 키 관리(일반 회전 포함)와 해당 키에 액세스하는 데 사용되는 ID 관리를 간소화합니다.

Azure DocumentDB에 대한 고객 관리형 키를 사용한 데이터 암호화는 다음과 같은 이점을 제공합니다.

  • 데이터 액세스를 완전히 제어할 수 있습니다. 키를 철회하여 데이터베이스에 액세스할 수 없게 만들 수 있습니다.
  • 회사 정책에 맞춰 키의 수명 주기를 완벽하게 제어할 수 있습니다.
  • Azure Key Vault의 자체 인스턴스에서 모든 암호화 키를 중앙에서 관리하고 구성할 수 있습니다.
  • 고객 관리형 키를 기반으로 하는 데이터 암호화는 워크로드 성능에 부정적인 영향을 주지 않습니다.
  • 보안 책임자, 데이터베이스 관리자 및 시스템 관리자 간에 업무 분리를 구현할 수 있습니다.

CMK 요구 사항

고객 관리 암호화 키를 사용하면 CMK가 작동하는 데 필요한 올바르게 구성된 구성 요소를 유지 관리하는 모든 책임을 맡을 수 있습니다. 따라서 Azure Key Vault를 직접 배포하고 사용자가 할당한 관리 ID를 제공해야 합니다. 사용자 고유의 키를 생성하거나 가져와야 합니다. Azure DocumentDB가 키에 필요한 작업을 수행할 수 있도록 Key Vault에 필요한 권한을 부여해야 합니다. Azure DocumentDB 인스턴스가 키에 액세스할 수 있도록 키가 유지되는 Azure Key Vault의 모든 네트워킹 측면을 구성해야 합니다. 키에 대한 액세스 감사도 사용자의 책임입니다.

Azure DocumentDB for MonogDB 클러스터에 대한 고객 관리형 키를 구성하는 경우 Azure Storage는 계정에 대한 루트 DEK(데이터 암호화 키)를 연결된 키 자격 증명 모음의 고객 관리형 키로 래핑합니다. 루트 암호화 키의 보호는 변경되지만 Azure Storage 계정의 데이터는 항상 암호화된 상태로 유지됩니다. 데이터가 암호화된 상태로 유지되도록 하기 위해 추가 작업이 필요하지 않습니다. 고객 관리형 키에 의한 보호는 즉시 적용됩니다.

Azure Key Vault는 클라우드 기반 외부 키 관리 시스템입니다. 가용성이 높고 RSA 암호화 키를 위한 확장 가능하고 안전한 스토리지를 제공합니다. 저장된 키에 대한 직접 액세스를 허용하지 않지만 권한 있는 엔터티에 암호화 및 암호 해독 서비스를 제공합니다. Key Vault는 키를 생성하거나, 가져오거나, 온-프레미스 HSM 디바이스에서 전송된 키를 받을 수 있습니다.

다음은 Azure DocumentDB에 대한 데이터 암호화 구성에 대한 요구 사항 및 권장 사항 목록입니다.

키 보관소

CMK 설정에 사용되는 키 자격 증명 모음은 다음 요구 사항을 충족해야 합니다.

  • Key Vault 및 Azure DocumentDB는 동일한 Microsoft Entra 테넌트에 속해야 합니다.
  • 권장 사항: Key Vault에 대한 삭제된 자격 증명 모음 보존 기간 설정을 90일로 설정합니다. 이 구성 설정은 키 자격 증명 모음을 만드는 시점에만 정의할 수 있습니다. 인스턴스가 만들어지면 이 설정을 수정할 수 없습니다.
  • 키 또는 키 자격 증명 모음 인스턴스가 실수로 삭제된 경우 데이터 손실을 방지하려면 키 자격 증명 모음에서 soft-delete 기능을 사용하도록 설정합니다. 키 자격 증명 모음은 사용자가 그 동안 리소스를 복구하거나 제거하지 않는 한 일시 삭제된 리소스를 90일 동안 보존합니다. 복구 및 제거 작업에는 키 자격 증명 모음, RBAC(역할 기반 액세스 제어) 역할 또는 액세스 정책 권한과 연결된 고유한 권한이 있습니다. 일시 삭제 기능은 기본적으로 켜져 있습니다. 오래 전에 배포된 키 자격 증명 모음이 있는 경우 일시 삭제가 여전히 사용하지 않도록 설정되어 있을 수 있습니다. 그런 경우에 수 있습니다.
  • 제거 방지를 사용 설정하여 삭제된 자격 증명 모음 및 자격 증명 모음 개체에 필수 보존 기간 적용
  • 클러스터가 키 자격 증명 모음의 암호화 키에 액세스할 수 있도록 네트워킹 액세스를 구성합니다. 다음 구성 옵션 중 하나를 사용합니다.
    • 모든 네트워크에서 공용 액세스 허용을 선택하면 인터넷의 모든 호스트가 키 자격 증명 모음에 액세스할 수 있습니다.
    • 모든 공용 액세스를 사용하지 않도록 설정하고 클러스터가 키 자격 증명 모음에 액세스할 수 있도록 하려면 공용 액세스 사용 안 함신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용을 선택합니다.

암호화 키

CMK 구성을 위해 선택한 암호화 키는 다음 요구 사항을 충족해야 합니다.

  • 데이터 암호화 키를 암호화하는 데 사용되는 키는 비대칭, RSA 또는 RSA-HSM일 수 있습니다. 키 크기로는 2,048, 3,072 및 4,096을 지원합니다.
    • 권장 사항: 보안을 강화하려면 4,096비트 키를 사용합니다.
  • 키 활성화 날짜 및 시간(설정된 경우)은 과거여야 합니다. 만료 날짜 및 시간(설정된 경우)은 미래여야 합니다.
  • 키는 사용 상태여야 합니다.
  • 기존 키를 Azure Key Vault로 가져오는 경우 지원되는 파일 형식(.pfx, .byok 또는 .backup)으로 제공합니다.

Permissions

암호화 키에 대한 Azure DocumentDB의 사용자 할당 관리 ID 액세스 권한을 부여합니다.

  • 기본 설정: Azure Key Vault는 RBAC 권한 모델로 구성해야 하며 관리 ID에는 Key Vault Crypto Service 암호화 사용자 역할이 할당되어야 합니다.
  • 레거시: Azure Key Vault가 액세스 정책 권한 모델로 구성된 경우 관리 ID에 다음 권한을 부여합니다.
    • get: 키 자격 증명 모음에서 키의 속성 및 공개 부분을 검색합니다.
    • list: 키 자격 증명 모음에 저장된 키를 나열하고 반복합니다.
    • wrapKey: 데이터 암호화 키를 암호화합니다.
    • unwrapKey: 데이터 암호화 키의 암호를 해독합니다.

CMK 키 버전 업데이트

Azure DocumentDB의 CMK는 버전 없는 키라고도 하는 자동 키 버전 업데이트를 지원합니다. Azure DocumentDB 서비스는 자동으로 새 키 버전을 선택하고 데이터 암호화 키를 다시 암호화합니다. 이 기능은 Azure Key Vault의 자동 회전 기능과 결합될 수 있습니다.

고려 사항

데이터 암호화에 고객 관리형 키를 사용하는 경우 다음 권장 사항에 따라 Key Vault를 구성합니다.

  • 이 중요한 리소스의 우발적 또는 무단 삭제를 방지하려면 키 자격 증명 모음에 Azure 리소스 잠금을 설정합니다.
  • Azure Key Vault 가용성 및 중복도 옵션을 검토하고 사용하도록 설정합니다.
  • 키를 저장하는 데 사용되는 Azure Key Vault 인스턴스에서 로깅경고를 사용하도록 설정합니다. 키 자격 증명 모음은 다른 SIEM(보안 정보 및 이벤트 관리) 도구에 쉽게 삽입되는 로그를 제공합니다. Azure Monitor 로그는 이미 통합된 서비스의 한 예입니다.
  • 키 자동 회전을 사용하도록 설정합니다. Azure DocumentDB 서비스는 항상 선택한 키의 최신 버전을 선택합니다.
  • 공용 액세스 사용 안 함신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용을 선택하여 Key Vault에 대한 공용 네트워킹 액세스를 잠급니다.

비고

공용 액세스 사용 중지신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용을 선택한 후, 포털을 통해 Key Vault를 관리하기 위해 공용 액세스를 사용하려고 하면 다음과 유사한 오류가 발생할 수 있습니다. "네트워크 액세스 제어를 사용하도록 설정했습니다. 허용된 네트워크만 이 키 자격 증명 모음에 액세스할 수 있습니다." 이 오류는 고객 관리형 키 설정 중에 키를 제공하거나 클러스터 작업 중에 Key Vault에서 키를 가져오는 기능을 방해하지 않습니다.

  • 고객 관리 키 복사본을 안전한 곳에 보관하거나 에스크로 서비스에 맡겨 둡니다.
  • Key Vault가 키를 생성하는 경우 키를 처음 사용하기 전에 키 백업을 만듭니다. 백업을 Key Vault로 복원하는 것만 가능합니다.