Important
인텔 소프트웨어 가드 확장 프로그램으로 항상 암호화된 (Intel SGX) 엔클레이브는 2027년 10월 31일에 지원이 종료됩니다. 이 날짜 이전에 영향을 받은 데이터베이스를 마이그레이션하세요. 2027년 10월 31일 이후, Azure는 DC 시리즈 컴퓨트 티어에 남아 있는 모든 데이터베이스를 지원되는 표준 시리즈(비-DC) 컴퓨트 티어로 자동으로 이동시키고, 가상화 기반 보안(VBS) 엔클레이브를 활성화합니다.
이 글에서는 Always Encrypted with Intel SGX enclaves의 대안과 각 대안에 필요한 변경 사항을 설명합니다. 대안을 선택하기 전에 보안 고려 사항을 꼭 검토하세요. 인텔 SGX와 VBS 엔클레이브는 게스트 운영체제와 호스트에서 발생하는 공격에 대해 서로 다른 보호 기능을 제공합니다.
시작하기 전에 목표 Azure SQL 논리 서버, 데이터베이스, 탄력적 풀을 보고 수정할 수 있는지 확인하세요. PowerShell의 경우 Az PowerShell 모듈을 설치하고 Azure에 로그인하세요. Azure CLI의 경우 Azure CLI를 설치하고 Azure에 로그인합니다. 영향을 받는 데이터베이스에 연결된 애플리케이션을 목록화하여 마이그레이션 시 드라이버, 연결 문자열, 인증 설정을 업데이트할 수 있도록 하세요.
DC 시리즈를 사용하는 데이터베이스 식별
마이그레이션을 계획하기 전에 DC-시리즈를 사용하는 모든 독립 실행형 데이터베이스와 탄력적 풀을 식별하세요. DC 시리즈 탄력적 풀의 모든 데이터베이스가 영향을 받습니다.
- Azure portal에서 사용자의 Azure SQL 논리 서버로 이동하세요.
- 개요 페이지에서 이용 가능한 자료를 찾으세요. 이 표는 논리 서버의 데이터베이스를 나열합니다.
- 가격 등급 열에서 필터를 선택한 후 DC-시리즈로 필터링하세요.
- 필터링된 목록에 각 데이터베이스를 기록하세요. 이 데이터베이스는 DC 시리즈와 Intel SGX 엔클레이브를 사용합니다.
- 사용자 환경에서 Azure SQL 데이터베이스를 호스팅하는 각 논리 서버마다 이 단계를 반복하세요.
마이그레이션 경로 선택
작업 부하의 보안 및 애플리케이션 요구사항을 충족하는 마이그레이션 경로를 선택하세요. 다음 비교를 기준점으로 삼아, 프로덕션 변경을 수행하기 전에 선택한 경로에 대한 상세 지침을 검토하세요.
| 마이그레이션 경로 | 이 옵션은 다음과 같은 경우에 사용합니다. | Attestation |
|---|---|---|
| Azure SQL Database with VBS enclaves | Azure SQL Database에 계속 머무르고 VBS 엔클레이브가 보안 요구사항을 충족하는 것이 좋습니다. | Azure SQL Database VBS Enclave는 증명을 지원하지 않습니다. |
| VBS enclave를 사용하는 Azure 기밀 VM의 SQL Server | 호스트 운영자의 접근으로부터 게스트 운영 체제를 보호하는 데 도움이 되는 하드웨어로 강제되는 경계가 필요합니다. | 호스트 후견인 서비스(HGS) 인증은 선택 사항입니다. |
단일 데이터베이스를 VBS 엔클레이브로 마이그레이션
이 경로를 사용하여 Azure SQL Database에서 enclave 사용 가능 기능을 유지할 수 있습니다.
- 작업 부하의 성능과 가용성 요구사항을 충족하는 지원되는 표준 시리즈(비-DC) 하드웨어 구성을 선택하세요.
- 데이터베이스를 선택한 하드웨어 구성으로 이동하세요.
-
데이터베이스에 대해 VBS 인클레이브를 사용하도록 설정하세요. VBS enclaves를 활성화하면
preferredEnclaveType데이터베이스 속성이VBS로 설정됩니다. - 증명 없는 VBS 엔클레이브용 클라이언트 드라이버 요구 사항을 검토하고, 필요한 경우 애플리케이션 드라이버를 업데이트하세요.
- 각 애플리케이션 연결을
Noneenclave attestation 프로토콜을 사용하도록 업데이트하고 Microsoft Azure Attestation URL을 제거하세요. 정확한 연결 문자열 키워드는 클라이언트 드라이버에 따라 다릅니다. - 마이그레이션 후 검증을 완료하세요.
탄력성 풀을 VBS 엔클레이브로 마이그레이션하기
탄력적 풀 내 모든 데이터베이스는 풀의 엔클레이브 구성을 상속받습니다. 이 경로를 사용하여 Azure SQL elastic pool에서 데이터베이스에 대한 enclave-enabled 기능을 유지하세요.
- 풀의 성능 및 가용성 요구사항을 충족하는 지원되는 표준 시리즈(비직류) 구성을 선택하세요. 풀 구성 변경에 관한 정보는 Azure SQL Database에서 탄력적 풀 관리를 참조하세요.
-
탄성 풀에 VBS 엔클레이브를 활성화하세요. VBS 엔클레이브를 활성화하면 풀 속성
VBS이preferredEnclaveType로 설정됩니다. - VBS 엔클레이브의 클라이언트 드라이버 요구사항을 확인하고, 필요하다면 애플리케이션 드라이버를 업데이트하세요.
- 각 애플리케이션 연결을 enclave attestation 프로토콜로 업데이트하고
None, Microsoft Azure Attestation URL을 제거하세요. 정확한 연결 문자열 키워드는 클라이언트 드라이버에 따라 다릅니다. - 풀 내 모든 데이터베이스에 대해 마이그레이션 후 검증 을 완료하세요.
Migrate to SQL Server on an Azure confidential VM
호스트 운영자의 접근으로부터 손님 운영체제를 보호하는 하드웨어 강제 경계가 필요하다면, 이 경로를 고려해 보세요. Azure 기밀 VM은 VM 메모리를 암호화하고 인텔 SGX 엔클레이브와는 다른 보안 속성을 제공합니다. 이러한 차이점을 귀하의 보안 및 준수 요구사항과 비교해 평가하세요.
- SQL Server を Azure confidential VM에 배포하세요.
- 엔클레이브 증명 사용 여부를 선택하세요:
- 선택한 증명 옵션에 대한 지침에 따라 SQL Server 인스턴스에서 VBS 엔클레이브를 사용하여 Always Encrypted를 구성하세요.
- 데이터베이스, 로그인, 키, 애플리케이션 연결성 및 의존 자원의 마이그레이션을 계획하세요.
- 데이터베이스 크기, 네트워크 구성, 다운타임 요구사항, 지원되는 데이터베이스 객체를 기준으로 데이터 마이그레이션 옵션을 선택하세요. 일반적인 선택지는 다음과 같습니다:
- Azure Data Factory: Azure SQL Database 커넥터를 소스로, SQL Server 커넥터를 싱크로 사용하는 복사 활동을 사용하세요. ADF는 항상 암호화된 열을 이진 또는 암호문 값으로 처리하며, 열 마스터 키에 접근할 필요 없이 이들을 이동시킵니다.
- 스마트 벌크 복사: 스마트 벌크 복사를 사용해 Azure SQL Database에서 SQL Server로 스키마와 데이터를 복사하세요. 마이그레이션 전에 도구의 전제 조건과 한계를 검토하세요.
- BACPAC: 데이터 계층 애플리케이션에서 지원하는 개체가 있는 소규모 데이터베이스에는 BACPAC을 고려하세요. 항상 암호화된 데이터는 내보내기 및 가져오기 시 암호화된 상태를 유지하며, BACPAC에는 항상 암호화된 키 메타데이터가 포함되어 있습니다. 자세한 내용은 '항상 암호화된 데이터베이스 내보내기', 'BACPAC 파일 내보내기', ' BACPAC 파일을 가져오기', 'BACPAC 파일을 가져오기' 하여 새 데이터베이스 생성하기를 참조하세요.
- SQL Server 인스턴스 및 선택한 증명 옵션에 대한 애플리케이션의 연결 문자열을 업데이트하세요.
- 마이그레이션 후 검증을 완료하세요.
마이그레이션 유효성 검사
업무량을 본대로 옮기기 전에:
- 애플리케이션이 항상 암호화가 활성화된 상태에서 연결할 수 있는지 확인하세요.
- 암호화된 열을 사용하는 대표적인 쿼리를 실행하세요. 대상 환경에서 보안 엔클레이브를 사용하는 경우에는 엔클레이브 계산이 필요한 쿼리도 포함하세요.
- 암호화된 열에 대한 삽입, 업데이트, 삭제, 인덱스 작업이 예상대로 작동하는지 확인하세요.
- 애플리케이션 성능을 테스트하고 필요하다면 대상 컴퓨팅 구성을 조정하세요.
- 비즈니스 연속성, 재해 복구, 장애 전환 절차를 테스트하세요. 워크로드가 엔클레이브 지원 작업을 사용하는 경우, 모든 데이터베이스 복제본은 보안 엔클레이브를 지원해야 합니다.
- 컷오버를 완료하기 전에 애플리케이션의 엔클레이브, 인증, 쿼리 오류를 모니터링하세요.