Azure Cosmos DB에 대한 Azure 보안 기준

이 보안 기준은 Azure Security Benchmark 버전 2.0에서 Azure Cosmos DB에 대한 참고 자료를 적용합니다. Azure Security Benchmark는 Azure에서 클라우드 솔루션을 보호하는 방법에 대한 권장 사항을 제공합니다. 콘텐츠는 Azure Security Benchmark에서 정의한 보안 제어 및 Azure Cosmos DB에 적용되는 관련 지침에 따라 그룹화됩니다.

클라우드용 Microsoft Defender를 사용하여 이 보안 기준 및 권장 사항을 모니터링할 수 있습니다. Azure Policy 정의는 클라우드용 Microsoft Defender 대시보드의 규정 준수 섹션에 나열됩니다.

섹션에 관련 Azure Policy 정의가 있는 경우 Azure Security Benchmark 컨트롤 및 권장 사항에 대한 규정 준수를 측정하는 데 도움이 되도록 이 기준에 나열됩니다. 일부 권장 사항에는 특정 보안 시나리오를 사용하도록 설정하기 위해 유료 Microsoft Defender 계획이 필요할 수 있습니다.

참고

Azure Cosmos DB에 적용되지 않는 컨트롤 및 문자 그대로 글로벌 지침이 권장되는 항목은 제외되었습니다. Azure Cosmos DB가 Azure Security Benchmark에 완전히 매핑되는 방법을 확인하려면 전체 Azure Cosmos DB 보안 기준 매핑 파일을 참조하세요.

네트워크 보안

자세한 내용은 Azure Security Benchmark: 네트워크 보안을 참조하세요.

NS-1: 내부 트래픽에 대한 보안 구현

참고 자료: Cosmos DB 리소스를 배포할 때 기존 가상 네트워크를 만들거나 사용합니다. 모든 Azure 가상 네트워크가 비즈니스 위험에 적합한 엔터프라이즈 구분 원칙을 준수해야 합니다. 조직에 더 높은 위험을 초래할 수 있는 모든 시스템은 자체 가상 네트워크 내에서 격리되어야 하며 NSG(네트워크 보안 그룹) 및/또는 Azure Firewall으로 충분히 보호되어야 합니다.

클라우드용 Microsoft Defender 적응형 네트워크 강화를 사용하여 외부 네트워크 트래픽 규칙에 대한 참조를 기반으로 포트 및 원본 IP를 제한하는 네트워크 보안 그룹 구성을 권장합니다.

애플리케이션 및 엔터프라이즈 분할 전략에 따라 네트워크 보안 그룹 규칙을 기반으로 내부 리소스 간의 트래픽을 제한하거나 허용합니다. 구체적이고 잘 정의된 애플리케이션(예: 3계층 앱)의 경우 기본적으로 매우 안전한 거부가 될 수 있습니다.

책임: Customer

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 Microsoft Defender 계획이 필요할 수 있습니다.

Azure Policy 기본 제공 정의 - Microsoft.DocumentDB:

Name
(Azure Portal)
설명 효과 버전
(GitHub)
Azure Cosmos DB 계정에 방화벽 규칙이 있어야 함 권한 없는 원본의 트래픽을 방지하기 위해 Azure Cosmos DB 계정에 방화벽 규칙을 정의해야 합니다. 가상 네트워크 필터를 사용하도록 정의된 IP 규칙이 하나 이상 있는 계정은 규정을 준수하는 것으로 간주됩니다. 퍼블릭 액세스를 비활성화한 계정도 규정을 준수하는 것으로 간주됩니다. 감사, 거부, 사용 안 함 2.0.0

NS-2: 여러 사설망 함께 연결

지침: Azure ExpressRoute 또는 Azure VPN(가상 사설망)을 사용하면 공동 배치 환경의 온-프레미스 인프라와 Azure 데이터 센터와 간에 프라이빗 연결을 만들 수 있습니다. ExpressRoute 연결은 공용 인터넷을 통해 연결되지 않으며 일반적인 인터넷 연결보다 안정적이고 속도가 빠르며 대기 시간이 짧습니다. 지점 및 사이트 간 VPN 및 사이트 간 VPN의 경우 이러한 VPN 옵션과 Azure ExpressRoute를 조합하여 온-프레미스 디바이스 또는 네트워크를 가상 네트워크에 연결할 수 있습니다.

Azure에 둘 이상의 가상 네트워크를 함께 연결하려면 가상 네트워크 피어링을 사용합니다. 피어링된 가상 네트워크 간의 네트워크 트래픽은 비공개이며 Azure 백본 네트워크에 유지됩니다.

책임: Customer

NS-3: Azure 서비스에 대한 프라이빗 네트워크 액세스 설정

참고 자료: Azure Private Link를 사용하여 인터넷을 통하지 않고 가상 네트워크에서 Cosmos DB에 프라이빗 액세스할 수 있습니다.

프라이빗 액세스는 Azure 서비스에서 제공하는 인증 및 트래픽 보안에 대한 추가적인 심층 방어 수단입니다.

책임: Customer

NS-4: 외부의 네트워크 공격으로부터 애플리케이션 및 서비스 보호

참고 자료: 분산 서비스 거부(DDoS) 공격, 애플리케이션 관련 공격, 원치 않는 잠재적 악성 인터넷 트래픽 등의 외부 네트워크의 공격으로부터 Cosmos DB 리소스를 보호합니다. Azure Firewall을 사용하면 인터넷 및 기타 외부 위치의 잠재적인 악성 트래픽으로부터 애플리케이션 및 서비스를 보호할 수 있습니다. Azure 가상 네트워크에서 DDoS 표준 보호를 사용하도록 설정하면 DDoS 공격으로부터 자산을 보호할 수 있습니다. 클라우드용 Microsoft Defender를 사용하여 네트워크 관련 리소스에 대한 잘못된 구성 위험을 검색합니다.

Cosmos DB는 웹 애플리케이션을 실행하기 위한 것이 아니며, 웹 애플리케이션을 대상으로 하는 외부 네트워크 공격으로부터 보호하기 위해 추가 설정을 구성하거나 추가 네트워크 서비스를 배포할 필요가 없습니다.

책임: Customer

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 Microsoft Defender 계획이 필요할 수 있습니다.

Azure Policy 기본 제공 정의 - Microsoft.DocumentDB:

Name
(Azure Portal)
설명 효과 버전
(GitHub)
Azure Cosmos DB 계정에 방화벽 규칙이 있어야 함 권한 없는 원본의 트래픽을 방지하기 위해 Azure Cosmos DB 계정에 방화벽 규칙을 정의해야 합니다. 가상 네트워크 필터를 사용하도록 정의된 IP 규칙이 하나 이상 있는 계정은 규정을 준수하는 것으로 간주됩니다. 퍼블릭 액세스를 비활성화한 계정도 규정을 준수하는 것으로 간주됩니다. 감사, 거부, 사용 안 함 2.0.0

NS-6: 네트워크 보안 규칙 간소화

참고 자료: Azure Virtual Network 서비스 태그를 사용하여 Cosmos DB 리소스에 대해 구성된 네트워크 보안 그룹 또는 Azure Firewall에 대한 네트워크 액세스 제어를 정의합니다. 보안 규칙을 만들 때 특정 IP 주소 대신 서비스 태그를 사용할 수 있습니다. 서비스 태그 이름을 규칙의 적절한 원본 또는 대상 필드에 지정하면 해당 서비스에 대한 트래픽을 허용하거나 거부할 수 있습니다. Microsoft에서는 서비스 태그에서 압축한 주소 접두사를 관리하고 주소를 변경하는 대로 서비스 태그를 자동으로 업데이트합니다.

AzureCosmosDB 서비스 태그는 아웃바운드 사용을 지원하며 지역적일 수 있고 Azure Firewall에 사용될 수 있습니다.

책임: Customer

NS-7: 보안 DNS(Domain Name Service)

참고 자료: DNS 보안에 대한 모범 사례에 따라 현수 DNS, DNS 증폭 공격, DNS 중독 및 스푸핑 등의 일반적인 공격을 완화합니다.

Azure DNS를 신뢰할 수 있는 DNS 서비스로 사용하는 경우 Azure RBAC 및 리소스 잠금을 사용하여 우발적이거나 악의적인 수정으로부터 DNS 영역 및 레코드를 보호해야 합니다.

책임: Customer

ID 관리

자세한 내용은 Azure Security Benchmark: ID 관리를 참조하세요.

IM-1: Azure Active Directory를 중앙 ID 및 인증 시스템으로 표준화

참고 자료: Cosmos DB는 Azure AD(Azure Active Directory)를 기본 ID 및 액세스 관리 서비스로 사용합니다. Azure AD를 표준화하여 다음에서 조직의 ID 및 액세스 관리를 제어해야 합니다.

  • Microsoft 클라우드 리소스(예: Azure Portal, Azure Storage, Azure Virtual Machines(Linux 및 Windows), Azure Key Vault, PaaS 및 SaaS 애플리케이션)
  • 조직의 리소스(예: Azure의 애플리케이션 또는 회사 네트워크 리소스)

Azure AD 보안 우선 순위는 조직의 클라우드 보안 사례에서 높아야 합니다. Azure AD는 Microsoft의 모범 사례 권장 사항을 기준으로 ID 보안 태세를 평가하는 데 도움이 되는 ID 보안 점수를 제공합니다. 점수를 사용하여 구성이 모범 사례 권장 사항에 얼마나 근접하게 일치하는지 측정하고 보안 태세를 개선할 수 있습니다.

참고: Azure AD는 Microsoft 계정이 없는 사용자가 애플리케이션 및 리소스에 로그인할 수 있게 하는 외부 ID를 지원합니다.

Azure Cosmos DB는 Azure Cosmos DB의 일반적인 관리 시나리오에 대한 Azure RBAC(Azure 역할 기반 액세스 제어)를 기본적으로 제공합니다. Azure Active Directory에 프로필이 있는 개인은 이러한 Azure 역할을 사용자, 그룹, 서비스 주체 또는 관리 ID에 할당하여 리소스 및 Azure Cosmos DB 리소스 작업에 대한 액세스를 부여하거나 거부할 수 있습니다. 역할 할당은 컨트롤 플레인 액세스 전용으로 범위가 지정됩니다. 여기에는 Azure Cosmos 계정, 데이터베이스, 컨테이너 및 제품(처리량)에 대한 액세스가 포함됩니다.

Azure Cosmos DB는 데이터에 대한 액세스를 제어하는 세 가지 방법을 제공합니다. 기본 키는 관리 또는 데이터 작업을 허용하는 공유 비밀입니다. 기본 키는 읽기/쓰기 및 읽기 전용 변형 모두에서 제공됩니다. 역할 기반 액세스 제어는 인증을 위해 AAD(Azure Active Directory) ID를 사용하는 세분화되어 있는 역할 기반 권한 모델입니다. 리소스 토큰은 기본 Azure Cosmos DB 사용자 및 권한을 기반으로 하는 세분화된 권한 모델을 제공합니다.

책임: 공유됨

IM-2: 애플리케이션 ID를 안전하게 자동으로 관리

참고 자료: Cosmos DB에서는 Azure 리소스의 관리 ID를 지원합니다. 서비스 주체를 만드는 대신 Cosmos DB에서 관리 ID를 사용하여 다른 리소스에 액세스합니다. Cosmos DB는 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 사용하지 않고 미리 정의된 액세스 인증 규칙을 통해 Azure AD 인증을 지원하는 Azure 서비스/리소스에 기본적으로 인증할 수 있습니다.

책임: Customer

IM-3: 애플리케이션 액세스에 Azure AD SSO(Single Sign-On) 사용

참고 자료: Cosmos DB는 Azure AD(Azure Active Directory)와의 통합으로 Azure 리소스에 대해 ID 및 액세스 관리를 제공합니다. Azure Cosmos DB는 두 가지 유형의 키를 사용하여 사용자에게 권한을 부여하고 데이터 플레인 수준에서 SSO(Single Sign-On)를 지원하지 않습니다. 하지만 Cosmos DB의 컨트롤 플레인에 대한 액세스는 REST API를 통해 사용할 수 있으며 SSO를 지원합니다. 인증을 위해 요청에 대한 권한 부여 헤더를 Azure AD에서 가져오는 JSON Web Token으로 설정합니다.

책임: 공유됨

IM-7: 의도하지 않은 자격 증명 노출 제거

참고 자료: Cosmos DB는 코드를 저장하는 용도가 아니지만, Cosmos DB 배포와 관련된 ARM 템플릿의 경우, 구성 내에서 자격 증명을 식별하기 위해 이러한 템플릿이 저장된 리포지토리에서 자격 증명 스캐너를 구현하는 것이 좋습니다. 또한 자격 증명 스캐너는 검색된 자격 증명을 더 안전한 위치(예: Azure Key Vault)로 이동하도록 추천합니다.

책임: Customer

권한 있는 액세스

자세한 내용은 Azure Security Benchmark: 권한 있는 액세스를 참조하세요.

PA-1: 높은 권한이 있는 사용자 보호 및 제한

참고 자료: Azure AD에 대한 가장 중요한 기본 제공 역할은 전역 관리자 및 권한 있는 역할 관리자입니다. 이러한 두 역할에 할당된 사용자는 관리자 역할을 위임할 수 있습니다.:

  • 전역 관리자 / 회사 관리자: 이 역할의 사용자는 Azure AD의 모든 관리 기능뿐만 아니라 Azure AD ID를 사용하는 서비스에도 액세스할 수 있습니다.
  • 권한 있는 역할 관리자: 이 역할의 사용자는 Azure AD뿐만 아니라 Azure AD PIM(Privileged Identity Management) 내에서도 역할 할당을 관리할 수 있습니다. 또한 이 역할을 통해 PIM 및 관리 단위의 모든 측면을 관리할 수 있습니다.

참고: 특정 권한이 할당된 사용자 지정 역할을 사용하는 경우 관리해야 할 다른 중요한 역할이 있을 수 있습니다. 중요 비즈니스 자산의 관리자 계정에 유사한 컨트롤을 적용할 수도 있습니다.

권한이 높은 계정 또는 역할의 수를 제한하고 이러한 계정을 높은 수준에서 보호해야 합니다. 이 권한이 있는 사용자는 Azure 환경의 모든 리소스를 직접 또는 간접적으로 읽고 수정할 수 있습니다.

Azure AD PIM을 사용하여 Azure 리소스 및 Azure AD에 대한 JIT(Just-In-Time) 권한 있는 액세스를 사용하도록 설정할 수 있습니다. JIT는 사용자가 필요한 경우에만 권한 있는 작업을 수행할 수 있는 임시 권한을 부여합니다. 또한 PIM은 Azure AD 조직에서 의심스럽거나 안전하지 않은 활동이 있을 때 보안 경고를 생성할 수 있습니다.

책임: Customer

PA-3: 정기적으로 사용자 액세스 검토 및 조정

참고 자료: Cosmos DB가 Azure AD(Azure Active Directory) 계정을 사용하여 리소스를 관리하고, 사용자 계정 및 액세스 할당을 정기적으로 검토하여 계정 및 해당 액세스가 유효한지 확인합니다. Azure AD 및 액세스 검토를 사용하여 그룹 멤버 자격, 엔터프라이즈 애플리케이션에 대한 액세스 및 역할 할당을 검토할 수 있습니다. Azure AD 보고는 부실 계정을 검색하는 데 도움이 되는 로그를 제공할 수 있습니다. 또한 Azure AD PIM(Privileged Identity Management)을 사용하여 액세스 검토 보고서 워크플로를 만들어 검토 프로세스를 용이하게 할 수 있습니다.

또한 과도한 수의 관리자 계정이 만들어질 때 경고하고 부실하거나 부적절하게 구성된 관리자 계정을 식별하도록 Azure AD PIM을 구성할 수도 있습니다.

참고: 일부 Azure 서비스는 Azure AD를 통해 관리되지 않는 로컬 사용자 및 역할을 지원합니다. 이러한 사용자를 별도로 관리하는 것은 사용자의 책임입니다.

Azure Cosmos DB는 5가지 기본 제공 역할을 제공합니다.

  • DocumentDB 계정 기여자는 Azure Cosmos DB 계정을 관리할 수 있습니다.
  • Cosmos DB 계정 읽기 권한자는 Azure Cosmos DB 계정 데이터를 읽을 수 있습니다.
  • Cosmos Backup 운영자는 백업이 주기적으로 설정된 데이터베이스 또는 컨테이너에 대해 Azure Portal에 복원 요청을 제출하고 Azure Portal에서 백업 간격 및 보존을 수정할 수 있습니다.
  • CosmosRestoreOperator는 연속 백업 모드를 사용해서 Azure Cosmos DB 계정에 대해 복원 작업을 수행할 수 있습니다.
  • Cosmos DB 운영자는 Azure Cosmos 계정, 데이터베이스 및 컨테이너를 프로비전할 수 있습니다.

자세한 내용은 다음 참조 문서를 참조하세요.

책임: Customer

PA-6: 권한 있는 액세스 워크스테이션 사용

참고 자료: 안전하고 격리된 워크스테이션은 관리자, 개발자 및 중요한 서비스 운영자와 같은 중요한 역할의 보안에 매우 중요합니다. 관리 작업에는 매우 안전한 사용자 워크스테이션 및/또는 Azure Bastion을 사용합니다. Azure AD(Azure Active Directory), Microsoft Defender ATP(Advanced Threat Protection) 및/또는 Microsoft Intune을 사용하여 관리 작업을 위한 관리형 보안 사용자 워크스테이션을 배포합니다. 보안 워크스테이션을 중앙에서 관리하여 강력한 인증, 소프트웨어 및 하드웨어 기준 설정, 제한된 논리 및 네트워크 액세스를 비롯한 보안 구성을 시행할 수 있습니다.

책임: Customer

PA-7: 충분한 관리 수행(최소 권한 원칙)

참고 자료: Cosmos DB는 리소스를 관리하기 위해 Azure RBAC(Azure 역할 기반 액세스 제어)와 통합됩니다. Azure RBAC를 사용하면 역할 할당을 통해 Azure 리소스 액세스를 관리할 수 있습니다. 이러한 역할은 사용자, 그룹 서비스 주체 및 관리 ID에 할당할 수 있습니다. 특정 리소스에 대해 미리 정의된 기본 제공 역할이 있으며 이러한 역할은 Azure CLI, Azure PowerShell 또는 Azure Portal과 같은 도구를 통해 쿼리하거나 인벤토리에 포함할 수 있습니다. Azure RBAC를 통해 리소스에 할당하는 권한은 항상 역할에 필요한 권한으로 제한해야 합니다. 이러게 Azure AD PIM(Privileged Identity Management)의 JIT(Just-in-Time) 접근 방식을 보완하고 정기적으로 검토해야 합니다.

기본 제공 역할을 사용하여 권한을 할당하고 필요할 때만 사용자 지정 역할을 만듭니다.

Azure Cosmos DB는 구성 및 데이터 액세스 관리를 돕기 위해 5가지 기본 제공 역할을 제공합니다. 작업을 수행하는 데 필요한 최저 수준의 액세스 권한을 사용자에게 부여하세요.

책임: Customer

PA-8: Microsoft 지원에 대한 승인 프로세스 선택

참고 자료: Cosmos DB는 고객 lockbox를 지원하지 않습니다. Microsoft는 고객 데이터 액세스에 대한 승인을 위해 비 Lockbox 방법을 통해 고객과 협력할 수 있습니다.

책임: Customer

데이터 보호

자세한 내용은 Azure Security Benchmark: 데이터 보호를 참조하세요.

DP-1: 중요한 데이터의 검색, 분류 및 레이블 지정

지침: 자동 데이터 식별, 분류 및 손실 방지 기능은 Azure Cosmos DB에서 아직 사용할 수 없습니다. 그러나 분류 및 데이터 분석을 위해 Azure Cognitive Search 통합을 사용할 수 있습니다. 또한 규정 준수를 위해 필요한 경우 타사 솔루션을 구현할 수도 있습니다.

Microsoft에서 관리하는 기본 플랫폼의 경우 Microsoft는 모든 고객 콘텐츠를 중요한 것으로 간주하고 고객 데이터 손실 및 노출을 방지하기 위해 많은 시간을 투자합니다. Azure 내에서 고객 데이터를 안전하게 유지하기 위해 Microsoft는 강력한 데이터 보호 제어 및 기능 모음을 구현하고 유지 관리합니다.

책임: Customer

DP-2: 중요한 데이터 보호

참고 자료: Azure RBAC(Azure 역할 기반 액세스 제어), 네트워크 기반 액세스 제어 및 Azure 서비스의 특정 제어(예: 암호화)를 사용하여 액세스를 제한하여 중요한 데이터를 보호합니다.

일관된 액세스 제어를 보장하려면 모든 유형의 액세스 제어를 엔터프라이즈 조각화 전략에 맞게 조정해야 합니다. 또한 엔터프라이즈 조각화 전략은 중요 비즈니스용 데이터 및 시스템의 위치를 통해 알려야 합니다.

Microsoft에서 관리하는 기본 플랫폼의 경우 Microsoft는 모든 고객 콘텐츠를 중요한 콘텐츠로 간주하고 고객 데이터가 손실 및 노출되지 않도록 보호합니다. Azure 내의 고객 데이터를 안전하게 유지하기 위해 Microsoft는 몇 가지 기본 데이터 보호 제어 및 기능을 구현했습니다.

Cosmos DB는 또한 추가 암호화 수준을 위해 고객 관리형 키를 지원합니다.

책임: 공유됨

DP-3: 중요한 데이터의 무단 전송 모니터링

참고 자료: Cosmos DB는 Advanced Threat Protection을 지원합니다. Azure Cosmos DB용 Advanced Threat Protection은 Azure Cosmos DB 계정에 액세스하거나 악용하려는 비정상적이고 잠재적으로 해로운 시도를 탐지하는 추가 보안 인텔리전스 계층을 제공합니다. 이 보호 계층을 통해 보안 전문가가 아니더라도 위협을 해결하고 중앙 보안 모니터링 시스템과 통합할 수 있습니다.

책임: Customer

DP-4: 전송 중인 중요한 정보 암호화

참고 자료: 액세스 제어를 보완하려면 공격자가 데이터를 쉽게 읽거나 수정할 수 없도록 암호화를 사용하여 '대역 외' 공격(예: 트래픽 캡처)으로부터 전송 중인 데이터를 보호해야 합니다.

Cosmos DB는 TLS v1.2 이상을 사용하여 전송 중 데이터 암호화를 지원합니다.

사설망의 트래픽에서는 선택 사항이지만, 외부 및 공용 네트워크의 트래픽에서 매우 중요합니다. HTTP 트래픽의 경우 Azure 리소스에 연결하는 모든 클라이언트에서 TLS v1.2 이상을 협상할 수 있는지 확인합니다. 원격 관리의 경우 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다. 더 이상 사용되지 않는 SSL, TLS, SSH 버전 및 프로토콜, 약한 암호는 사용하지 않도록 설정해야 합니다.

Azure는 기본적으로 Azure 데이터 센터 간에 전송 중인 데이터에 대한 암호화를 제공합니다.

Azure Cosmos DB에 대한 모든 연결은 HTTPS를 지원합니다. 2020년 7월 29일 이후에 생성된 계정은 기본적으로 최소한 TLS 1.2 버전을 갖습니다. azurecosmosdbtls@service.microsoft.com에 연락하여 2020년 7월 29일 이전에 만든 계정의 최소 TLS 버전을 TLS 1.2로 업그레이드하도록 요청할 수 있습니다.

책임: 공유됨

DP-5: 중요한 미사용 데이터 암호화

참고 자료: 액세스 제어를 보완하기 위해 Cosmos DB는 미사용 데이터를 암호화하여 암호화를 사용하여 대역 외 공격(예: 기본 스토리지 액세스)으로부터 보호합니다. 이렇게 하면 공격자가 데이터를 쉽게 읽거나 수정할 수 없습니다.

Azure Cosmos 계정에 저장된 데이터는 Microsoft에서 관리하는 키(서비스 관리형 키)로 자동으로 원활하게 암호화됩니다. 필요에 따라 직접 관리하는 키(고객 관리형 키)를 사용하여 두 번째 암호화 계층을 추가하도록 선택할 수 있습니다.

책임: 공유됨

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 Microsoft Defender 계획이 필요할 수 있습니다.

Azure Policy 기본 제공 정의 - Microsoft.DocumentDB:

Name
(Azure Portal)
설명 효과 버전
(GitHub)
Azure Cosmos DB 계정은 고객 관리형 키를 사용하여 미사용 데이터를 암호화해야 함 고객 관리형 키를 사용하여 Azure Cosmos DB의 미사용 데이터 암호화를 관리합니다. 기본적으로 저장 데이터는 서비스 관리형 키를 사용하여 암호화되지만, 일반적으로 규정 준수 표준을 충족하려면 고객 관리형 키가 필요합니다. 고객 관리형 키를 사용하면 사용자가 만들고 소유한 Azure Key Vault 키를 사용하여 데이터를 암호화할 수 있습니다. 순환 및 관리를 포함하여 키의 수명 주기를 고객이 모두 제어하고 책임져야 합니다. https://aka.ms/cosmosdb-cmk에서 자세히 알아보세요. 감사, 거부, 사용 안 함 1.0.2

자산 관리

자세한 내용은 Azure Security Benchmark: 자산 관리를 참조하세요.

AM-1: 보안 팀에서 자산 위험에 대한 가시성을 확보하도록 보장

지침: 보안 팀이 Azure 테넌트 및 구독에서 보안 읽기 권한자 권한을 부여받아 클라우드용 Microsoft Defender를 사용하여 보안 위험을 모니터링할 수 있도록 합니다.

보안 팀의 책임이 구성된 방식에 따라 보안 위험 모니터링은 중앙 보안 팀 또는 로컬 팀의 책임이 될 수 있습니다. 즉, 보안 인사이트 및 위험이 항상 조직 내의 중앙에서 집계되어야 합니다.

보안 읽기 권한자 권한은 전체 테넌트(루트 관리 그룹)에 광범위하게 적용하거나 범위를 관리 그룹 또는 특정 구독으로 지정할 수 있습니다.

참고: 워크로드 및 서비스에 대한 가시성을 얻으려면 추가 권한이 필요할 수 있습니다.

책임: Customer

AM-2: 보안 팀에 자산 인벤토리 및 메타데이터에 대한 액세스 권한이 있는지 확인

참고 자료: 중요한 정보를 저장하거나 처리하는 Azure Cosmos DB 인스턴스를 추적하는 등의 관련 메타데이터를 사용해서 Azure Cosmos DB 인스턴스 및 관련 리소스에 태그를 적용합니다. Cosmos DB는 애플리케이션을 실행하거나 리소스에 소프트웨어를 설치하는 것을 허용하지 않습니다.

책임: Customer

AM-3: 승인된 Azure 서비스만 사용

참고 자료: Cosmos DB는 Azure Policy를 사용한 리소스 배포 거부를 지원합니다. 이를 통해 이 서비스가 아직 승인되지 않은 경우 배포를 제한할 수 있습니다. 보안 요구에 따라 Azure Policy를 사용하여 환경에서 사용자가 프로비저닝할 수 있는 서비스를 감사하고 제한합니다. Azure Resource Graph를 사용하여 구독 내에서 리소스를 쿼리하고 검색합니다. 또한 Azure Monitor를 사용하여 승인되지 않은 서비스가 검색되면 경고를 트리거하는 규칙을 만들 수 있습니다.

책임: Customer

로깅 및 위협 탐지

자세한 내용은 Azure Security Benchmark: 로깅 및 위협 탐지를 참조하세요.

LT-1: Azure 리소스에 위협 탐지 사용

참고 자료: 클라우드용 Microsoft Defender 기본 제공 위협 탐지 기능을 사용하고 Cosmos DB 리소스에 Microsoft Defender를 사용합니다. Cosmos DB용 Microsoft Defender는 Cosmos DB 리소스에 액세스하거나 악용하려는 비정상적이고 잠재적으로 유해한 시도를 탐지하는 추가 보안 인텔리전스 계층을 제공합니다.

사용자 지정 위협 탐지를 설정하는 데 사용할 수 있는 Cosmos DB의 모든 로그를 SIEM으로 전달합니다. 다양한 유형의 Azure 자산에서 잠재적인 위협과 이상 징후를 모니터링합니다. 경고의 품질을 높이는 데 집중하여 분석가가 분류하는 가양성을 줄여야 합니다. 경고는 로그 데이터, 에이전트 또는 기타 데이터로부터 제공될 수 있습니다.

책임: Customer

LT-2: Azure ID 및 액세스 관리에 위협 탐지 사용

참고 자료: Azure AD(Azure Active Directory)가 더 정교한 모니터링 및 분석 사용 사례를 위해 Azure AD 보고에서 보거나 Azure Monitor, Microsoft Sentinel 또는 기타 SIEM/모니터링 도구와 통합할 수 있는 다음과 같은 사용자 로그를 제공합니다.:

  • 로그인 – 로그인 보고서는 관리형 애플리케이션 및 사용자 로그인 활동의 사용에 대한 정보를 제공합니다.
  • 감사 로그 - Azure AD 내의 다양한 기능에 의해 수행된 모든 변경 내용에 대한 로그를 통한 추적 기능을 제공합니다. 감사 로그의 예제로는 사용자, 앱, 그룹, 역할 및 정책 추가 또는 제거와 같은 Azure AD 내의 모든 리소스에 대한 변경 내용이 있습니다.
  • 위험한 로그인 - 위험한 로그인은 사용자 계정의 정당한 소유자가 아닌 사용자에 의해 수행된 로그인 시도에 대한 지표입니다.
  • 위험 플래그가 지정된 사용자 - 위험한 사용자는 손상되었을 수 있는 사용자 계정에 대한 표시기입니다.

클라우드용 Microsoft Defender는 인증 시도 실패 횟수가 너무 많거나 구독에서 더 이상 사용되지 않는 계정과 같은 특정 의심스러운 작업에 대한 경고를 트리거할 수도 있습니다. 기본 보안 위생 모니터링 외에도 클라우드용 Microsoft Defender의 Threat Protection 모듈은 개별 Azure 컴퓨팅 리소스(가상 머신, 컨테이너, App Service), 데이터 리소스(SQL DB 및 스토리지), Azure 서비스 계층에서 보다 심층적인 보안 경고를 수집할 수도 있습니다. 이 기능을 사용하면 개별 리소스 내에서 비정상 계정 활동을 볼 수 있습니다.

책임: Customer

LT-3: Azure 네트워크 활동에 대한 로깅 사용

참고 자료: Cosmos DB는 리소스를 가상 네트워크에 직접 배포하지 않습니다. 그러나 Cosmos DB를 사용하면 프라이빗 엔드포인트를 사용하여 가상 네트워크에서 해당 리소스에 안전하게 연결할 수 있습니다. 또한 Cosmos DB는 사용하도록 설정해야 하는 DNS 쿼리 로그를 생성하거나 처리하지 않습니다.

구성된 Cosmos DB 프라이빗 엔드포인트에서 로깅을 사용하도록 설정하여 다음을 캡처합니다.

책임: Customer

LT-4: Azure 리소스에 대한 로깅 사용

참고 자료: 자동으로 사용할 수 있는 활동 로그에는 읽기 작업(GET)을 제외한 Cosmos DB 리소스에 대한 모든 쓰기 작업(PUT, POST, DELETE)이 포함됩니다. 활동 로그를 사용하여 문제를 해결할 때 오류를 찾거나 조직의 사용자가 리소스를 수정한 방법을 모니터링할 수 있습니다.

Cosmos DB에 Azure 리소스 로그를 사용하도록 설정합니다. Microsoft Defender for Cloud 및 Azure Policy를 사용하여 리소스 로그 및 로그 데이터 수집을 사용하도록 설정할 수 있습니다. 이러한 로그는 보안 인시던트를 조사하고 포렌식 활동을 수행하는 데 중요한 역할을 할 수 있습니다.

책임: Customer

LT-5: 보안 로그 관리 및 분석 중앙 집중화

참고 자료: Cosmos DB 로그의 로깅, 스토리지 및 분석을 중앙 집중화합니다. Cosmos DB 관리 작업으로 생성된 Azure 활동 로그를 중앙 로깅 솔루션에 통합합니다. Azure Monitor를 통해 로그를 수집하여 엔드포인트 디바이스, 네트워크 리소스, 기타 보안 시스템에 의해 생성된 보안 데이터를 집계합니다. Azure Monitor에서 Log Analytics 작업 영역을 사용하여 분석을 쿼리하고 수행하며, 장기 및 기록 스토리지에 Azure Storage 계정을 사용할 수 있습니다.

또한 Microsoft Sentinel 또는 타사 SIEM에 데이터를 사용하도록 설정하고 온보딩합니다.

여러 조직에서, 자주 사용되는 '핫' 데이터에는 Microsoft Sentinel을 사용하고 비교적 덜 사용되는 '콜드' 데이터에는 Azure Storage를 사용하고 있습니다.

책임: Customer

LT-6: 로그 스토리지 보존 구성

참고 자료: Cosmos DB 리소스에 의해 생성된 로그를 저장하는 데 사용하는 스토리지 계정 또는 Log Analytics 작업 영역에 조직의 규정 준수에 따라 설정된 로그 보존 기간이 있는지 확인합니다.

Azure Monitor에서 조직의 준수 규정에 따라 Log Analytics 작업 영역의 보존 기간을 설정할 수 있습니다. 장기 및 보관 스토리지에 대한 Azure Storage, Data Lake 또는 Log Analytics 작업 영역 계정을 사용합니다.

책임: Customer

태세 및 취약성 관리

자세한 내용은 Azure Security Benchmark: 태세 및 취약성 관리를 참조하세요.

PV-1: Azure 서비스에 대한 보안 구성 설정

참고 자료: Azure Blueprints를 사용하여 단일 청사진 정의에서 Azure Resources Manager 템플릿, Azure RBAC 컨트롤 및 정책을 포함한 Cosmos DB 서비스의 배포 및 구성을 자동화할 수 있습니다.

Azure Cosmos DB용 Advanced Threat Protection은 Azure Cosmos DB 계정에 액세스하거나 악용하려는 비정상적이고 잠재적으로 해로운 시도를 탐지하는 추가 보안 인텔리전스 계층을 제공합니다. 이 보호 계층을 통해 보안 전문가가 아니더라도 위협을 해결하고 중앙 보안 모니터링 시스템과 통합할 수 있습니다.

책임: Customer

PV-2: Azure 서비스에 대한 보안 구성 유지

참고 자료: 클라우드용 Microsoft Defender를 사용해서 Cosmos DB 리소스 간 보안 구성 유지 관리를 위해 Azure Policy [거부] 및 [존재하지 않으면 배포] 효과를 사용해서 구성 기준을 모니터링하고 이러한 구성을 적용할 수 있습니다.

"Microsoft.DocumentDB" 네임스페이스에서 Azure Policy 별칭을 사용하여 시스템 구성을 경고, 감사 및 적용하는 사용자 지정 정책을 만듭니다. 또한 정책 예외를 관리하는 프로세스와 파이프라인을 개발합니다.

책임: Customer

PV-8: 정기적인 공격 시뮬레이션 수행

지침: 필요에 따라 Azure 리소스에 대한 침투 테스트 또는 레드 팀 활동을 수행하고 모든 중요한 보안 결과를 수정해야 합니다.

Microsoft Cloud 침투 테스트 시행 규칙에 따라 침투 테스트가 Microsoft 정책을 위반하지 않는지 확인합니다. Microsoft의 전략과 Microsoft에서 관리하는 클라우드 인프라, 서비스, 애플리케이션에 대한 레드 팀 실행 및 실시간 사이트 침투 테스트를 사용합니다.

책임: Customer

백업 및 복구

자세한 내용은 Azure Security Benchmark: 백업 및 복구를 참조하세요.

BR-1: 자동화된 정기 백업 보장

지침: Azure Cosmos DB는 자동으로 데이터의 백업을 정기적으로 수행합니다. 데이터베이스 또는 컨테이너를 삭제한 경우, 지원 티켓을 제출하거나 Azure 지원에 문의하여 자동 온라인 백업에서 데이터를 복원할 수 있습니다. Azure 지원은 Standard, Developer 및 상위 플랜같은 지정된 플랜에만 사용할 수 있습니다. 백업의 특정 스냅샷을 복원하려면 Azure Cosmos DB에서 해당 스냅샷의 백업 주기 동안 데이터를 사용할 수 있어야 합니다.

Key Vault를 사용하여 Cosmos DB 인스턴스의 자격 증명을 저장하는 경우 키의 자동 백업을 정기적으로 수행해야 합니다.

책임: 공유됨

BR-2: 백업 데이터 암호화

지침: Cosmos DB에 저장된 모든 사용자 데이터는 기본적으로 미사용 상태로 암호화됩니다. 해제할 컨트롤이 없습니다. Azure Cosmos DB는 계정이 실행되는 모든 지역에서 AES-256 암호화를 사용합니다.

기본적으로 Microsoft는 Azure Cosmos 계정에서 데이터를 암호화하는 데 사용되는 키를 관리합니다. 필요에 따라 고유한 키로 두 번째 암호화 계층을 추가하도록 선택할 수 있습니다.

책임: Microsoft

BR-3: 고객 관리형 키를 비롯한 모든 백업 유효성 검사

지침: Azure Cosmos DB는 자동으로 데이터의 백업을 정기적으로 수행합니다. 데이터베이스 또는 컨테이너를 삭제한 경우, 지원 티켓을 제출하거나 Azure 지원에 문의하여 자동 온라인 백업에서 데이터를 복원할 수 있습니다. 백업의 특정 스냅샷을 복원하려면 Azure Cosmos DB에서 해당 스냅샷의 백업 주기 동안 데이터를 사용할 수 있어야 합니다.

고객 관리형 키로 암호화된 Cosmos DB 인스턴스에 대해 Key Vault를 사용해서 자격 증명을 저장하는 경우 키 자동 백업을 정기적으로 수행합니다.

책임: Customer

BR-4: 분실한 키의 위험 완화

참고 자료: 키 분실을 방지하고 복구할 수 있는 측정값이 있는지 확인합니다. Azure Key Vault에서 일시 삭제 및 제거 보호를 사용하도록 설정하여 우발적으로 또는 악의적으로 삭제되지 않도록 암호화 키를 보호합니다.

책임: Customer

다음 단계