Always Encrypted 마법사를 사용하여 열 암호화 구성
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance
Always Encrypted 마법사는 선택한 데이터베이스 열에 대해 원하는 Always Encrypted 구성을 설정할 수 있는 강력한 도구입니다. 현재 구성 및 원하는 대상 구성에 따라 마법사는 열을 암호화하거나, 암호를 해독하거나(암호화 제거) 다시 암호화할 수 있습니다(예: 열에 대해 구성된 현재 형식과 다른 새 열 암호화 키 또는 암호화 형식 사용). 마법사를 한 번 실행할 때 여러 열을 구성할 수 있습니다.
마법사를 사용하면 기존 열 암호화 키를 사용하여 열을 암호화하거나 새 열 암호화 키 또는 새 열 암호화 키와 새 열 마스터 키 모두를 생성하도록 선택할 수 있습니다.
데이터베이스가 보안 Enclave로 구성된 경우 데이터베이스 외부로 데이터를 이동하지 않고도 바로 암호화 작업을 실행할 수 있습니다. 마법사는 암호화할 열의 스키마 변경을 차단하는 모든 종속성을 제거합니다. 데이터베이스 엔진 내에서 Enclave를 사용하여 각 열에 대한 현재 위치 암호화를 발급합니다. 암호화가 완료되면 마법사가 종속성을 다시 만듭니다. 보안 Enclave를 사용한 Always Encrypted에 대한 자세한 내용은 보안 Enclave를 사용한 Always Encrypted를 참조하세요.
데이터베이스가 보안 Enclave로 구성되지 않은 경우 마법사는 보안 Enclave를 사용하도록 설정할 수 있는 기회를 제공합니다. 보안 Enclave를 사용하지 않도록 선택하거나 Enclave 사용 키를 사용하지 않는 경우 마법사는 데이터베이스에서 데이터를 이동시키고 SSMS 프로세스 내에서 암호화 작업을 수행하여 작동합니다. 마법사는 데이터베이스에서 원하는 암호화 구성을 사용하여 새 테이블을 만들고, 원래 테이블에서 모든 데이터를 로드하고, 요청된 암호화 작업을 수행하고, 데이터를 새 테이블에 업로드한 다음 원래 테이블을 새 테이블로 바꿉니다.
팁
사용자 환경에서 사용할 수 있는 경우 보안 Enclave를 사용한 Always Encrypted를 사용하여 현재 위치 암호화를 사용하면 암호화 작업의 시간과 안정성이 크게 줄어듭니다.
참고 항목
암호화 작업을 실행하는 데는 시간이 오래 걸릴 수 있습니다. 그동안 데이터베이스는 트랜잭션을 작성할 수 없습니다. PowerShell은 더 큰 테이블에서 암호화 작업에 권장되는 도구입니다. PowerShell로 Always Encrypted를 사용하여 열 암호화 구성 또는 PowerShell로 현재 위치 열 암호화 구성을 참조하세요.
마법사를 사용하여 Always Encrypted를 구성하고 클라이언트 애플리케이션에서 사용하는 방법을 보여 주는 엔드투엔드 연습은 다음 Azure SQL 데이터베이스 자습서를 참조하세요.
Always Encrypted 키에 대한 자세한 내용은 Always Encrypted를 위한 키 관리 개요를 참조하세요.
Always Encrypted에서 지원되는 암호화 형식에 대한 자세한 내용은 결정적 또는 임의 암호화 선택을 참조하세요.
사용 권한
마법사를 사용하여 암호화 작업을 수행하려면 VIEW ANY COLUMN MASTER KEY DEFINITION 및 VIEW ANY COLUMN ENCRYPTION KEY DEFINITION 권한이 있어야 합니다. 열 마스터 키를 생성, 액세스 및 사용하려면 키 저장소 권한도 필요합니다. 키 저장소 권한에 대한 자세한 정보는 Always Encrypted에 대한 열 마스터 키 생성 및 저장을 참조거나 키 저장소와 관련된 섹션을 확인하세요.
Always Encrypted 마법사 열기
다음 세 가지 수준에서 마법사를 시작할 수 있습니다.
- 데이터비스 수준 - 서로 다른 테이블에 있는 여러 열을 암호화하려는 경우.
- 테이블 수준 - 동일한 테이블에 있는 여러 열을 암호화하려는 경우
- 열 수준 - 특정 열을 암호화하려는 경우.
SQL Server Management Studio에서 개체 탐색기 구성 요소를 통해 SQL Server에 연결합니다.
암호화하려면 다음을 수행합니다.
- 데이터베이스의 여러 테이블에 있는 여러 열에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업을 가리킨 다음 열 암호화를 선택합니다.
- 같은 테이블에 있는 여러 열을 테이블로 이동하여 마우스 오른쪽 단추로 클릭한 다음 열 암호화를 선택합니다.
- 개별 열에서 열로 이동하여 마우스 오른쪽 단추로 클릭한 다음 열 암호화를 선택합니다.
열 선택 페이지
이 페이지에서는 암호화, 다시 암호화 또는 암호 해독할 열을 선택하고 선택한 열에 대한 대상 암호화 구성을 정의합니다.
일반 텍스트 열(암호화되지 않은 열)을 암호화하려면 암호화 형식(결정적 또는 임의)과 열에 대한 암호화 키를 선택합니다.
암호화 유형을 변경하거나 이미 암호화된 열에 대한 열 암호화 키를 회전(변경)하려면 원하는 암호화 유형 및 키를 선택합니다.
마법사에서 새 열 암호화 키를 사용하여 하나 이상의 열을 암호화하거나 다시 암호화하려면 이름에 (신규)가 포함된 키를 선택합니다. 그러면 마법사에서 키를 생성합니다.
현재 암호화된 열의 암호를 해독하려면 암호화 형식에 일반 텍스트를 선택합니다.
참고 항목
현재 위치 암호화를 활용하고 기존 키를 사용하는 경우 (Enclave 사용)로 주석이 추가된 Enclave 사용 키를 선택해야 합니다.
참고 항목
마법사는 임시 및 인메모리 테이블에 대한 암호화 작업을 지원하지 않습니다. Transact-SQL을 사용하여 빈 임시 또는 인메모리 테이블을 만들고 애플리케이션을 사용하여 데이터를 삽입할 수 있습니다.
마스터 키 구성 페이지
이전 페이지의 열에 대해 자동 생성된 열 암호화 키를 선택한 경우 이 페이지에서 기존 열 마스터 키를 선택하거나 열 암호화 키를 암호화하는 새 열 마스터 키를 구성해야 합니다.
새 열 마스터 키를 구성할 때 Windows 인증서 저장소 또는 Azure Key Vault에서 기존 키를 선택하고 마법사에서 데이터베이스의 키에 대한 메타데이터 개체만 만들거나 데이터베이스의 키를 설명하는 키와 메타데이터 개체 모두를 생성하도록 선택할 수 있습니다.
현재 위치 암호화를 사용하려면 새 열 마스터 키에 대해 Enclave 계산 허용을 선택해야 합니다. 데이터베이스가 보안 Enclave로 구성된 경우에만 이 확인란을 선택할 수 있습니다.
Windows 인증서 저장소, Azure Key Vault 또는 기타 키 저장소에서 열 마스터 키를 만들고 저장하는 방법에 대한 자세한 내용은 Always Encrypted에 대한 열 마스터 키 생성 및 저장 또는 보안 Enclave를 사용한 Always Encrypted용 키 관리를 참조하세요.
팁
마법사를 사용하면 Windows 인증서 저장소 및 Azure Key Vault에서만 키를 찾고 만들 수 있습니다. 또한 새 키의 이름과 키를 설명하는 데이터베이스 메타데이터 개체의 이름을 모두 자동으로 생성합니다. 키 프로비전 방법에 대한 추가 제어 및 열 마스터 키를 포함하는 키 저장소에 대한 추가 선택 항목이 필요한 경우 새 열 마스터 키 및 새 열 암호화 키 대화 상자를 사용하여 먼저 키를 만들고 마법사를 실행해 생성된 키를 선택할 수 있습니다. 새 열 마스터 키 대화 상자를 사용하여 열 마스터 키 프로비전 또는 Enclave 사용 키 프로비전 및 새 열 암호화 키 대화 상자를 사용하여 열 암호화 키 프로비전을 참조하세요.
현재 위치 암호화 설정 페이지
데이터베이스에서 보안 Enclave를 구성하고 Enclave 사용 키를 사용하는 경우 이 페이지에서 현재 위치 암호화에 필요한 Enclave 증명 매개 변수를 지정할 수 있습니다. 현재 위치 암호화를 사용하지 않으려면 적격 열에 대한 현재 위치 암호화 사용을 선택 취소하여 클라이언트 쪽 암호화를 계속 진행합니다. 마법사에서 현재 위치 암호화를 사용할 수 있도록 이 확인란을 사용 설정하는 것이 좋습니다.
Enclave 증명에 대한 자세한 내용은 Azure Attestation으로 Always Encrypted에 대한 증명 구성을 참조하세요
다음 단계
- SQL Server Management Studio로 Always Encrypted를 사용하는 열 쿼리
- 보안 Enclave를 사용하여 Transact-SQL문 실행
- Always Encrypted를 사용하여 애플리케이션 개발
- 자습서: 보안 enclave를 사용한 Always Encrypted를 이용하여 .NET 응용 프로그램 개발
참고 항목
- Always Encrypted
- 보안 enclave를 사용한 Always Encrypted
- Always Encrypted를 위한 키 관리 개요
- SQL Server Management Studio를 사용하여 Always Encrypted 구성
- 보안 Enclave를 사용한 Always Encrypted 구성 및 사용
- PowerShell을 사용하여 Always Encrypted 키 프로비저닝
- PowerShell을 사용하여 Enclave 사용 키 프로비전
- PowerShell로 Always Encrypted를 사용하여 열 암호화 구성
- PowerShell을 사용하여 열 암호화 인플레이스 구성
- DAC 패키지로 Always Encrypted를 사용하여 열 암호화 구성
- DACPAC을 사용하여 열 암호화 인플레이스 구성
- Transact-SQL을 사용하여 열 암호화 인플레이스 구성