백업 암호화

적용 대상:SQL Server

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

개요

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

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

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

  • Encryptor: 인증서 또는 비대칭 키

주의

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

암호화된 백업 복원: 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 인증서를 사용할 수 있어야 합니다. 자세한 내용은 TDE로 보호된 데이터베이스를 다른 SQL Server로 이동을 참조하세요.

이점

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

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

  3. 암호화는 오프사이트 백업에 대한 추가 보안을 제공하는 Microsoft Azure에 대한 SQL Server Managed Backup에서 수행하는 백업에 대해 지원됩니다.

  4. 이 기능은 AES 256비트까지의 여러 암호화 알고리즘을 지원합니다. 이렇게 하면 요구 사항에 맞는 알고리즘을 선택할 수 있습니다.

  5. EKM(Extensible Key Management) 공급자와 암호화 키를 통합할 수 있습니다.

필수 조건

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

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

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

    Important

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

제한 사항

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

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

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

  • 이전 버전의 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 사용

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

$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를 사용하도록 설정된 경우 데이터베이스를 암호화하기 위해 다른 인증서 또는 비대칭 키를 선택하고 백업을 선택하여 보안을 강화합니다.