다음을 통해 공유


DAC 패키지를 사용하여 열 암호화 인플레이스 구성

적용 대상: SQL Server Azure SQL Database

DACPAC라고도 하는 DAC(데이터 계층 애플리케이션) 패키지는 테이블 내의 테이블 및 열을 포함하여 모든 SQL Server 개체를 정의하는 SQL Server 데이터베이스 배포의 이식 가능한 단위입니다. DACPAC를 데이터베이스에 게시하면(DACPAC를 사용하여 데이터베이스를 업그레이드할 때) 대상 데이터베이스의 스키마가 DACPAC의 스키마와 일치하도록 업데이트됩니다. SQL Server Management Studio, PowerShell 또는 sqlpackage에서 데이터 계층 애플리케이션 업그레이드 마법사를 사용하여 DACPAC를 게시할 수 있습니다.

이 문서에서는 DACPAC 또는/및 대상 데이터베이스에 Always Encrypted로 보호되는 열이 포함된 경우 데이터베이스 업그레이드에 대한 특별한 고려 사항을 설명합니다. DACPAC의 열에 대한 암호화 체계가 대상 데이터베이스의 기존 열에 대한 암호화 체계와 다른 경우 DACPAC를 게시하면 열에 저장된 데이터를 암호화, 암호 해독 또는 다시 암호화할 수 있습니다. 세부 정보는 다음 테이블을 참조하세요.

조건 작업
DACPAC에서는 열이 암호화되고 데이터베이스에서는 암호화되지 않습니다. 열의 데이터가 암호화됩니다.
DACPAC에서는 열이 암호화되지 않고 데이터베이스에서는 암호화됩니다. 열의 데이터 암호가 해독됩니다(열에 대한 암호화가 제거됨).
이 열은 DACPAC와 데이터베이스 모두에서 암호화되지만 DACPAC의 열은 데이터베이스의 해당하는 열과 다른 암호화 유형 또는/및 다른 열 암호화 키를 사용합니다. 열의 데이터 암호가 해독된 다음 DACPAC의 암호화 구성에 맞게 다시 암호화됩니다.

DAC 패키지를 배포하면 Always Encrypted에 사용되는 열 마스터 키 또는 열 암호화 키의 메타데이터 개체가 생성되거나 제거될 수도 있습니다.

참고 항목

SQL Server 2019(15.x) 이상 또는 Azure SQL 데이터베이스를 사용하고 SQL Server 인스턴스 또는 데이터베이스가 보안 Enclave로 구성된 경우 데이터베이스 외부로 데이터를 이동하지 않고도 바로 암호화 작업을 실행할 수 있습니다. 보안 enclave를 사용한 Always Encrypted를 이용하여 내부 열 암호화 구성을 참조하세요. DAC 패키지를 사용하여 현재 위치 암호화를 트리거하려면 사용자가 EnclaveAttestationProtocolEnclaveAttestationUrl 속성을 지정해야 합니다.

보안 Enclave를 사용한 Always Encrypted가 설정된 경우 DAC 패키지를 게시할 수 있는 권한

보안 Enclave를 사용한 Always Encrypted가 DACPAC 또는/및 대상 데이터베이스에 설정된 경우 DACPAC의 스키마와 대상 데이터베이스 스키마 간의 차이점에 따라 아래 권한의 일부 또는 전부가 필요할 수 있습니다.

ALTER ANY COLUMN MASTER KEY, ALTER ANY COLUMN ENCRYPTION KEY, VIEW ANY COLUMN MASTER KEY DEFINITION, VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

업그레이드 작업에서 데이터 암호화 작업을 트리거하는 경우에는 열 마스터 키에 액세스하여 사용할 수 있는 키 저장소 권한도 필요합니다. 키 저장소 권한에 대한 자세한 정보는 Enclave 사용 키 프로비전으로 이동하여 저장소와 관련된 섹션을 찾습니다.

다음 단계

참고 항목