적용 대상: SQL Server 2025(17.x) 미리 보기
이 문서에서는 Azure Arc에서 사용하도록 설정된 SQL Server에서 AKV(Azure Key Vault)를 사용하여 EKM(확장 가능 키 관리)에 관리 ID를 사용하는 방법을 보여 줍니다.
개요
SQL Server 2025(17.x) 미리 보기부터 관리 ID는 Azure Arc에서 사용하도록 설정된 SQL Server의 AKV 및 HSM(Managed Hardware Security Modules)을 사용하여 EKM에 대해 지원됩니다. 관리 ID는 다른 Azure 서비스가 암호 또는 비밀을 사용하지 않고 Azure Arc 리소스에서 사용하도록 설정된 SQL Server를 인증할 수 있도록 하는 권장 인증 방법입니다. 관리 ID에 대한 자세한 내용은 관리 ID 형식참조하세요.
필수 조건
- SQL Server 인스턴스를 Azure Arc에 연결합니다. 자세한 내용은 SQL Server를 Azure Arc에 자동으로 연결하는 방법을 참조하세요.
- SQL Server 2025 미리 보기에 관리 ID를 사용하도록 설정합니다.
- Azure Key Vault 및 해당 자격 증명 모음에서 생성된 키. 자세한 내용은 키 자격 증명 모음 만들기참조하세요.
- Azure Arc에서 사용하도록 설정된 SQL Server의 관리 ID는
Key Vault Crypto Service Encryption User
역할이 키 볼트에 할당되어 있어야 합니다. Azure 역할 기반 액세스 제어를 사용하는 경우, 또는 키 볼트 액세스 정책을 사용하는 경우 키 해제 및 키 래핑 권한이 필요합니다. - 최신 버전의 SQL Server 커넥터를 다운로드하여 설치합니다.
1단계: EKM 공급자에 대한 레지스트리 키 추가
관리 ID를 사용하여 자격 증명을 만들려면 EKM 공급자가 관리 ID를 사용할 수 있도록 레지스트리 키를 추가해야 합니다. 이 단계는 컴퓨터 관리자가 수행해야 합니다. 자세한 단계는 4단계: EKM 공급자지원하는 레지스트리 키 추가를 참조하세요.
2단계: 데이터베이스 구성 master
SQL Server Management Studio를 엽니다.
다음 Transact-SQL 스크립트를 실행하여 EKM을 사용하도록 SQL Server를 구성합니다.
-- Enable advanced options. USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO -- Enable EKM provider EXECUTE sp_configure 'EKM provider enabled', 1; GO RECONFIGURE; GO
SQL Server 커넥터를 SQL Server에 EKM 공급자로 등록합니다.
Azure Key Vault의 EKM 공급자인 SQL Server 커넥터를 사용하여 암호화 공급자를 만듭니다. 이 예제에서는 공급자 이름이
AzureKeyVault_EKM
입니다.CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'; GO
비고
파일 경로 길이는 256자를 초과할 수 없습니다.
3단계: 관리 ID를 사용하여 서버 자격 증명 만들기
다음 예제에서는 Azure Key Vault에서 사용할 관리 ID에 대한 자격 증명을 만드는 방법을 보여 줍니다.
CREATE CREDENTIAL [<akv-name>.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
sys.credentials
쿼리하여 AKV 이름을 확인할 수 있습니다.
SELECT name, credential_identity
FROM sys.credentials;
이 조항은 Azure Arc에서 활성화된 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;
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;
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는 온-프레미스 SQL Server가 아닌 Azure Arc에서 사용하도록 설정된 SQL Server 2025에 대해서만 지원됩니다. Linux에서 서버 수준 관리 ID는 지원되지 않습니다.
- AKV를 사용하는 EKM에 대한 관리 ID 지원에는 최신 SQL Server 커넥터 미리 보기 버전이 필요합니다.