Azure Cosmos DB의 보안 고려 사항
데이터 보안은 사용자, 고객 그리고 데이터베이스 공급자 간의 공동 책임입니다. 선택한 데이터베이스 공급자에 따라 담당하는 책임의 양이 달라질 수 있습니다. 온-프레미스 솔루션을 선택한 경우 끝점 보호부터 하드웨어의 물리적 보안까지 모든 항목을 제공해야 하며 이것은 쉬운 작업이 아닙니다. Azure Cosmos DB와 같은 PaaS(Platform as a Service) 클라우드 데이터베이스 공급자를 선택할 경우 관여해야 하는 부분이 상당히 줄어듭니다.
자세한 내용은 클라우드의 공동 책임을 참조 하세요.
검사 목록
데이터베이스 시스템을 비교하는 데 다음 요구 사항 검사 목록을 사용하는 것이 좋습니다.
- 네트워크 보안 및 방화벽 설정
- 사용자 인증 및 세분화된 사용자 제어
- 지역별 오류에 대해 전역으로 데이터를 복제하는 기능
- 데이터 센터 간의 장애 조치(failover) 기능
- 데이터 센터 내에서 로컬 데이터 복제
- 자동 데이터 백업
- 백업에서 삭제된 데이터 복원
- 중요한 데이터를 보호하고 격리하는 기능
- 공격 모니터링
- 공격에 대한 기본 제공 응답
- 지오-펜스 데이터가 데이터 관리 제한을 준수하는 기능
- 보호된 데이터 센터에서 서버의 물리적 보호
- 인증
당연해 보일지 모르지만, 최근의 대규모 데이터베이스 침해는 다음과 같은 요구 사항의 간단하지만 민감한 중요성을 상기시켜 줍니다.
- 최신 상태로 유지되는 패치된 서버
- HTTPS(기본값)/TLS 암호화
- 강력한 암호를 사용하는 관리 계정
Azure Cosmos DB는 내 데이터베이스를 어떻게 보호하나요?
Azure Cosmos DB는 기본적으로 서비스 및 Azure에 기본 제공되는 많은 기능으로 데이터베이스를 보호합니다.
보안 요구 사항 | Azure Cosmos DB의 보안 접근 방식 |
---|---|
네트워크 보안 | IP 방화벽을 사용하는 것이 데이터베이스를 보호하기 위한 첫 번째 보호 계층입니다. Azure Cosmos DB는 인바운드 방화벽 지원을 위해 정책 중심 IP 기반 액세스 제어를 지원합니다. IP 기반 액세스 제어는 기존 데이터베이스 시스템에서 사용하는 방화벽 규칙과 유사합니다. 단, 승인된 컴퓨터 또는 클라우드 서비스 집합에서만 Azure Cosmos DB 데이터베이스 계정에 액세스할 수 있도록 확장되었습니다. 자세한 내용은 Azure Cosmos DB 방화벽 지원을 참조하세요. Azure Cosmos DB를 통해 특정 IP 주소(168.61.48.0), IP 범위(168.61.48.0/8), IP와 범위 조합을 사용하도록 할 수 있습니다. Azure Cosmos DB는 이 허용된 목록 외부의 컴퓨터에서 발생하는 모든 요청을 차단합니다. 승인된 컴퓨터 및 클라우드 서비스에서 보내는 요청은 리소스에 대한 액세스 제어를 부여 받기 위해 인증 과정을 완료해야 합니다. 가상 네트워크 서비스 태그를 사용하여 네트워크 격리를 수행하고 일반 인터넷에서 Azure Cosmos DB 리소스를 보호할 수 있습니다. 보안 규칙을 만들 때 특정 IP 주소 대신 서비스 태그를 사용합니다. 서비스 태그 이름(예: AzureCosmosDB )을 규칙의 적절한 원본 또는 대상 필드에 지정하면 해당 서비스에 대한 트래픽을 허용하거나 거부할 수 있습니다. |
Authorization | Azure Cosmos DB는 권한 부여를 위해 HMAC(해시 기반 메시지 인증 코드)를 사용합니다. 각 요청은 비밀 계정 키를 사용하여 해시되고, Azure Cosmos DB를 호출할 때마다 base-64로 인코딩된 후속 해시가 전송됩니다. 요청의 유효성을 검사하기 위해 Azure Cosmos DB는 올바른 비밀 키와 속성을 사용하여 해시를 생성한 후 요청에 있는 값과 비교합니다. 두 값이 일치하면 작업에 권한 부여가 성공하고 요청이 처리됩니다. 일치하지 않으면 권한 부여가 실패하고 요청이 거부됩니다. 기본 키를 사용하여 문서와 같은 리소스에 세분화된 액세스를 허용할 수 있습니다. 자세한 내용은 Azure Cosmos DB 리소스에 대한 보안 액세스를 참조하세요. |
사용자 및 권한 | 계정에 대한 기본 키를 사용하여 데이터베이스별로 사용자 리소스와 권한 리소스를 만들 수 있습니다. 리소스 토큰은 데이터베이스에 있는 권한과 연결되며 사용자가 데이터베이스에 있는 애플리케이션 리소스에 대한 액세스 권한(읽기-쓰기, 읽기 전용 또는 액세스 권한 없음)을 보유하는지 확인합니다. 애플리케이션 리소스에는 컨테이너, 문서, 첨부 파일, 저장 프로시저, 트리거 및 UDF(사용자 정의 함수)가 포함됩니다. 그리고 인증 중에는 리소스 토큰이 사용되어 리소스에 대한 액세스를 제공 또는 거부합니다. 자세한 내용은 Azure Cosmos DB 리소스에 대한 보안 액세스를 참조하세요. |
Active Directory 통합(Azure 역할 기반 액세스 제어) | Azure Portal에서 액세스 제어(IAM)를 사용하여 Azure Cosmos DB 계정, 데이터베이스, 컨테이너 및 제안(처리량)에 대한 액세스 권한을 제공하거나 제한할 수도 있습니다. IAM은 역할 기반 액세스 제어를 제공하며 Active Directory와 통합됩니다. 개인 및 그룹에 대해 기본 제공 역할 또는 사용자 지정 역할을 사용할 수 있습니다. |
글로벌 복제 | Azure Cosmos DB는 턴키 방식으로 Azure 전 세계 데이터 센터 중 어디로나 데이터를 복제할 수 있는 턴키 글로벌 배포 기능을 제공합니다. 글로벌 복제를 통해 전역적으로 크기를 조정하고 전 세계 데이터에 짧은 대기 시간으로 액세스할 수 있습니다. 보안 컨텍스트에서 글로벌 복제는 지역별 오류에 대해 데이터 보호를 보장해줍니다. 자세한 내용은 전역적으로 데이터 배포를 참조하세요. |
지역별 장애 조치 | 둘 이상의 데이터 센터에서 데이터를 복제하는 경우 지역 데이터 센터가 오프라인 상태가 되면 Azure Cosmos DB가 자동으로 작업을 롤오버합니다. 데이터가 복제된 지역을 사용하여 장애 조치 지역의 우선 순위가 지정된 목록을 만들 수 있습니다. Azure Cosmos DB의 지역별 장애 조치(Failover)에서 자세히 알아보세요. |
로컬 복제 | 단일 데이터 센터 내에서도 Azure Cosmos DB는 고가용성을 위해 데이터를 자동으로 복제하여 일관성 수준을 선택할 수 있도록 합니다. 이 복제는 모든 단일 지역 계정 및 완화된 일관성을 가진 모든 다중 지역 계정에 대해 99.99% SLA(가용성 서비스 수준 계약) 를 보장하고 모든 다중 지역 데이터베이스 계정에서 99.999% 읽기 가용성을 보장합니다. |
자동 온라인 백업 | Azure Cosmos DB 데이터베이스는 정기적으로 백업되며 지역 중복 저장소에 저장됩니다. Azure Cosmos DB로 자동 온라인 백업 및 복원에서 자세히 알아보세요. |
삭제된 데이터 복원 | 자동화된 온라인 백업을 사용하여 이벤트 후 최대 30일까지 실수로 삭제된 데이터를 복구할 수 있습니다. Azure Cosmos DB로 자동 온라인 백업 및 복원에서 자세히 알아보세요. |
중요한 데이터 보호 및 격리 | 이제 새로운 기능에 나열된 지역의 모든 데이터가 미사용 상태에서 암호화됩니다. 개인 데이터 및 기타 기밀 데이터를 특정 컨테이너 및 읽기-쓰기로 격리할 수 있으며 읽기 전용 액세스를 특정 사용자로 제한할 수 있습니다. |
공격 모니터 | 감사 로깅 및 활동 로그를 사용하여 계정에서 정상 및 비정상적인 활동을 모니터링할 수 있습니다. 리소스에 대해 수행된 작업을 볼 수 있습니다. 이 데이터에는 작업을 시작한 사람, 작업이 발생한 시기, 작업 상태 등이 포함됩니다. |
공격에 대응 | Azure 지원 연락하여 잠재적인 공격을 보고하면 5단계 인시던트 대응 프로세스가 시작됩니다. 목표는 정상적인 서비스 보안 및 작업을 복원하는 것입니다. 프로세스는 문제가 검색되어 조사가 시작된 후 가능한 한 빨리 서비스를 복원합니다. 클라우드에서 Microsoft Azure의 보안 대응에서 자세히 알아보세요. |
지오-펜싱 | Azure Cosmos DB는 독립적인 지역(예: 독일, 중국, 미국 정부)에 대해 데이터 거버넌스를 보장합니다. |
보호된 기능 | Azure Cosmos DB의 데이터는 Azure의 보호된 데이터 센터의 반도체 드라이브에 저장됩니다. Microsoft 글로벌 데이터 센터에서 자세히 알아보세요. |
HTTPS 및 TLS 암호화 | Azure Cosmos DB에 대한 모든 연결은 HTTPS를 지원합니다. Azure Cosmos DB는 TLS(전송 계층 보안) 수준을 최대 1.2(포함)까지 지원합니다. 서버 측에서 최소 TLS 수준을 적용할 수 있습니다. 이렇게 하려면 셀프 서비스 가이드인 Azure Cosmos DB의 셀프 서비스 최소 TLS 버전 적용을 참조하세요. |
미사용 데이터 암호화 | Azure Cosmos DB에 저장된 모든 데이터는 미사용 암호화됩니다. 자세한 내용은 Azure Cosmos DB 미사용 암호화를 참조하세요. |
패치된 서버 | 관리되는 데이터베이스인 Azure Cosmos DB는 사용자를 대신하여 서버를 자동으로 패치하고 관리하므로 수동 유지 관리 작업이 필요하지 않습니다. |
강력한 암호를 사용하는 관리 계정 | Azure Cosmos DB에는 암호가 없는 관리 계정이 있을 수 없습니다. TLS 및 HMAC 암호 기반 인증을 통한 보안이 기본적으로 반영됩니다. |
보안 및 데이터 보호 인증서 | 최신 인증 목록을 보려면 Azure 규정 준수와 Azure Cosmos DB를 비롯한 모든 Azure 인증에 대한 최신 Azure 규정 준수 문서를 참조하세요. |