バックアップの暗号化

このトピックでは、 SQL Server バックアップの暗号化オプションについて概説します。 バックアップ時の暗号化の使用、利点、および推奨される操作の詳細が含まれています。

概要

2014 年SQL Server以降、SQL Serverにはバックアップの作成時にデータを暗号化する機能があります。 バックアップの作成時に暗号化アルゴリズムと暗号化機能 (証明書または非対称キー) を指定することにより、暗号化されたバックアップ ファイルを作成することができます。 あらゆるバックアップ先ストレージ、つまり内部設置型のストレージも Window Azure ストレージもサポートされます。 さらに、SQL Server 2014 で導入された新機能である Microsoft Azure へのマネージド バックアップ操作SQL Server暗号化オプションを構成できます。

バックアップ時に暗号化を行うには、暗号化アルゴリズムを指定し、暗号化キーを保護するための暗号化機能を指定する必要があります。 サポートされている暗号化オプションは次のとおりです。

  • 暗号化アルゴリズム: サポートされている暗号化アルゴリズムは、AES 128、AES 192、AES 256、および Triple DES です

  • 暗号化機能: 証明書キーまたは非対称キー

注意事項

証明書または非対称キーをバックアップすることが非常に重要であり、これらを使用して暗号化したバックアップ ファイルとは別の場所に保存することをお勧めします。 証明書または非対称キーがないと、バックアップ ファイルが使用不可能になり、バックアップを復元することができません。

暗号化されたバックアップの復元: SQL Server の復元では、復元時に暗号化パラメーターを指定する必要はありません。 ただし、バックアップ ファイルの暗号化に使用された証明書または非対称キーを復元先のインスタンスで使用できる必要があります。 復元を実行するユーザー アカウントには、証明書またはキーに対する VIEW DEFINITION 権限が必要です。 暗号化されたバックアップを別のインスタンスに復元する場合は、そのインスタンスで証明書を使用できるようにする必要があります。

TDE で暗号化されたデータベースからバックアップを復元する場合、復元先のインスタンスで TDE の証明書を使用できる必要があります。

メリット

  1. データベースのバックアップを暗号化することは、データの保護に役立ちます。SQL Server では、バックアップの作成時にバックアップ データを暗号化するためのオプションが提供されます。

  2. 暗号化は、TDE を使用して暗号化されたデータベースにも使用できます。

  3. Microsoft Azure への SQL Server マネージド バックアップによって実行されたバックアップでも暗号化がサポートされるため、オフサイト バックアップのセキュリティを強化できます。

  4. この機能では、AES 256 ビットまでの複数の暗号化アルゴリズムがサポートされます。 このため、要件に合うアルゴリズムを選択できます。

  5. 暗号化キーは拡張キー管理 (EKM) プロバイダーと統合できます。

前提条件

バックアップを暗号化するための前提条件は次のとおりです。

  1. master データベースのデータベース マスター キーの作成: データベース マスター キーは対称キーで、証明書の秘密キーやデータベース内にある非対称キーを保護するときに使用されます。 詳細については、「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 では、暗号化されたバックアップを読み取ることができません。

  • [既存のバックアップ セットに追加する] オプションは、暗号化されたバックアップに対してはサポートされません。

アクセス許可

バックアップの暗号化または暗号化されたバックアップからの復元を行うには:

データベース バックアップの暗号化に使用する証明書または非対称キーに対する VIEW DEFINITION 権限。

Note

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\MSSQL12.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 コマンドレットのパラメーター値として使用して暗号化されたバックアップを作成します。

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

推奨される操作

インスタンスがインストールされているローカル コンピューター以外の場所に暗号化証明書とキーのバックアップを作成します。 ディザスター リカバリー シナリオに対応するには、証明書またはキーのバックアップをオフサイトに保管することを検討します。 バックアップの暗号化に使用された証明書がないと、暗号化されたバックアップを復元することはできません。

暗号化されたバックアップを復元するには、復元先のインスタンスで、バックアップの作成時に使用された元の証明書および対応する拇印を使用できるようにしておく必要があります。 このため証明書には、有効期限切れによる更新またはその他の変更を行わないでください。 更新すると証明書が更新され拇印の変更が発生するため、バックアップ ファイルに対して証明書が無効になることがあります。 復元を実行するアカウントには、バックアップ時に暗号化に使用される証明書または非対称キーに対する VIEW DEFINITION 権限が必要です。

可用性グループ データベースのバックアップは、通常は優先されるバックアップ レプリカで実施します。 バックアップを実施したのとは異なるレプリカでバックアップを復元する場合は、バックアップに使用した元の証明書が、復元先のレプリカで利用できることを確認してください。

データベースが TDE 対応の場合は、データベースの暗号化とバックアップに別々の証明書または非対象キーを選択することにより、セキュリティを強化します。

Related Tasks

トピック/タスク 説明
暗号化されたバックアップの作成 暗号化されたバックアップを作成するために必要な基本手順について説明します。
Azure への SQL Server マネージド バックアップ - 保有期間とストレージの設定 暗号化オプションを指定して Microsoft Azure SQL Serverマネージド バックアップを構成するために必要な基本的な手順について説明します。
Azure Key Vault を使用する拡張キー管理 (SQL Server) Azure Key Vault のキーで保護される暗号化されたバックアップを作成する例を示します。

参照

Backup Overview (SQL Server)