Azure Key Vault를 사용하여 확장 가능한 키 관리에 대한 관리 ID 지원
적용 대상: Azure VM에서 SQL Server(Windows에만 해당)
이 문서에서는 Azure Virtual Machines(가상 머신)상의 SQL Server
개요
SQL Server 2022 누적 업데이트 17(CU17)부터 Azure VM의 SQL Server에서 AKV 및 관리형 하드웨어 보안 모듈(HSM)을 사용하는 EKM에 대해 관리 식별자가 지원됩니다. 관리 ID는 다른 Azure 서비스가 암호 또는 비밀을 사용하지 않고 Azure VM 리소스에서 SQL Server를 인증할 수 있도록 하는 권장 인증 방법입니다. 관리 ID에 대한 자세한 내용은 관리 ID 형식참조하세요.
메모
관리 ID는 Azure VM의 SQL Server에 대해서만 지원되며 SQL Server 온-프레미스에는 지원되지 않습니다.
온-프레미스 SQL Server에 대해 AKV를 사용하여 EKM을 설정하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용하여 SQL Server TDE 확장 가능 키 관리 설정 을(를) 참조하세요.
필수 구성 요소
- Azure VM에 SQL Server 2022 CU17 이상이 설치되어 있고, Microsoft Entra 인증이 구성된 SQL Server
. - Azure Key Vault 및 해당 자격 증명 모음에서 생성된 키. 자세한 내용은 키 자격 증명 모음 만들기참조하세요.
- 관리 ID는 AKV에서 EKM을 지원하기 위해 사용됩니다. Azure VM의 SQL Server에 대한 기본 관리 ID에는 다음이 필요합니다.
- 사용자 할당 관리 ID 또는 시스템 할당 관리 ID로 할당됩니다. 자세한 내용은
Azure 가상 머신(VM)에서 관리 ID 구성 및Microsoft Entra 인증 활성화를 참조하세요. - 주요 관리 ID에 대해
Key Vault Crypto Service Encryption User
역할이 키 자격 증명 모음에 할당되려면, Azure 역할 기반 액세스 제어를 사용하는 경우 또는 자격 증명 모음 액세스 정책을 사용하여 키 래핑 해제 키 및 키 래핑 키 권한을 설정해야 합니다.
- 사용자 할당 관리 ID 또는 시스템 할당 관리 ID로 할당됩니다. 자세한 내용은
- 최신 버전의 SQL Server 커넥터를 Microsoft 다운로드 센터에서 다운로드하세요.
EKM 공급자에 대한 레지스트리 키 추가
관리 ID를 사용하여 자격 증명을 만들려면 EKM 공급자가 관리 ID를 사용할 수 있도록 레지스트리 키를 추가해야 합니다. 이 단계는 컴퓨터 관리자가 수행해야 합니다. 자세한 단계는 4단계: EKM 공급자지원하는 레지스트리 키 추가를 참조하세요.
관리 ID를 사용하여 서버 자격 증명 만들기
다음 예제에서는 AKV와 함께 사용할 관리 ID에 대한 자격 증명을 만드는 방법을 보여줍니다.
CREATE CREDENTIAL [<akv-name>.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
sys.credentials
쿼리하여 AKV 이름을 확인할 수 있습니다.
SELECT name, credential_identity
FROM sys.credentials
WITH IDENTITY = 'Managed Identity'
절에는 Azure VM의 SQL Server에 할당된 기본 관리 ID가 필요합니다.
AKV를 사용하여 EKM을 설정하는 방법에 대한 자세한 내용은 Azure Key Vault사용하여 SQL Server TDE 확장 가능 키 관리 설정을 참조하세요.
HSM(Managed Hardware Security Modules)에서 사용할 자격 증명 만들기
Azure Key Vault HSM(Managed Hardware Security Modules)에서 사용할 자격 증명을 만들려면 다음 구문을 사용합니다.
CREATE CREDENTIAL [<akv-name>.managedhsm.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
AKV를 사용하여 EKM을 설정하는 방법에 대한 자세한 내용은 Azure Key Vault사용하여 SQL Server TDE 확장 가능 키 관리 설정을 참조하세요.
관리 ID를 사용하도록 기존 EKM 구성을 업그레이드하는 T-SQL 명령
현재 구성에서 비밀을 사용하여 AKV에서 EKM을 사용하는 경우 기존 자격 증명을 삭제하고 관리 ID를 사용하여 새 자격 증명을 만들어야 합니다. 다음 T-SQL 명령은 관리 ID를 사용하도록 기존 EKM 구성을 업그레이드하는 방법을 보여 줍니다.
관리 ID를 사용하여 자격 증명을 만듭니다.
CREATE CREDENTIAL [<akv-name>.vault.azure.net] WITH IDENTITY = 'Managed Identity' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
SQL Server 관리 도메인 로그인과 연결된 비밀을 사용하는 자격 증명이 있는 경우 기존 자격 증명을 삭제합니다.
ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL [<existing-credential-name>]
새 자격 증명을 SQL Server 관리 도메인 로그인과 연결합니다.
ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL [<akv-name>.vault.azure.net]
다음 쿼리를 사용하여 암호화된 데이터베이스 뷰를 확인하여 데이터베이스 암호화를 확인할 수 있습니다.
SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id=db_id('<your-database-name>')
AKV를 사용하여 EKM을 설정하는 방법에 대한 자세한 내용은 Azure Key Vault사용하여 SQL Server TDE 확장 가능 키 관리 설정을 참조하세요.
오류 메시지
추적 플래그 4675를 사용하여 관리 ID로 생성된 자격 증명을 확인할 수 있습니다. 추적 플래그 4675를 사용하지 않고 CREATE CREDENTIAL
문을 실행한 경우 주 관리 ID가 서버에 대해 설정되지 않은 경우 오류 메시지가 발생하지 않습니다. 이 시나리오를 해결하려면 추적 플래그를 사용하도록 설정하면 자격 증명을 삭제하고 다시 만들어야 합니다.
주 관리 ID가 할당되지 않음
기본 관리 ID가 Azure VM의 SQL Server에 할당되지 않은 경우 관리 ID가 선택되지 않았음을 나타내는 오류 메시지와 함께 백업 및 복원 작업이 실패합니다.
Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`
SQL Server 커넥터 버전은 AKV를 사용하여 EKM에 대한 관리 ID를 지원하지 않습니다.
이전 SQL Server 커넥터 버전을 사용하는 경우 관리 ID가 있는 서버 자격 증명을 사용하여 T-SQL CREATE ASYMMETRIC KEY
문을 실행할 때 다음 오류가 발생합니다.
Msg 37576, Level 16, State 2, Line 60
The current SQL Server Connector version for Microsoft Azure Key Vault does not support the managed identity (see https://aka.ms/sql-server-managed-identity-doc). Upgrade the SQL Server Connector to its latest version
제약사항
- 서버 수준 관리 ID는 온-프레미스 SQL Server가 아닌 Azure VM의 SQL Server에 대해서만 지원됩니다. Linux에서 서버 수준 관리 ID는 지원되지 않습니다.
- 관리 ID 사용하여 AKV 및
Backup을 사용하여 EKM에 대한 관리 ID 지원 및 URL로 복원하는 것은 Azure VM의 SQL Server에 대한 관리 ID를 지원하는 유일한 Azure 서비스입니다. - AKV를 사용하는 EKM에 대한 관리 ID 지원에는 최신 SQL Server 커넥터 버전이 필요합니다. 최신 버전을 Microsoft 다운로드 센터에서 다운로드하여 설치하십시오.
- Microsoft Entra 인증은 Azure VM의 SQL Server에 대한 하나의 기본 관리 ID로만 사용하도록 설정할 수 있습니다. 기본 관리 ID는 VM의 모든 SQL Server 인스턴스에 사용됩니다.