백업 암호화

적용 대상:SQL Server

이 문서에서는 SQL Server 백업의 암호화 옵션에 대한 개요를 제공합니다. 여기에는 백업 중 암호화의 사용량, 이점 및 권장 사례에 대한 자세한 내용이 포함됩니다.

개요

SQL Server 2014(12.x)부터 SQL Server는 백업을 생성하는 동안 데이터를 암호화하는 기능을 제공합니다. 암호화 알고리즘 및 암호기(인증서 또는 비대칭 키)를 지정하여 백업을 생성할 때 암호화된 백업 파일을 만들 수 있습니다. 모든 스토리지 대상: 온-프레미스 및 Azure Storage가 지원됩니다. 또한, SQL Server 2014(12.x)에 도입된 새로운 기능인 Microsoft Azure에 대한 SQL Server 관리 백업에 대한 암호화 옵션을 구성할 수 있습니다.

백업 중에 암호화하려면 암호화 알고리즘과 암호화 키를 보호하기 위한 암호기를 지정해야 합니다. 지원되는 암호화 옵션은 다음과 같습니다.

  • 암호화 알고리즘: 지원되는 암호화 알고리즘은 AES 128, AES 192, AES 256 및 Triple DES입니다.

  • 암호기: 인증서 또는 비대칭

주의

인증서 또는 비대칭 키를 백업하는 것이 매우 중요하며, 가급적이면 암호화에 사용된 백업 파일과 다른 위치에 백업하는 것이 좋습니다. 인증서 또는 비대칭 키가 없으면 백업을 복원할 수 없으므로 백업 파일을 사용할 수 없게 됩니다. 포함된 시스템 데이터베이스에 저장된 인증서도 백업해야 합니다.

암호화된 백업 복원: SQL Server를 복원할 때는 복원 중에 암호화 매개 변수를 지정할 필요가 없습니다. 단, 백업 파일을 암호화하는 데 사용되는 인증서 또는 비대칭 키를 복원할 인스턴스에서 사용할 수 있어야 합니다. 복원을 수행하는 사용자 계정에 인증서 또는 키에 대한 VIEW DEFINITION 권한이 있어야 합니다. 암호화된 백업을 다른 인스턴스로 복원하는 경우 해당 인스턴스에서 인증서를 사용할 수 있어야 합니다.
암호화된 데이터베이스를 새 위치로 복원하는 순서는 다음과 같습니다.

  1. 기존 데이터베이스에서 BACKUP CERTIFICATE(Transact-SQL)
  2. 새 위치 master 데이터베이스에서 CREATE MASTER KEY(Transact-SQL)
  3. 새 서버의 위치로 가져온 이전 데이터베이스의 백업 인증서에서 CREATE CERTIFICATE(Transact-SQL) 수행
  4. 데이터베이스를 새 위치로 복원(SQL Server)

TDE로 암호화된 데이터베이스에서 백업을 복원하는 경우에는 복원할 대상 인스턴스에서 TDE 인증서를 사용할 수 있어야 합니다. 자세한 내용은 다른 SQL Server로 TDE 보호 데이터베이스 이동을 참조하세요.

이점

  1. 데이터베이스 백업을 암호화하면 데이터를 보호할 수 있습니다. SQL Server는 백업을 만드는 동안 백업 데이터를 암호화하는 옵션을 제공합니다.

  2. TDE를 사용하여 암호화된 데이터베이스에도 암호화를 사용할 수 있습니다.

  3. Microsoft Azure에 대한 SQL Server 관리 백업으로 수행되는 백업에는 암호화가 지원되므로 오프사이트 백업에 대한 추가 보안이 제공됩니다.

  4. 이 기능은 최대 AES 256비트의 다양한 암호화 알고리즘을 지원합니다. 이를 통해 요구 사항에 일치하는 알고리즘을 선택할 수 있는 옵션이 제공됩니다.

  5. 암호화 키를 확장 가능 키 관리(EKM) 공급자와 통합할 수 있습니다.

필수 구성 요소

다음은 백업 암호화를 위한 필수 구성 요소입니다.

  1. master 데이터베이스용 데이터베이스 마스터 키 만들기: 데이터베이스 마스터 키(DMK)는 인증서의 개인 키 및 데이터베이스에 있는 비대칭 키를 보호하는 데 사용되는 대칭 키입니다. 자세한 내용은 SQL Server 및 데이터베이스 암호화 키(데이터베이스 엔진)를 참조하세요.

  2. 백업 암호화에 사용할 인증서나 비대칭 키를 만듭니다. 인증서 만들기에 대한 자세한 내용은 CREATE CERTIFICATE(Transact-SQL)를 참조하세요. 비대칭 키 만들기에 대한 자세한 내용은 CREATE ASYMMETRIC KEY(Transact-SQL)를 참조하세요.

    중요

    확장 가능 키 관리(EKM)에 있는 비대칭 키만 지원됩니다.

제한 사항

암호화 옵션에 적용되는 제한 사항은 다음과 같습니다.

  • 비대칭 키를 사용하여 백업 데이터를 암호화하는 경우, EKM 공급자의 비대칭 키만 지원됩니다.

  • SQL Server Express 및 SQL Server Web은 백업 중 암호화를 지원하지 않습니다. 그러나 암호화된 백업에서 SQL Server Express 또는 SQL Server Web 인스턴스로 복원하는 기능은 지원됩니다.

  • 이전 버전의 SQL Server에서는 암호화된 백업을 읽을 수 없습니다.

  • 암호화된 백업의 경우 기존 백업 세트에 추가 옵션을 지원하지 않습니다.

사용 권한

암호화된 데이터베이스에서 백업 작업을 수행하는 계정에는 특정 권한이 필요합니다.

  • 백업 중인 데이터베이스의 db_backupoperator 데이터베이스 수준 역할. 이는 암호화에 관계없이 필요합니다.

  • VIEW DEFINITION 데이터베이스에서 인증서에 대한 master 권한.

    다음 예시에서는 인증서에 대한 적절한 권한을 부여합니다.

    USE [master]
    GO
    GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>]
    GO
    

참고 항목

TDE 인증서에 대한 액세스 권한은 TDE로 보호되는 데이터베이스를 백업하거나 복원하는 데 필요하지 않습니다.

백업 암호화 방법

다음 섹션에서는 백업 중 데이터 암호화 단계를 간략하게 소개합니다. Transact-SQL을 사용하여 백업을 암호화하는 여러 단계에 대한 전체 단계별 안내는 암호화된 백업 만들기를 참조하세요.

SQL Server Management Studio 사용

다음 대화 상자 중 하나에서 데이터베이스 백업을 만들 때 백업을 암호화할 수 있습니다.

  1. 데이터베이스 백업(백업 옵션 페이지)백업 옵션 페이지에서 암호화를 선택하고 암호화 알고리즘과 암호화에 사용할 인증서 또는 비대칭 키를 지정할 수 있습니다.

  2. 유지 관리 계획 마법사 사용 백업 작업을 선택하면 백업 정의() 태스크 페이지의 옵션 탭에서 백업 암호화를 선택하고 암호화 알고리즘과 암호화에 사용할 인증서 또는 키를 지정할 수 있습니다.

Transact-SQL 사용

백업 파일을 암호화하는 샘플 Transact-SQL 문은 다음과 같습니다.

BACKUP DATABASE [MYTestDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'
WITH
  COMPRESSION,
  ENCRYPTION
   (
   ALGORITHM = AES_256,
   SERVER CERTIFICATE = BackupEncryptCert
   ),
  STATS = 10
GO

전체 Transact-SQL 문 구문은 BACKUP(Transact-SQL)을 참조하세요.

PowerShell 사용

이 예시에서는 암호화 옵션을 생성하고 이를 Backup-SqlDatabase cmdlet의 매개 변수 값으로 사용하여 암호화된 백업을 만듭니다.

$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"

Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption

암호화 인증서 및 키의 백업을 인스턴스가 설치된 로컬 컴퓨터 이외의 위치에 만듭니다. 재해 복구 시나리오를 고려하여 인증서 또는 키의 백업을 오프사이트 위치에 저장하는 것이 좋습니다. 암호화된 백업은 해당 백업을 암호화하는 데 사용된 인증서 없이 복원할 수 없습니다.

암호화된 백업을 복원하려면 복원할 인스턴스에서 일치하는 지문으로 백업을 수행할 때 사용된 원래 인증서를 사용할 수 있어야 합니다. 따라서 만료 시 인증서를 갱신하거나 어떤 방식으로든 인증서를 변경해서는 안 됩니다. 갱신하면 인증서가 업데이트되어 지문 변경이 트리거될 수 있으므로 백업 파일에 인증서를 사용할 수 없게 됩니다. 복원을 수행하는 계정에는 인증서 또는 백업 중 암호화에 사용된 비대칭 키에 대한 VIEW DEFINITION 권한이 있어야 합니다.

가용성 그룹 데이터베이스 백업은 일반적으로 기본 백업 복제본(replica)에서 수행됩니다. 백업을 가져온 위치가 아닌 다른 복제본(replica)에서 백업을 복원하는 경우, 백업에 사용된 원본 인증서를 복원할 복제본(replica)에서 사용할 수 있는지 확인합니다.

데이터베이스에서 TDE가 사용으로 설정된 경우, 데이터베이스와 백업을 암호화하기 위해 서로 다른 인증서 또는 비대칭 키를 선택하여 보안을 강화합니다.