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

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

Before you begin

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

About this task

SQL ServerでTDEを有効にするには、マスターデータベースでデータベースマスターキーと証明書を作成するために関連する通常の権限を持っている必要があります。ユーザー・データベースに対するコントロール許可も必要です。

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

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

Procedure

  1. SQL Server 2016以降のインストールの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 の「メッセージ」ウィンドウに結果が表示されます。
    Note:
    SQL Management Studio を使用して確認することもできます。データベース名を右クリックし、「データベース名」->「タスク」->「データベース暗号化の管理」をクリックします。「データベースの暗号化をオンに設定」チェック・ボックスが選択されています。

Results

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