SQL サーバー・データベース上の Transparent Data Encryption の有効化

SQL Server には、データベースまたは物理メディア上のバックアップに常駐するデータを暗号化する TDE メカニズム (Transparent Data Encryption) が組み込まれています。

始める前に

TDE はMicrosoft SQL Server 2014 以降の Enterprise 版でのみ使用できます。Standard Edition のオプションについては、EFS を使用した SQL Server データベースの暗号化、バックアップ、および復元を参照してください。

このタスクについて

SQL Server で TDE を有効化するには、マスター・データベースのデータベース・マスター鍵と証明書の作成に関連付けられている通常の許可が必要です。ユーザー・データベースに対するコントロール許可も必要です。

暗号化を有効にすることは、データベース管理者の一般的なタスクです。便宜上、一般的な SQL Server の設定に適した SQL スクリプト: EnableTDE.zipを提供しています。 (ファイルがダウンロードされない場合は、リンクを右クリックして、ファイルをハードドライブに保存してください。)

注: アップグレード・ユーザーの場合は、以下のことに注意してください。
  1. データベース・アップグレードのパフォーマンスを向上させるために、TDE を有効にするのは、データベースのアップグレードが完了した後で行ってください。
  2. 以下の手順はいつでも実行できますが、この手順を完了するまでデータベースは暗号化されません。アップグレード・プロセス前に TDE を有効化すると、アップグレード後も引き続きデータベースが保護されます。

手順

  1. インストールされている SQL Server 2014 以降の SQL Management Studio を開きます。
  2. 暗号化するデータベースに接続します。接続すると、データベースが作成済みであり使用可能であることが確認できます。
  3. EnableTDE.zip ファイルをダウンロードした場所にアクセスします。ファイルを抽出してスクリプトを開きます。 (ファイル ファイル > > 開く).サーバー上で実行されるいくつかのコマンドが示されます。
  4. スクリプトを実行する前に、ご使用の環境用に 3 つのフィールドを設定する必要があります。スクリプトのコメント・セクションでは、以下のように、これらのフィールドにはすべて「アクションが必要 (ACTION REQUIRED)」のマークが付けられています。
    1. DECLARE @MKPassword: [master] データベースのマスター鍵の作成に使用されるマスター鍵パスワード。
    2. DECLARE @DatabaseName : 暗号化を有効にするデータベースの名前。
    3. (オプション) DECLARE @BackupPassword: 証明書バックアップのパスワード。このパスワードは、証明書のバックアップを保護するために使用され、別のマシンで証明書を復元する際に必要です。
  5. フィールドを更新したら、スクリプトを起動します (「照会」>「実行」)。スクリプトで SQL Server 上の TDE を有効にする方法を参照してください。
  6. スクリプトが完了すると、SQL Management Studio の「メッセージ」ウィンドウに結果が表示されます。
    注: SQL Management Studio を使用して確認することもできます。データベース名を右クリックし、「データベース名」->「タスク」->「データベース暗号化の管理」をクリックします。「データベースの暗号化をオンに設定」チェック・ボックスが選択されています。

タスクの結果

重要: 完了したら、このスクリプトで使用したパスワードを書き留めて、証明書バックアップのコピーを作成するようにしてください。証明書バックアップは、AppScanEntCert.bak および AppScanEntCert.pvk の 2 つのファイルで構成されます。これらのファイルはデータベース .mdf と共に次のフォルダー内にデフォルトで保管されます。
  • (SQL 2014) C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA