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

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

始める前に

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

このタスクについて

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

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

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

手順

  1. SQL Server 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