チュートリアル: Azure Data Studio で TDE 対応データベース (プレビュー) を Azure SQL に移行する

SQL Server データベースをセキュリティで保護するために、セキュリティで保護されたシステムの設計、機密資産の暗号化、ファイアウォールの構築などの予防措置を講じることができます。 ただし、ドライブやテープなどのメディアが物理的に盗まれると、データが侵害されるおそれがあります。

TDE は、証明書によってセキュリティ保護された対称データベース暗号化キー (DEK) を使用することにより、保存データ (データおよびログ ファイル) のリアルタイムでの I/O 暗号化および復号化を使用して、この問題の解決策を提供します。 TDE 証明書の手動での移行に関する詳細については、「別の SQL Server への TDE で保護されたデータベースの移動」を参照してください。

TDE で保護されたデータベースを移行する場合、データベース暗号化キー (DEK) を開くために使用される証明書 (非対称キー) もソース データベースと共に移動する必要があります。 そのため、そのインスタンスがデータベース ファイルにアクセスするには、ターゲット SQL Server の master データベースにサーバー証明書を再作成する必要があります。

Azure Data Studio の Azure SQL 移行拡張機能を使用して、SQL Server の オンプレミスのインスタンスから Azure SQL への TDE 対応データベース (プレビュー) の移行に活用できます。

TDE 対応データベース移行プロセスでは、データベース証明書キー (DEK) のバックアップ、オンプレミスの SQL Server から Azure SQL ターゲットへの証明書ファイルのコピー、そしてターゲット データベースでの TDE の再構成などの手動タスクが自動化されます。

重要

  1. 現時点では、Azure SQL Managed Instance のターゲットのみがサポートされています。
  2. また、暗号化されたバックアップはサポートされていません。

このチュートリアルでは、サンプルの暗号化されたデータベース AdventureWorksTDE を、SQL Server のオンプレミスのインスタンスから Azure SQL Managed Instance に移行する方法について説明します。

  • Azure Data Studio で Azure SQL への移行ウィザードを起動する
  • ソース SQL Server データベースの評価を実行する
  • TDE 証明書の移行を構成する
  • Azure SQL ターゲットに接続する
  • TDE 証明書の移行を開始して、完了までの進行状況を監視する

前提条件

チュートリアルを開始する前に:

  • Azure Data Studio をダウンロードしてインストールします。

  • Azure Data Studio マーケットプレースから Azure SQL Migration 拡張機能をインストールします。

  • 管理者として Azure Data Studio を実行します。

  • 以下の組み込みロールのいずれかに割り当てられている Azure アカウントを用意します。

    • ターゲット マネージド インスタンス (および SMB ネットワーク共有から TDE 証明書ファイルのバックアップをアップロードするためのストレージ アカウント) の共同作成者。
    • ターゲット マネージド インスタンスまたは Azure ストレージ アカウントを含む Azure リソース グループの閲覧者ロール。
    • Azure サブスクリプションの所有者または共同作成者ロール (新しい DMS サービスを作成する場合は必須)。
    • 上記の組み込みロールを使用する代わりに、カスタム ロールを割り当てることもできます。 詳細については、ADS を使用した SQL Server から SQL Managed Instance へのオンライン移行のためのカスタム ロールに関する記事を参照してください。
  • ターゲット インスタンスである Azure SQL Managed Instance を作成します。

  • SQL Server ソースへの接続に使用するログインが sysadmin サーバー ロールのメンバーであることを確認します。

  • Azure Data Studio が TDE 対応データベース移行を実行するマシンは、ソースとターゲットの両方の SQL Server に接続されている必要があります。

Azure Data Studio で Azure SQL への移行ウィザードを起動する

Azure SQL への移行ウィザードを起動するには:

  1. Azure Data Studio で [接続] に移動します。 SQL Server のオンプレミス インスタンスに接続します。 Azure 仮想マシン上の SQL Server に接続することもできます。

  2. サーバー接続を右クリックして [管理] を選択します。

    Screenshot that shows a server connection and the Manage option in Azure Data Studio.

  3. サーバー メニューの [全般] で、[Azure SQL Migration] を選択します。

    Screenshot that shows the Azure Data Studio server menu.

  4. [Azure SQL の移行] ダッシュボードで、[Azure SQL への移行] を選択して移行ウィザードを起動します。

    Screenshot that shows the Migrate to Azure SQL wizard.

  5. ウィザードの最初のページで、新しいセッションを開始するか、以前に保存したセッションを再開します。

データベース評価を実行する

  1. Azure SQL への移行ウィザードの [Step 1: Databases for assessment] (ステップ 1: 評価対象のデータベース) で、評価するデータベースを選択します。 次に、 [次へ] を選択します。

    Screenshot that shows selecting a database for assessment.

  2. 手順 2: 評価の結果 で、次の手順を実行します。

    1. [Choose your Azure SQL target] (Azure SQL ターゲットを選択してください) で、Azure SQL Managed Instance を選択します。

      Screenshot that shows selecting the Azure SQL Managed Instance target.

    2. [View/Select] (表示/選択) を選択して、評価結果を表示します。

      Screenshot that shows view/select assessment results.

    3. 評価結果でデータベースを選択し、評価結果を確認します。 この例では、AdventureWorksTDE データベースが透過的なデータ暗号化 (TDE) で保護されていることを確認できます。 評価では、ソース データベースをマネージド インスタンス ターゲットに移行する前に、TDE 証明書を移行することをお勧めします。

      Screenshot that shows assessment findings report.

    4. [選択] を選択して、TDE 移行構成パネルを開きます。

TDE 移行設定を構成する

  1. [Encrypted database selected](暗号化されたデータベースの選択) セクションで、[Export my certificates and private key to the target](証明書と秘密キーをターゲットにエクスポート) を選択します。

    Screenshot that shows the TDE migration configuration.

    重要

    [Info box](情報ボックス) セクションでは、DEK 証明書をエクスポートするために必要なアクセス許可について説明されています。

    DEK 証明書のバックアップに使用するネットワーク共有パスへの書き込みアクセスが、SQL Server サービス アカウントにあることを確認する必要があります。 また、現在のユーザーには、このネットワーク パスが存在するコンピューターに対する管理者権限が必要です。

  2. ネットワーク パスを入力します。

    Screenshot that shows the TDE migration configuration for a network share.

    次に、[I give consent to use my credentials for accessing the certificates](証明書へのアクセスに自分の資格情報を使用することに同意します) にチェックを付けます。このアクションにより、データベース移行ウィザードで DEK 証明書をネットワーク共有にバックアップできるようになります。

  3. 移行ウィザードを希望されない場合、TDE 対応データベースの移行を支援いたします。 [I don't want Azure Data Studio to export the certificates.](Azure Data Studio で証明書をエクスポートしない) を選択して、この手順をスキップします。

    Screenshot that shows how to decline the TDE migration.

    重要

    移行を続行する前に証明書を移行する必要があります。そうしないと、移行は失敗します。 TDE 証明書の手動での移行に関する詳細については、「別の SQL Server への TDE で保護されたデータベースの移動」を参照してください。

  4. TDE 認定の移行を続行する場合は、[適用] を選択します。

    Screenshot that shows how to apply the TDE migration configuration.

    TDE 移行構成パネルは閉じますが、いつでも [編集] を選択してネットワーク共有の構成を変更できます。 [次へ] を選択して移行プロセスを続行します。

    Screenshot that shows how to edit the TDE migration configuration.

移行の設定の構成

Azure SQL への移行ウィザードの [Step 3: Azure SQL target](手順 3: Azure SQL ターゲット) で、ターゲット マネージド インスタンスに関する手順を実行します。

  1. Azure アカウント、Azure サブスクリプション、Azure リージョン (場所)、マネージド インスタンスを含むリソース グループを選択します。

    Screenshot that shows Azure account details.

  2. 準備ができたら、[証明書の移行] を選択して TDE 証明書の移行を開始します。

TDE 証明書の移行を開始して監視する

  1. [Step 3: Migration Status](手順 3: 移行の状態) で、[証明書の移行] パネルが開きます。 TDE 証明書の移行の進行状況の詳細が画面に表示されます。

    Screenshot that shows how the TDE migration process starts.

  2. TDE 移行が完了すると (または障害が発生すると)、関連する最新情報がページに表示されます。

    Screenshot that shows how the TDE migration process continues.

  3. 移行を再試行する必要がある場合は、[移行の再試行] を選択します。

    Screenshot that shows how to retry the TDE migration.

  4. 準備ができたら、[完了] を選択して移行ウィザードを続行します。

    Screenshot that shows how to complete the TDE migration.

  5. [証明書の移行] を選択して、各 TDE 証明書のプロセスを監視できます。

  6. [次へ] を選択して、データベースの移行が完了するまで移行ウィザードを続行します。

    Screenshot that shows how to continue the database migration.

    データベースをオンラインまたはオフラインで Azure SQL Managed Instance ターゲットに移行する方法の詳細については、次のステップバイステップのチュートリアルをご確認ください。

移行後の手順

これで、ターゲット マネージド インスタンスにデータベースが作成され、それぞれの証明書が移行されます。 最近移行したデータベースの現在の状態を確認するには、次の例をコピーして、マネージド インスタンス ターゲットに接続している間に Azure Data Studio の新しいクエリ ウィンドウに貼り付けます。 次に、 [実行] を選択します。

USE master;
GO

SELECT db_name(database_id),
    key_algorithm,
    encryption_state_desc,
    encryption_scan_state_desc,
    percent_complete
FROM sys.dm_database_encryption_keys
WHERE database_id = DB_ID('Your database name');
GO

クエリは、データベースに関する情報、暗号化の状態、保留中の達成率を返します。 この場合、TDE 証明書が既に完了しているため、0 です。

Screenshot that shows the results returned by the TDE query provided in this section.

SQL Server による暗号化の詳細については、「Transparent Data Encryption (TDE)」を参照してください。

制限事項

次の表は、Azure SQL ターゲットによる TDE 対応データベース移行サポートの現在の状態を示しています。

Target サポート Status
Azure SQL データベース いいえ
Azure SQL Managed Instance はい プレビュー
Azure VM 上の SQL Server いいえ