개선 사항: Azure VM의 SQL Server에서 AKV를 사용하여 백업 및 복원 데이터베이스 작업 및 EKM에 대한 Microsoft Entra 관리 ID 지원
증상
백업 또는 데이터베이스 작업을 Azure Storage로 복원하거나 관리 ID가 있는 서버 수준 자격 증명을 사용하여 AKV(Azure Key Vault)와 함께 EKM(Extensible Key Management)을 사용하는 경우 SQL Server 인스턴스의 응답이 중지될 수 있습니다. 이 작업은 SQL Server 2022에서 지원되지 않지만 현재 T-SQL 구문에서 사용할 수 있습니다.
해결
이 문제는 Azure VM(가상 머신)의 SQL Server에 대한 다음 누적 업데이트에서 해결되었습니다.
SQL Server 2022 CU17 이상 버전에서 Azure Windows의 SQL Server를 사용한 Microsoft Entra 관리 ID 인증 전용 VM은 데이터베이스 백업 및 복원 작업을 Azure Storage 및 AKV를 사용한 EKM에 대한 서버 수준 자격 증명 을 지원합니다.
Azure Windows VM의 SQL Server에 대한 백업 또는 복원 데이터베이스 작업에 대한 관리 ID 지원을 사용하도록 설정하려면 다음 단계가 필요합니다.
- Azure Windows VM의 SQL Server에 대한 기본 관리 ID를 할당합니다.
- Blob 컨테이너와 함께 Azure Storage를 만들거나 사용합니다.
- 기본 관리 ID에 대한 RBAC(역할 기반 액세스 제어) 역할을 할당하여 Azure Storage에 액세스합니다.
- Azure Storage URL을 자격 증명 이름으로 사용하여 절과 함께
WITH IDENTITY = 'Managed Identity'
T-SQL 명령을CREATE CREDENTIAL
실행합니다. - T-SQL 명령을
BACKUP DATABASE
실행하거나RESTORE DATABASE
Azure Storage URL을 사용합니다.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]
WITH IDENTITY = 'Managed Identity'
-- Backup the database mydb to URL
BACKUP DATABASE mydb
TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1
FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
자세한 내용은 관리 ID를 사용하여 백업 및 URL로 복원을 참조 하세요.
Azure Windows VM에서 SQL Server용 AKV를 사용하여 EKM에 대한 관리 ID 지원을 사용하도록 설정하려면 다음 단계가 필요합니다.
- Azure Windows VM의 SQL Server에 대한 기본 관리 ID를 할당합니다.
- 키 자격 증명 모음을 만들거나 사용합니다.
- 주 관리 ID에 대한 RBAC(역할 기반 액세스 제어) 역할을 할당하여 AKV에 액세스합니다.
- 최신 Microsoft Azure 주요 자격 증명 모음용 SQL Server 커넥터(1.0.5.0(2024년 11월) 이상 버전)을 다운로드합니다. 관리 ID를 지원하려면 최신 버전의 SQL Server 커넥터가 필요합니다.
- AKV 경로를 자격 증명 이름으로 사용하여 절로 T-SQL 명령을
CREATE CREDENTIAL
WITH IDENTITY = 'Managed Identity'
실행합니다.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'
CREATE CREDENTIAL [contoso.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
- AKV를 사용하여 EKM의 T-SQL 설정의 나머지 부분을 실행합니다.
자세한 내용은 Azure Key Vault를 사용한 확장 가능한 키 관리에 대한 관리 ID 지원을 참조 하세요.
참고 항목
- 기본적으로 사용하지 않도록 설정된 추적 플래그 4675를 사용하면 서버 수준 자격 증명 문제를 해결할 수 있으며 SQL Server 인스턴스에 할당된 기본 관리 ID를 확인하는 데 사용할 수 있습니다.
- 관리 ID 지원은 Azure SQL Managed Instance에 대해 이 기능이 이미 존재하기 때문에 T-SQL 구문 또는 시스템 보기 변경 내용을 도입하지 않습니다.
- 관리 ID는 SQL Server 온-프레미스의 서버 수준 자격 증명에 대해 지원되지 않습니다. AKV를 사용하여 Azure Storage 또는 EKM에 백업 또는 복원을 실수로 사용하는 경우 "서버에 대한 기본 관리 ID가 설정되지 않았습니다..."라는 오류 메시지가 표시됩니다. 공용 설명서라고 합니다.
SQL Server의 누적 업데이트 정보
SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함됩니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.
SQL Server 2022에 대한 최신 누적 업데이트
상태
Microsoft는 "적용 대상" 섹션에 있는 Microsoft 제품에 문제가 있다는 것을 확인했습니다.