バックアップの暗号化Backup Encryption

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

このトピックでは、 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 2014 (12.x)SQL Server 2014 (12.x)以降では、バックアップの作成時に SQL Server がデータを暗号化する機能があります。Starting in SQL Server 2014 (12.x)SQL Server 2014 (12.x), 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 ストレージもサポートされます。All storage destinations: on-premises and Window Azure storage are supported. また、暗号化オプションは、 Microsoft Azure への SQL Server マネージド バックアップSQL Server Managed Backup to Microsoft Azure で導入された新機能である SQL Server 2014 (12.x)SQL Server 2014 (12.x)の操作用に構成できます。In addition, encryption options can be configured for Microsoft Azure への SQL Server マネージド バックアップSQL Server Managed Backup to Microsoft Azure operations, a new feature introduced in SQL Server 2014 (12.x)SQL Server 2014 (12.x).

バックアップ時に暗号化を行うには、暗号化アルゴリズムを指定し、暗号化キーを保護するための暗号化機能を指定する必要があります。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 マネージド バックアップSQL Server Managed Backup to Microsoft Azureによって実行されたバックアップでも暗号化がサポートされるため、オフサイト バックアップのセキュリティを強化できます。Encryption is supported for backups done by Microsoft Azure への SQL Server マネージド バックアップSQL 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.

PermissionsPermissions

暗号化されたデータベースでバックアップ操作を行うアカウントには、特定の権限が必要です。The account that does backup operations on an encrypted database requires specific permissions.

  • バックアップするデータベースの db_backupoperator データベース レベル ロール。db_backupoperator database level role on the database being backed up. これは、暗号化に関係なく必要です。This is required regardless of encryption.

  • master データベースの証明書に対する VIEW DEFINITION 権限。VIEW DEFINITION permission on the certificate in master database.

    次の例では、証明書に対する適切な権限を付与します。The following example grants the appropriate permissions for the certificate.

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

注意

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

バックアップ ファイルを暗号化するためのサンプル TSQL ステートメントを次に示します。Following is a sample TSQL 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 コマンドレットのパラメーター値として使用して暗号化されたバックアップを作成します。This example creates the encryption options and uses it as a parameter value in Backup-SqlDatabase cmdlet to create an encrypted backup.

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

Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.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 Key Vault を使用する拡張キー管理 (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server) Azure Key Vault のキーで保護される暗号化されたバックアップを作成する例を示します。Provides an example of creating an encrypted backup protected by keys in the Azure Key Vault.

参照See Also

バックアップの概要 (SQL Server)Backup Overview (SQL Server)