SQL Server Management Studio를 사용하여 Always Encrypted 키 프로비저닝
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
이 문서에서는 SSMS(SQL Server Management Studio)를 사용하여 Always Encrypted에 대한 열 마스터 키 및 열 암호화 키를 프로비전하는 단계를 제공합니다. 암호화 키를 프로비전할 때는 GA(최신 일반 공급) 버전의 SSMS를 설치해야 합니다.
모범 사례, 권장 사항 및 중요한 보안 고려 사항을 비롯한 Always Encrypted 키 관리의 개요는 Always Encrypted를 위한 키 관리 개요를 참조하세요.
새 열 마스터 키 대화 상자를 사용하는 열 마스터 키 프로비전
새 열 마스터 키 대화 상자를 사용하면 열 마스터 키를 생성하거나 키 저장소에서 기존 키를 선택하고, 데이터베이스에서 만들거나 선택한 키에 대한 열 마스터 키 메타데이터를 만들 수 있습니다.
개체 탐색기를 사용하여 데이터베이스 아래의 보안 -> Always Encrypted 키 Node로 이동합니다.
열 마스터 키 Node를 마우스 오른쪽 버튼로 클릭하고 새 열 마스터 키...를 선택합니다.
새 열 마스터 키 대화 상자에서 열 마스터 키 메타데이터 개체의 이름을 입력합니다.
키 저장소를 선택합니다.
인증서 저장소 - 현재 사용자 - 개인 저장소인 Windows 인증서 저장소의 현재 사용자 인증서 저장소 위치를 나타냅니다.
인증서 저장소 - 로컬 컴퓨터 – Windows 인증서 저장소의 로컬 컴퓨터 인증서 저장소 위치를 나타냅니다.
Azure 주요 자격 증명 모음 – Azure에 로그인해야 합니다(로그인클릭). 로그인하면 Azure 구독 및 키 자격 증명 모음 또는 관리되는 HSM(SSMS 18.9 이상 필요) 중 하나를 선택할 수 있습니다.
참고 항목
Azure Key Vault의 관리되는 HSM에 저장된 열 마스터 키를 사용하려면 SSMS 18.9 이상 버전이 필요합니다.
KSP(키 저장소 공급자) - CNG(Cryptography Next Generation) API를 구현하는 KSP(키 저장소 공급자)를 통해 액세스할 수 있는 키 저장소를 나타냅니다. 일반적으로 이 유형의 저장소는 HSM(하드웨어 보안 모듈)입니다. 이 옵션을 선택한 후 KSP를 선택해야 합니다. Microsoft 소프트웨어 키 저장소 공급자는 기본값으로 선택되어 있습니다. HSM에 저장된 열 마스터 키를 사용하려면 디바이스(대화 상자를 열기 전에 컴퓨터에 설치하고 구성해야 함)에 대한 KSP를 선택합니다.
CSP(암호화 서비스 공급자) - CAPI(암호화 API)를 구현하는 CSP(암호화 서비스 공급자)를 통해 액세스할 수 있는 키 저장소입니다. 일반적으로 이러한 저장소는 HSM(하드웨어 보안 모듈)입니다. 이 옵션을 선택한 후 CSP를 선택해야 합니다. HSM에 저장된 열 마스터 키를 사용하려면 디바이스(대화 상자를 열기 전에 컴퓨터에 설치하고 구성해야 함)에 대한 CSP를 선택합니다.
참고 항목
CAPI는 사용되지 않는 API이므로 CAPI(암호화 서비스 공급자) 옵션은 기본적으로 사용하지 않도록 설정됩니다. Windows 레지스트리의 [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] 키 아래에 CAPI 공급자 사용 DWORD 값을 만들고 1로 설정하여 사용할 수 있습니다. 키 저장소가 CNG를 지원하지 않는 한 CAPI 대신 CNG를 사용해야 합니다.
위의 키 저장소에 대한 자세한 내용은 Always Encrypted를 위한 열 마스터 키 만들기 및 저장을 참조하세요.
SQL Server 2019(15.x)를 사용하고 SQL Server 인스턴스가 보안 Enclave로 구성된 경우 Enclave 계산 허용 확인란을 선택하여 마스터 키 Enclave를 사용하도록 설정할 수 있습니다. 자세한 내용은 보안 Enclave를 사용한 Always Encrypted를 참조하세요.
참고 항목
SQL Server 인스턴스가 보안 Enclave로 올바르게 구성되지 않은 경우 Enclave 계산 허용 확인란이 표시되지 않습니다.
키 저장소에서 기존 키를 선택하거나 키 생성 또는 인증서 생성 버튼을 클릭하여 키 저장소에 키를 만듭니다.
OK를 클릭하면 목록에 새 키가 나타납니다.
대화 상자를 완료하면 SQL Server Management Studio에서 데이터베이스의 열 마스터 키에 대한 메타데이터를 만듭니다. 이 대화 상자는 CREATE COLUMN MASTER KEY(Transact-SQL) 문을 생성하고 발급합니다.
Enclave를 사용하도록 설정된 열 마스터 키를 구성 중인 경우 SSMS가 열 마스터 키를 사용하여 메타데이터에 서명합니다.
열 마스터 키를 프로비전하기 위한 권한
대화 상자에서 열 마스터 키를 만들려면 데이터베이스에 ALTER ANY COLUMN MASTER KEY 데이터베이스 권한이 필요합니다. 키 열 마스터 키에 액세스하고 사용하려면 키 저장소 권한도 필요합니다. 키 관리 작업에 필요한 키 저장소 권한에 대한 자세한 정보는 Always Encrypted에 대한 열 마스터 키 생성 및 저장을 참조하고 키 저장소와 관련된 섹션을 검토하세요.
새 열 암호화 키 대화 상자를 사용하는 열 암호화 키 프로비전
새 열 암호화 키 대화 상자를 사용하면 열 암호화 키를 생성하고, 열 마스터 키로 암호화하고, 데이터베이스에 열 암호화 키 메타데이터를 생성할 수 있습니다.
- 개체 탐색기를 사용하여 데이터베이스 아래의 보안/상시 암호화 키 폴더로 이동합니다.
- 열 암호화 키 폴더를 마우스 오른쪽 단추로 클릭하고 새 열 암호화 키...를 선택합니다.
- 새 열 마스터 키 대화 상자에서 열 마스터 키 메타데이터 개체의 이름을 입력합니다.
- 데이터베이스에서 열 마스터 키를 나타내는 메타데이터 개체를 선택합니다.
- 확인을 클릭합니다.
대화 상자를 완료하면 SSMS(SQL Server Management Studio)에서 새 열 암호화 키를 생성합니다. 그런 다음 SSMS는 데이터베이스에서 선택한 열 마스터 키에 대한 메타데이터를 검색합니다. 그런 다음 SSMS는 열 마스터 키 메타데이터를 사용하여 열 마스터 키가 포함된 키 저장소에 연결하고 열 암호화 키를 암호화합니다. 마지막으로 SSMS는 CREATE COLUMN ENCRYPTION KEY(Transact-SQL) 문을 생성하고 실행하여 데이터베이스에서 새 열 암호화에 대한 메타데이터 데이터를 만듭니다.
참고 항목
Azure Key Vault의 관리되는 HSM에 저장된 열 마스터 키를 사용하려면 SSMS 18.9 이상 버전이 필요합니다.
열 마스터 키를 프로비전하기 위한 권한
열 암호화 키 메타데이터를 만들고 열 마스터 키 메타데이터에 액세스하려면 대화 상자의 데이터베이스에서 ALTER ANY COLUMN ENCRYPTION KEY 및 VIEW ANY COLUMN MASTER KEY DEFINITION 데이터베이스 권한이 필요합니다. 열 마스터 키에 액세스하고 사용하려면 키 저장소 권한도 필요합니다. 키 관리 작업에 필요한 키 저장소 권한에 대한 자세한 정보는 Always Encrypted에 대한 열 마스터 키 생성 및 저장을 참조하고 키 저장소와 관련된 섹션을 확인하세요.
Always Encrypted 마법사를 사용하여 Always Encrypted 키 프로비전
Always Encrypted 마법사는 선택한 데이터베이스 열을 암호화, 암호 해독 및 다시 암호화하는 도구입니다. 이미 구성된 키를 사용할 수 있지만 새 열 마스터 키와 새 열 암호화를 생성할 수도 있습니다.
다음 단계
- Always Encrypted 마법사를 사용하여 열 암호화 구성
- DAC 패키지로 Always Encrypted를 사용하여 열 암호화 구성
- SQL Server Management Studio를 사용하여 Always Encrypted 키 순환
- Always Encrypted를 사용하여 애플리케이션 개발
- SQL Server 가져오기 및 내보내기 마법사로 Always Encrypted를 사용하여 열 간에 데이터 마이그레이션
참고 항목
- Always Encrypted
- Always Encrypted를 위한 키 관리 개요
- Always Encrypted용 열 마스터 키 만들기 및 저장
- SQL Server Management Studio를 사용하여 Always Encrypted 구성
- PowerShell을 사용하여 Always Encrypted 키 프로비저닝
- CREATE COLUMN MASTER KEY(Transact-SQL)
- CREATE COLUMN MASTER KEY(Transact-SQL)
- CREATE COLUMN ENCRYPTION KEY(Transact-SQL)
- ALTER COLUMN ENCRYPTION KEY(Transact-SQL)
- DROP COLUMN ENCRYPTION KEY(Transact-SQL)
- sys.column_master_keys(Transact-SQL)
- sys.column_encryption_keys(Transact-SQL)