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

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

始める前に

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

このタスクについて

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

暗号化の有効化はデータベース管理者の共通タスクです。便宜上、一般的な SQL サーバー構成に適した SQL スクリプトが使用できるように用意されています。EnableTDE.zip。(ファイルがダウンロードされない場合は、リンクを右クリックして、ファイルをハード・ディスクに保存します。)

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

手順

  1. SQL Server 2008、2008R2、2012、または 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
  • (SQL 2012) C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
  • (SQL 2008) C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
  • (SQL 2008 R2) C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA