Important
Always Encrypted with Intel Software Guard Extensions(Intel SGX)エンクレーブは2027年10月31日にサポート終了となります。 この日までに該当するデータベースを移行してください。 2027年10月31日以降、AzureはDCシリーズの計算層に残るデータベースを自動的にサポート済みの標準シリーズ(非DC)計算層に移行し、仮想化ベースのセキュリティ(VBS)エンクレーブを有効にします。
この記事では、Always Encrypted with Intel SGX enclaves の代替手段と、それぞれの代替手段に必要な変更について説明します。 代替案を選ぶ前にセキュリティに関する考慮事項を確認しましょう。 Intel SGX と VBS エンクレーブは、ゲスト オペレーティング システムおよびホストに起因する攻撃に対して、それぞれ異なる保護機能を提供します。
作業を開始する前に、対象の Azure SQL 論理サーバー、データベース、エラスティック プールを表示、変更できることを確認してください。 PowerShell では、Az PowerShell モジュールをインストールし、Azure にサインインしてください。 Azure CLI では、Azure CLI をインストールし、Azure にサインインしてください。 影響を受けるデータベースに接続するアプリケーションを一覧化し、移行中にそれらのドライバー、接続文字列、認証設定を更新できるようにします。
DC シリーズを使用しているデータベースを特定する
移行を計画する前に、DC シリーズを使用するすべての単一データベースとエラスティック プールを特定してください。 DCシリーズの弾力プール内のすべてのデータベースが影響を受けます。
- Azure Portal
- PowerShell
- Azure CLI
- Azureポータルで、Azure SQLの論理サーバーにアクセスします。
- 概要ページで利用可能なリソースを探してください。 この表には、論理サーバー上のデータベースが一覧表示されます。
- 価格ティア列でフィルターを選択し、その後、一覧をDC-seriesで絞り込みます。
- フィルター済みのリスト内の各データベースを記録する。 これらのデータベースは、DC シリーズおよび Intel SGX エンクレーブを使用しています。
- お使いの環境内で Azure SQL データベースをホストしている各論理サーバーについて、これらの手順を繰り返します。
移行パスを選択する
ワークロードに求められるセキュリティ要件とアプリケーション要件を満たす移行パスを選択してください。 以下の比較を出発点として使用し、選択したパスの詳細なガイダンスを確認してから本番環境に変更を加えてください。
| 移行経路 | このオプションは、次の場合に使用します。 | Attestation |
|---|---|---|
| Azure SQL Database の VBS エンクレーブ対応 | Azure SQL Database を引き続き利用したいと考えており、VBS エンクレーブがセキュリティ要件を満たしています。 | Azure SQL Database の VBS エンクレーブでは、構成証明はサポートされません。 |
| SQL Server on an Azure confidential VM with VBS enclaves | ホスト オペレーターによるアクセスからゲスト OS を保護するのに役立つ、ハードウェアで強制される境界が必要です。 | ホストガーディアンサービス(HGS)の認証は任意です。 |
単一のデータベースをVBSエンクレーブに移行する
Azure SQL Database でエンクレーブ対応機能を維持するには、このパスを使用します。
- ワークロードのパフォーマンスと可用性要件を満たす 対応標準シリーズ(非DC)ハードウェア構成 を選択してください。
- データベースを選択したハードウェア構成に移動します。
-
データベースのVBSエンクレーブを有効にしてください。 VBS エンクレーブを有効にすると、データベース プロパティ
preferredEnclaveTypeはVBSに設定されます。 - 構成証明のないVBSエンクレイブのクライアントドライバー要件を確認し、必要に応じてアプリケーションドライバーを更新してください。
- 各アプリケーション接続が
Noneエンクレーブ構成証明プロトコルを使用するように更新し、Microsoft Azure Attestation の URL を削除してください。 正確な接続文字列キーワードはクライアントドライバーによって異なります。 - 移行後の検証を完了してください。
エラスティック プールを VBS エンクレーブに移行する
エラスティックプール内のすべてのデータベースは、プールのエンクレーブ構成を継承します。 Azure SQL エラスティック プール内のデータベースで、エンクレーブ対応機能を維持するには、このパスを使用します。
- プールのパフォーマンスと可用性の要件を満たす、サポート対象の標準シリーズ (DC 以外) の構成を選択してください。 プール設定の変更については、Azure SQL Database のエラスティック プール管理を参照してください。
-
エラスティック プールで VBS エンクレーブを有効にする。 VBS エンクレーブを有効にすると、
preferredEnclaveTypeプール プロパティがVBSに設定されます。 - 証明のない VBS エンクレーブに関するクライアント ドライバーの要件を確認し、必要に応じてアプリケーション ドライバーを更新してください。
- 各アプリケーションの接続設定を更新して、
Noneエンクレーブ認証プロトコルを使用するように設定し、Microsoft Azure の認証 URL を削除します。 接続文字列の具体的なキーワードは、使用するクライアント ドライバーによって異なります。 - プール内のすべてのデータベースについて、移行後の検証を完了してください。
Azure の機密 VM 上で SQL Server へ移行する
ホストのオペレーターによるアクセスからゲストOSを保護するための、ハードウェアによる強制的な境界が必要な場合は、この方法を検討してください。 Azure Confidential VM は、VM のメモリを暗号化し、Intel SGX エンクレーブとは異なるセキュリティ特性を提供します。 これらの違いを、あなたのセキュリティおよびコンプライアンス要件と比較して評価してください。
- Azure 機密 VM に SQL Server をデプロイします。
- エンクレイブ認証を使用するかどうかを選択してください:
- 選択した認証オプションのガイダンスに従って、SQL Server インスタンス上で VBS エンクレーブを使用した Always Encrypted を構成します
- データベース、ログイン、キー、アプリケーション接続、依存するリソースの移行を計画しましょう。
- データベースのサイズ、ネットワーク構成、ダウンタイムの要件、サポートされているデータベースオブジェクトに基づいて、データ移行のオプションを選択します。 一般的なオプションは次のとおりです:
- Azure Data Factory: コピー アクティビティを使用して、ソースとして Azure SQL Database コネクタを、シンクとして SQL Server コネクタを指定します。 ADF は Always Encrypted 列をバイナリ値または暗号文として扱い、列マスター キーにアクセスすることなく移動します。
- スマート一括コピー: スマート一括コピーを使用して、Azure SQL Database から SQL Server へスキーマとデータをコピーします。 移行を行う前に、ツールの前提条件と制限事項を確認してください。
- BACPAC: データ層アプリケーションでサポートされるオブジェクトを含む小規模なデータベースには、BACPAC を検討してください。 Always Encrypted データは、エクスポートとインポート中も暗号化されたままとなり、BACPAC には Always Encrypted キーのメタデータが含まれます。 詳細については、Always Encrypted を使用したデータベースのエクスポートとインポート、BACPAC ファイルのエクスポート、BACPAC ファイルをインポートして新しいデータベースを作成するを参照してください。
- SQL Server インスタンスと選択した認証オプションに合わせて、アプリケーションの接続文字列を更新します。
- 移行後の検証を完了してください。
移行を検証する
ワークロードを本番環境に移行する前に:
- Always Encrypted が有効な状態で、アプリケーションが接続できることを確認してください。
- 暗号化された列を使った代表的なクエリを実行し、対象環境がセキュアエンクレーブを使用している場合は、エンクレーブ計算を必要とするクエリも含めて実行します。
- 暗号化された列に対する挿入、更新、削除、インデックス操作が、期待どおりに動作することを確認してください。
- アプリケーションのパフォーマンスをテストし、必要に応じて対象のコンピューティング構成を調整します。
- 事業継続、災害復旧、フェイルオーバーの手順をテストしてください。 ワークロードでエンクレーブ対応操作を使用する場合は、すべてのデータベース レプリカがセキュア エンクレーブをサポートしている必要があります。
- カットオーバーを完了する前に、アプリケーションにおいてエンクレーブ、照明、クエリのエラーがないことを監視してください。