次の方法で共有


バックアップ暗号化

このトピックでは、SQL Server バックアップの暗号化オプションの概要について説明します。 これには、バックアップ中の暗号化の使用方法、利点、推奨されるプラクティスの詳細が含まれています。

概要

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

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

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

  • Encryptor: 証明書または非対称キー

注意事項

証明書または非対称キーをバックアップすることは非常に重要です。できれば、暗号化に使用されたバックアップ ファイルとは別の場所にバックアップしてください。 証明書または非対称キーがないと、バックアップを復元できず、バックアップ ファイルを使用できなくなります。

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

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

メリット

  1. データベース バックアップの暗号化は、データのセキュリティ保護に役立ちます。SQL Server には、バックアップの作成時にバックアップ データを暗号化するオプションが用意されています。

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

  3. SQL Server Managed Backup から Microsoft Azure へのバックアップでは暗号化がサポートされており、オフサイト バックアップのセキュリティが強化されます。

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

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

[前提条件]

バックアップを暗号化するための前提条件を次に示します。

  1. マスター データベースのデータベース マスター キーを作成します 。データベース マスター キーは、データベースに存在する証明書と非対称キーの秘密キーを保護するために使用される対称キーです。 詳細については、「 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 データベース バックアップの暗号化に使用される証明書または非対称キーに対するアクセス許可。

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 を有効にしている場合は、データベースとバックアップを暗号化するための異なる証明書または非対称キーを選択して、セキュリティを強化します。

関連タスク

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

こちらもご覧ください

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