고객 관리형 키를 사용하여 SQL Managed Instance

Azure SQL Managed Instance
Azure Key Vault
Azure Private Link

이 문서에서는 Azure Key Vault를 사용하여 지역 간 자동 장애 조치(failover) 그룹에서 SQL 관리되는 인스턴스에 대한 고유한 TDE(투명한 데이터 암호화) 키를 관리하는 방법을 설명합니다.

아키텍처

Diagram that shows an architecture for managing TDE keys.

이 아키텍처의 Visio 파일을 다운로드합니다.

TDE 키의 중복성을 높이기 위해 Azure SQL Managed Instance는 자체 지역의 키 자격 증명 모음을 기본으로 사용하고 원격 지역의 키 자격 증명 모음을 보조로 사용하도록 구성됩니다.

보조 키 자격 증명 모음 인스턴스는 원격 지역에 있는 동안 SQL 관리되는 인스턴스와 동일한 지역에 프라이빗 엔드포인트가 있습니다. 따라서 SQL 관리되는 인스턴스에 관한 한 기본 및 보조 키 자격 증명 모음에 대한 요청은 논리적으로 동일한 가상 네트워크 및 지역 내에 있습니다. 이 디자인을 사용하면 방화벽 또는 네트워크 보안 그룹 규칙이 더 쉬워질 수 있습니다. 많은 조직에서는 퍼블릭 엔드포인트에 액세스하는 대신 프라이빗 엔드포인트를 사용합니다. 프라이빗 엔드포인트를 사용하는 것이 좋습니다.

데이터 흐름

  1. 10분마다 SQL Managed Instance는 기본으로 정의된 키 자격 증명 모음에서 TDE 래퍼에 액세스할 수 있는지 확인합니다.

  2. SQL Managed Instance의 기본 키 자격 증명 모음을 사용할 수 없게 되면 해당 인스턴스는 보조로 설정된 키 자격 증명 모음을 확인합니다. 해당 키 자격 증명 모음도 사용할 수 없는 경우 SQL Managed Instance가 데이터베이스를 “액세스할 수 없음”으로 표시합니다.

구성 요소

  • Key Vault는 보안 강화를 통해 비밀을 저장하고 액세스하기 위한 클라우드 서비스입니다. 이 아키텍처에서는 TDE에서 사용하는 키를 저장하는 데 사용됩니다. 키를 만드는 데 사용할 수도 있습니다.
  • SQL Managed Instance는 안정적인 최신 버전의 SQL Server를 기반으로 하는 Azure의 관리되는 인스턴스입니다. 이 아키텍처에서 키 관리 프로세스는 SQL Managed Instance에 저장된 데이터에 적용됩니다.
  • Azure Private Link를 사용하면 가상 네트워크의 프라이빗 엔드포인트를 통해 Azure PaaS 서비스 및 Azure 호스트된 서비스에 액세스할 수 있습니다.

대안

  • 고객 관리형 TDE 키를 사용하는 대신 서비스 관리형 TDE 키를 사용할 수 있습니다. 서비스 관리형 키를 사용하는 경우 Microsoft에서 키 보안 및 회전을 처리합니다. 전체 프로세스가 추상화됩니다.

  • 두 지역에 여러 키 자격 증명 모음을 포함하는 것의 대안은 단일 지역에 하나만 포함하는 것입니다. SQL Managed Instance는 다른 지역에 있는 자격 증명 모음에서 키에 액세스할 수 있습니다. 프라이빗 엔드포인트를 계속 사용할 수 있습니다. Key Vault에 대한 트래픽이 낮고 드물게 발생하므로 대기 시간이 눈에 띄지 않습니다. SQL Managed Instance는 키가 있는지 확인하기 위해 자격 증명 모음을 쿼리하면 됩니다. 자료를 복사하지 않습니다.

시나리오 정보

BYOK(Bring Your Own Key)라고도 하는 CMK(고객 관리형 키)를 사용하는 경우 키의 보안, 가용성 및 선택적 회전에 대한 책임을 집니다. 키가 손실되면 데이터베이스와 백업도 영구적으로 손실되기 때문에 이 책임은 중요합니다. 이 문서에서는 키 관리 프로세스를 설명하고 비즈니스에 가장 적합한 프로세스에 관한 정보 기반 결정을 내리는 데 필요한 정보를 갖출 수 있도록 옵션을 제공합니다.

잠재적인 사용 사례

많은 조직에는 인증서 또는 암호화 키를 내부적으로 만들고 관리해야 하는 정책이 있습니다. 조직에 비슷한 정책이 있는 경우 이 아키텍처가 적용될 수 있습니다. 고객이 이 항목을 내부적으로 관리해야 하는 경우 아키텍처도 적용될 수 있습니다. 해당 상황이 모두 적용되지 않는 경우 시스템 관리형 키를 사용하는 것이 좋습니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

일반 권장 사항

아래 문서를 참조하세요.

키 관리

키 회전 방법은 TDE 비대칭 키를 만드는 데 사용하는 항목에 따라 달라집니다. 고유한 TDE 래퍼 키를 가져올 때 이 키를 만드는 방법을 결정해야 합니다. 옵션은 다음과 같습니다.

  • Key Vault를 사용하여 키를 만듭니다. 이 옵션을 사용하면 프라이빗 키 자료는 Key Vault를 벗어나지 않으며 사람이나 시스템이 볼 수 없습니다. 프라이빗 키는 내보낼 수 없지만 백업하고 다른 키 자격 증명 모음으로 복원할 수 있습니다. 이 점은 중요합니다. 이 디자인에서 요구하는 대로 여러 키 자격 증명 모음에 동일한 키 자료를 사용하려면 백업 및 복원 기능을 사용해야 합니다. 이 옵션에는 여러 가지 제한 사항이 있습니다. 두 키 자격 증명 모음은 모두 동일한 Azure 지리와 구독에 있어야 합니다. 그렇지 않으면 복원이 작동하지 않습니다. 이 제한 사항에 대한 유일한 방법은 키 자격 증명 모음을 별도의 구독에 유지하고 한 구독을 다른 지역으로 이동하는 것입니다.

  • OpenSSL 같은 유틸리티를 사용하여 비대칭 키를 오프라인으로 생성한 다음, 키를 Key Vault로 가져옵니다. 키를 Key Vault로 가져올 때 내보낼 수 있는 것으로 표시할 수 있습니다. 이렇게 하면 키를 Key Vault로 가져온 후 키를 삭제할 수 있고, 온-프레미스 또는 다른 키 자격 증명 모음과 같은 다른 곳에 키를 저장할 수도 있습니다. 이 옵션이 가장 큰 유연성을 제공합니다. 그러나 키가 잘못된 사람의 손에 들어가지 않는다는 것을 제대로 보장하지 않는 경우 가장 안전하지 않을 수 있습니다. 키를 생성하는 시스템과 키를 Key Vault에 배치하는 데 사용되는 방법은 Azure에서 제어되지 않습니다. Azure DevOps, Azure Automation 또는 다른 오케스트레이션 도구를 사용하여 이 프로세스를 자동화할 수 있습니다.

  • 지원되는 온-프레미스 HSM(하드웨어 보안 모듈)을 사용하여 키를 생성합니다. 지원되는 HSM을 사용하여 향상된 보안을 통해 키를 Key Vault로 가져올 수 있습니다. 앞에서 설명한 동일한 지리 제한 사항은 HSM을 사용할 때 적용되지 않습니다. 이 옵션은 키 자료가 세 개의 별도 위치(Azure 및 온-프레미스의 두 개 키 자격 증명 모음)에 있으므로 키에 대한 높은 수준의 보안을 제공합니다. 지원되는 HSM을 사용하는 경우 이 옵션은 동일한 수준의 유연성도 제공합니다.

가용성

아키텍처에 Key Vault를 추가하면 Key Vault가 중요한 구성 요소가 됩니다. 디자인의 키 자격 증명 모음 중 하나 이상에 액세스할 수 있어야 합니다. 또한 TDE에 필요한 키에 액세스할 수 있어야 합니다. Azure Monitor Insights는 Key Vault의 포괄적인 모니터링을 제공합니다. 자세한 내용은 키 자격 증명 모음 서비스 모니터링을 참조하세요.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성 핵심 요소의 개요를 참조하세요.

서비스 관리형 키에서 고객 관리형 키로 이동하는 경우 작업은 다음과 같습니다.

DevOps

Azure DevOps에서 Azure Pipelines를 사용하여 키 회전 프로세스를 자동화할 수 있습니다.

성능 효율성

성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요를 참조하세요.

SQL Managed Instance 자동 장애 조치 그룹은 쌍을 이루는 지역을 사용할 때 훨씬 더 나은 성능을 발휘합니다.

SQL Managed Instance는 키가 있는지 여부만 확인하고 10분마다 확인합니다. 따라서 SQL Managed Instances에는 Key Vault와 관련된 지역 선호도가 필요하지 않습니다. TDE 키의 위치는 성능에 영향을 주지 않습니다.

확장성

TDE 키 관리와 관련하여 스케일링은 문제가 되지 않습니다. 요청 크기 및 빈도가 너무 작아 스케일링할 필요가 없습니다.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

가장 큰 보안 고려 사항은 TDE 래퍼 키를 안전하게 유지하고 SQL Managed Instance에서 항상 사용할 수 있도록 하는 것입니다. TDE를 통해 암호화된 모든 데이터베이스의 경우 Key Vault에서 필요한 키에 액세스할 수 없는 경우 이 데이터베이스에 액세스할 수 없습니다. 서비스 관리형 키를 사용하는 경우 이 고려 사항에 대해 걱정할 필요가 없습니다.

복원력

각 SQL 관리되는 인스턴스는 두 개의 키 자격 증명 모음을 사용하도록 구성됩니다. SQL 관리되는 인스턴스 기본 TDE 키를 사용할 수 없거나 액세스할 수 없는 경우 인스턴스는 보조 키 자격 증명 모음에서 지문이 일치하는 키를 찾으려고 시도합니다.

비용 최적화

추가 운영 비용 외에 자체 TDE 키를 관리하는 추가 비용에 대한 내용은 다음 리소스를 참조하세요.

선택적 구성 요소에 대한 내용은 다음 리소스를 참조하세요.

시나리오 배포

다음 ARM 템플릿을 사용하여 이 시나리오를 배포할 수 있습니다.

참가자

이 문서는 Microsoft에서 업데이트 및 유지 관리 중입니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계