백업 암호화Backup Encryption

이 항목에서는 SQL ServerSQL Server 백업의 암호화 옵션에 대해 간략하게 설명합니다.This topic provides an overview of the encryption options for SQL ServerSQL Server backups. 여기에서는 백업 중의 암호화에 대한 사용법, 이점 및 권장 방법을 살펴봅니다.It includes details of the usage, benefits, and recommended practices for encrypting during backup.

개요 Overview

SQL Server 2014SQL Server 2014부터 SQL Server에는 백업을 만드는 동안 데이터를 암호화하는 기능이 포함됩니다.Starting in SQL Server 2014SQL Server 2014, SQL Server has the ability to encrypt the data while creating a backup. 백업을 만들 때 암호화 알고리즘과 암호기(인증서 또는 비대칭 키)를 지정하여 암호화된 백업 파일을 만들 수 있습니다.By specifying the encryption algorithm and the encryptor (a Certificate or Asymmetric Key) when creating a backup, you can create an encrypted backup file. 모든 저장소 대상, 즉 온-프레미스 및 Window Azure Storage가 지원됩니다.All storage destinations: on-premises and Window Azure storage are supported. 또한 Microsoft Azure에 대한 SQL Server Managed BackupSQL Server Managed Backup to Microsoft Azure 에서 도입된 새로운 기능인 SQL Server 2014SQL Server 2014작업에 대해 암호화 옵션을 구성할 수 있습니다.In addition, encryption options can be configured for Microsoft Azure에 대한 SQL Server Managed BackupSQL Server Managed Backup to Microsoft Azure operations, a new feature introduced in SQL Server 2014SQL Server 2014.

백업 중에 암호화하려면 암호화 키를 보호할 암호기와 암호화 알고리즘을 지정해야 합니다.To encrypt during backup, you must specify an encryption algorithm, and an encryptor to secure the encryption key. 지원되는 암호화 옵션은 다음과 같습니다.The following are the supported encryption options:

  • 암호화 알고리즘: 지원되는 암호화 알고리즘은 AES 128, AES 192, AES 256, Triple DES입니다.Encryption Algorithm: The supported encryption algorithms are: AES 128, AES 192, AES 256, and Triple DES

  • 암호기: 인증서 또는 비대칭 키입니다.Encryptor: A certificate or asymmetric Key

주의

인증서나 비대칭 키를 백업하는 것이 매우 중요하며, 이때 가급적이면 인증서나 비대칭 키를 사용하여 암호화한 백업 파일과 다른 위치에 백업하는 것이 좋습니다.It is very important to back up the certificate or asymmetric key, and preferably to a different location than the backup file it was used to encrypt. 인증서나 비대칭 키가 없으면 백업을 복원할 수 없으므로 백업 파일을 사용할 수 없게 됩니다.Without the certificate or asymmetric key, you cannot restore the backup, rendering the backup file unusable.

암호화된 백업 복원: SQL Server 복원에서는 복원 중에 암호화 매개 변수를 지정할 필요가 없습니다.Restoring the encrypted backup: SQL Server restore does not require any encryption parameters to be specified during restores. 또한 복원할 대상 인스턴스에서 백업 파일을 암호화하는 데 사용된 인증서나 비대칭 키를 사용할 수 없어도 됩니다.It does require that the certificate or the asymmetric key used to encrypt the backup file be available on the instance that you are restoring to. 복원을 수행하는 사용자 계정에는 인증서나 키에 대한 VIEW DEFINITION 권한이 있어야 합니다.The user account performing the restore must have VIEW DEFINITION permissions on the certificate or key. 암호화된 백업을 다른 인스턴스로 복원하는 경우 해당 인스턴스에서 인증서를 사용할 수 있는지 확인해야 합니다.If you are restoring the encrypted backup to a different instance, you must make sure that the certificate is available on that instance.

TDE로 암호화된 데이터베이스에서 백업을 복원하는 경우에는 복원할 대상 인스턴스에서 TDE 인증서를 사용할 수 있어야 합니다.If you are restoring a backup from a TDE encrypted database, the TDE certificate should be available on the instance you are restoring to.

이점 Benefits

  1. 데이터베이스 백업을 암호화하면 데이터를 보호할 수 있습니다. SQL Server는 백업을 만드는 동안 백업 데이터를 암호화하는 옵션을 제공합니다.Encrypting the database backups helps secure the data: SQL Server provides the option to encrypt the backup data while creating a backup.

  2. TDE를 사용하여 암호화된 데이터베이스에도 암호화를 사용할 수 있습니다.Encryption can also be used for databases that are encrypted using TDE.

  3. Microsoft Azure에 대한 SQL Server Managed BackupSQL Server Managed Backup to Microsoft Azure으로 수행된 백업에 대한 암호화가 지원되며, 이를 통해 오프사이트 백업의 보안이 강화됩니다.Encryption is supported for backups done by Microsoft Azure에 대한 SQL Server Managed BackupSQL Server Managed Backup to Microsoft Azure, which provides additional security for off-site backups.

  4. 이 기능은 AES 256비트까지 여러 암호화 알고리즘을 지원하므로This feature supports multiple encryption algorithms up to AES 256 bit. 사용자의 요구 사항에 적합한 알고리즘을 선택할 수 있습니다.This gives you the option to select an algorithm that aligns with your requirements.

  5. EKM(확장 키 관리) 공급자와 암호화 키를 통합할 수 있습니다.You can integrate encryption keys with Extended Key Management (EKM) providers.

필수 구성 요소 Prerequisites

백업을 암호화하기 위한 사전 요구 사항은 다음과 같습니다.The following are prerequisites for encrypting a backup:

  1. master 데이터베이스용 데이터베이스 마스터 키 만들기: 데이터베이스 마스터 키는 데이터베이스에 있는 비대칭 키와 인증서의 개인 키를 보호하는 데 사용되는 대칭 키입니다.Create a Database Master Key for the master database: The database master key is a symmetric key that is used to protect the private keys of certificates and asymmetric keys that are present in the database. 자세한 내용은 SQL Server 및 데이터베이스 암호화 키(데이터베이스 엔진)를 참조하세요.For more information, see SQL Server and Database Encryption Keys (Database Engine).

  2. 백업 암호화에 사용할 인증서나 비대칭 키를 만듭니다.Create a certificate or asymmetric Key to use for backup encryption. 인증서를 만드는 방법은 CREATE CERTIFICATE(Transact-SQL)를 참조하세요.For more information on creating a certificate, see CREATE CERTIFICATE (Transact-SQL). 비대칭 키를 만드는 방법은 CREATE ASYMMETRIC KEY(Transact-SQL)를 참조하세요.For more information on creating an asymmetric key, see CREATE ASYMMETRIC KEY (Transact-SQL).

    중요

    EKM(확장 키 관리)에 있는 비대칭 키만 지원됩니다.Only asymmetric keys residing in an Extended Key Management (EKM) are supported.

제한 사항 Restrictions

암호화 옵션에 적용되는 제한 사항은 다음과 같습니다.The following are restrictions that apply to the encryption options:

  • 비대칭 키를 사용하여 백업 데이터를 암호화하는 경우 EKM 공급자에 있는 비대칭 키만 지원됩니다.If you are using asymmetric key to encrypt the backup data, only asymmetric keys residing in the EKM provider are supported.

  • SQL Server Express와 SQL Server Web은 백업 중에 암호화를 지원하지 않습니다.SQL Server Express and SQL Server Web do not support encryption during backup. 그러나 암호화된 백업을 SQL Server Express 또는 SQL Server Web의 인스턴스로 복원할 수는 있습니다.However restoring from an encrypted backup to an instance of SQL Server Express or SQL Server Web is supported.

  • 이전 버전의 SQL ServerSQL Server 에서는 암호화된 백업을 읽을 수 없습니다.Previous versions of SQL ServerSQL Server cannot read encrypted backups.

  • 암호화된 백업의 경우 기존 백업 세트 옵션에 추가는 지원되지 않습니다.Appending to an existing backup set option is not supported for encrypted backups.

사용 권한 Permissions

백업을 암호화하거나 암호화된 백업에서 복원하려면:To encrypt a backup or to restore from an encrypted backup:

데이터베이스 백업을 암호화하는 데 사용된 인증서 또는 비대칭 키에 대한VIEW DEFINITION 권한을 사용합니다.VIEW DEFINITION permission on the certificate or asymmetric key that is used to encrypt the database backup.

참고

TDE 인증서에 대한 액세스 권한은 TDE로 보호되는 데이터베이스를 백업하거나 복원하는 데 필요하지 않습니다.Access to the TDE certificate is not required to back up or restore a TDE protected database.

백업 암호화 방법 Backup Encryption Methods

아래의 섹션들에서는 백업 중에 데이터를 암호화하는 단계를 간략하게 소개합니다.The sections below provide a brief introduction to the steps to encrypting the data during backup. Transact-SQL을 사용하여 백업을 암호화하는 다른 단계에 대한 전체 연습은 암호화된 백업 만들기를 참조하세요.For a complete walkthrough of the different steps of encrypting your backup using Transact-SQL, see Create an Encrypted Backup.

SQL Server Management Studio 사용Using SQL Server Management Studio

다음 대화 상자에서 데이터베이스의 백업을 만들 때 백업을 암호화할 수 있습니다.You can encrypt a backup when creating the backup of a database in any of the following dialog boxes:

  1. 데이터베이스 백업(백업 옵션 페이지) 백업 옵션 페이지에서 암호화를 선택하고 암호화 알고리즘과 암호화에 사용할 인증서 또는 비대칭 키를 지정할 수 있습니다.Back Up Database (Backup Options Page) On the Backup Options page, you can select Encryption, and specify the encryption algorithm and the certificate or asymmetric key to use for the encryption.

  2. 유지 관리 계획 마법사 사용 백업 태스크를 선택할 때 백업 태스크 정의 페이지의 옵션 탭에서 백업 암호화를 선택하고 암호화 알고리즘과 암호화에 사용할 인증서 또는 키를 지정할 수 있습니다.Using Maintenance Plan Wizard When you select a backup task, on the Options tab of the Define Backup ()Task page, you can select Backup Encryption, and specify the encryption algorithm and the certificate or key to use for the encryption.

Transact-SQL 사용Using Transact SQL

다음은 백업 파일을 암호화하는 예제 Transact-SQL 문입니다.Following is a sample Transact-SQL statement to encrypt the backup file:

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)을 참조하세요.For the full Transact-SQL statement syntax, see BACKUP (Transact-SQL).

PowerShell 사용Using PowerShell

이 예제에서는 암호화 옵션을 만든 다음 Backup-SqlDatabase cmdlet에서 매개 변수 값으로 사용하여 암호화된 백업을 만듭니다.This example creates the encryption options and uses it as a parameter value in Backup-SqlDatabase cmdlet to create an encrypted backup.

C:\PS>$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"  
C:\PS>Backup-SqlDatabase -ServerInstance . -Database "MyTestDB" -BackupFile "MyTestDB.bak" -CompressionOption On -EncryptionOption $encryptionOption  

암호화 인증서 및 키의 백업을 인스턴스가 설치된 로컬 컴퓨터 이외의 위치에 만듭니다.Create a backup of the encryption certificate and keys to a location other than your local machine where the instance is installed. 재해 복구 시나리오를 고려하여 인증서 또는 키의 백업을 오프사이트 위치에 저장하는 것이 좋습니다.To account for disaster recovery scenarios, consider storing a backup of the certificate or key to an off-site location. 암호화된 백업은 해당 백업을 암호화하는 데 사용된 인증서 없이 복원할 수 없습니다.You cannot restore an encrypted backup without the certificate used to encrypt the backup.

암호화된 백업을 복원하려면 일치하는 지문을 사용하여 백업을 만들 때 사용된 원래 인증서가 복원할 대상 인스턴스에서 사용 가능해야 합니다.To restore an encrypted backup, the original certificate used when the backup was taken with the matching thumbprint should be available on the instance you are restoring to. 따라서 인증서가 만료 시 갱신되거나 어떤 식으로든 변경되면 안 됩니다.Therefore, the certificate should not be renewed on expiry or changed in any way. 갱신하면 인증서가 업데이트되어 지문 변경이 트리거될 수 있으므로 백업 파일에 인증서를 사용할 수 없게 됩니다.Renewal can result in updating the certificate triggering the change of the thumbprint, therefore making the certificate invalid for the backup file. 복원을 수행하는 계정에는 백업 중에 암호화하는 데 사용된 인증서나 비대칭 키에 대한 VIEW DEFINITION 권한이 있어야 합니다.The account performing the restore should have VIEW DEFINITION permissions on the certificate or the asymmetric key used to encrypt during backup.

가용성 그룹 데이터베이스 백업은 기본 백업 복제본에서 일반적으로 수행됩니다.Availability Group database backups are typically performed on the preferred backup replica. 백업이 수행된 복제본이 아닌 복제본에서 백업을 복원하는 경우 백업에 사용된 원래 인증서가 복원할 복제본에서 사용 가능한지 확인해야 합니다.If restoring a backup on a replica other than where the backup was taken from, ensure that the original certificate used for backup is available on the replica you are restoring to.

데이터베이스에서 TDE를 사용하도록 설정된 경우 데이터베이스와 백업을 암호화하기 위해 다른 인증서 또는 비대칭 키를 선택하여 보안을 강화합니다.If the database is TDE enabled, choose different certificates or asymmetric keys for encrypting the database and the backup to increase security.

항목/태스크Topic/Task 설명Description
암호화된 백업 만들기Create an Encrypted Backup 암호화된 백업을 만드는 데 필요한 기본 단계에 대해 설명합니다.Describes the basic steps required to create an encrypted backup
Azure 주요 자격 증명 모음을 사용한 확장 가능 키 관리(SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server) Azure 키 자격 증명 모음에서 키로 보호하는 암호화된 백업을 만드는 예제를 제공합니다.Provides an example of creating an encrypted backup protected by keys in the Azure Key Vault.

참고 항목See Also

백업 개요(SQL Server)Backup Overview (SQL Server)