適用対象:✅Microsoft Fabric 内の SQL データベース
Important
この機能は プレビュー段階です。
Microsoft Fabric は、Microsoft マネージド キーを使用して保存データをすべて暗号化します。 すべての SQL データベース データは、リモートの Azure Storage アカウントに格納されます。 Microsoft マネージド キーを使用した保存時の暗号化の要件に準拠するために、SQL データベースで使用される各 Azure Storage アカウントは 、サービス側の暗号化 が有効に構成されています。
Fabric ワークスペースのカスタマー マネージド キーを使用すると、Azure Key Vault キーを使用して、Microsoft Fabric ワークスペース内のデータ (Microsoft Fabric の SQL データベース内のすべてのデータを含む) に別の保護レイヤーを追加できます。 カスタマー マネージド キーは柔軟性を高め、ローテーションの管理、アクセスの制御、使用状況の監査を行うことができます。 カスタマー マネージド キーは、組織がデータ ガバナンスのニーズを満たし、データ保護と暗号化の標準に準拠するのにも役立ちます。
- Microsoft Fabric のワークスペースに対してカスタマー マネージド キーを構成すると、指定したカスタマー マネージド キーを使用して、そのワークスペース内のすべての SQL データベース (および) に対して
tempdbが自動的に有効になります。 このプロセスは完全にシームレスであり、手動による介入は必要ありません。- 暗号化プロセスは既存のすべての SQL データベースに対して自動的に開始されますが、すぐには開始されません。期間は各 SQL データベースのサイズによって異なります。SQL データベースが大きくなると、暗号化を完了するためにより多くの時間が必要になります。
- カスタマー マネージド キーが構成されると、ワークスペースに作成されたすべての SQL データベースもカスタマー マネージド キーを使用して暗号化されます。
- カスタマー マネージド キーが削除されると、ワークスペース内のすべての SQL データベースに対して暗号化解除プロセスがトリガーされます。 暗号化と同様に、暗号化解除も SQL データベースのサイズに依存し、完了に時間がかかる場合があります。 暗号化が解除されると、SQL データベースは暗号化に Microsoft マネージド キーの使用に戻ります。
Microsoft Fabric の SQL データベースでの透過的なデータ暗号化のしくみ
透過的なデータ暗号化は、データベース、関連するバックアップ、保存時のトランザクション ログ ファイルのリアルタイムの暗号化と暗号化解除を実行します。
- このプロセスはページ レベルで行われます。つまり、各ページはメモリに読み込まれるときに復号化され、ディスクに書き戻される前に再暗号化されます。
- 透過的なデータ暗号化は、データベース暗号化キー (DEK) と呼ばれる対称キーを使用してデータベース全体をセキュリティで保護します。
- データベースが起動すると、暗号化された DEK は暗号化解除され、暗号化と復号化の操作を管理するために SQL Server データベース エンジンによって使用されます。
- DEK 自体は、透過的なデータ暗号化保護機能によって保護されます。これは、ユーザーが管理する非対称キーです。具体的には、ワークスペース レベルで構成されたカスタマー マネージド キーです。
バックアップと復元
SQL データベースがカスタマー マネージド キーで暗号化されると、新しく生成されたバックアップも同じキーで暗号化されます。
キーが変更されると、最新のキーを使用するように SQL データベースの古いバックアップは更新されません。 カスタマー マネージド キーで暗号化されたバックアップを復元するには、キーマテリアルが Azure Key Vault で使用できることを確認します。 そのため、SQL データベースのバックアップを復元できるように、お客様は Azure Key Vault 内のすべての古いバージョンのカスタマー マネージド キーを保持することをお勧めします。
SQL データベースの復元プロセスでは、カスタマー マネージド キー ワークスペースの設定が常に優先されます。 次の表は、カスタマー マネージド キーの設定とバックアップが暗号化されているかどうかに基づいて、さまざまな復元シナリオの概要を示しています。
| バックアップは... | カスタマー マネージド キー ワークスペースの設定 | 復元後の暗号化の状態 |
|---|---|---|
| 暗号化されていない | Disabled | SQL データベースが暗号化されていない |
| 暗号化されていない | Enabled | SQL データベースはカスタマー マネージド キーで暗号化されます |
| カスタマー マネージド キーを使用して暗号化 | Disabled | SQL データベースが暗号化されていない |
| カスタマー マネージド キーを使用して暗号化 | Enabled | SQL データベースはカスタマー マネージド キーで暗号化されます |
| カスタマー マネージド キーを使用して暗号化 | 有効になっているものの、カスタマー マネージド キーが異なる | SQL データベースは、新しいカスタマー マネージド キーを使用して暗号化されます |
カスタマー マネージド キーが成功したことを確認する
ワークスペースでカスタマー マネージド キー暗号化を有効にすると、既存のデータベースが暗号化されます。 ワークスペース内の新しいデータベースは、カスタマー マネージド キーが有効になっている場合にも暗号化されます。 データベースが正常に暗号化されているかどうかを確認するには、次の T-SQL クエリを実行します。
SELECT DB_NAME(database_id) as DatabaseName, *
FROM sys.dm_database_encryption_keys
WHERE database_id <> 2;
-
encryption_state_descフィールドにENCRYPTEDとしてASYMMETRIC_KEYを含むencryptor_typeが表示される場合、データベースは暗号化されます。 - 状態が
ENCRYPTION_IN_PROGRESS場合、percent_complete列は暗号化状態の変化の進行状況を示します。 進行中の状態変更がない場合、これは0です。 - 暗号化されていない場合、データベースは
sys.dm_database_encryption_keysのクエリ結果には表示されません。
アクセスできないカスタマー マネージド キーのトラブルシューティング
Microsoft Fabric のワークスペースに対してカスタマー マネージド キーが構成されている場合、SQL データベースをオンラインに保つには、キーへの継続的なアクセスが必要です。 SQL データベースが Azure Key Vault 内のキーへのアクセスを失った場合、最大 10 分で SQL データベースはすべての接続の拒否を開始し、その状態を [アクセス不可] に変更します。 ユーザーには、"Azure Key Vault 重大エラーのため、データベース <database ID>.database.fabric.microsoft.com にアクセスできません" などの対応するエラー メッセージが表示されます。
- キー アクセスが 30 分以内に復元された場合、SQL データベースは次の 1 時間以内に自動的に復旧します。
- キー アクセスが 30 分を超える後に復元された場合、SQL データベースの自動修復は実行できません。 SQL データベースを元に戻すには追加の手順が必要であり、SQL データベースのサイズによってはかなりの時間がかかる場合があります。
次の手順を使用して、カスタマー マネージド キーを再検証します。
- ワークスペースで、SQL データベースまたは
...コンテキスト メニューを右クリックします。 設定を選択します。 - [ 暗号化 (プレビュー)]を選択します。
- カスタマー マネージド キーの再検証を試みるために、[ カスタマー マネージド キーの再検証 ] ボタンを選択します。 再検証が成功した場合、SQL データベースへのアクセスの復元には時間がかかる場合があります。
注
1 つの SQL データベースのキーを再検証すると、ワークスペース内のすべての SQL データベースに対してキーが自動的に再検証されます。
制限事項
Microsoft Fabric で SQL データベースにカスタマー マネージド キーを使用する場合の現在の制限事項:
- Microsoft Fabric の SQL Database では、4,096 ビット キーはサポートされていません。 サポートされるキーの長さは、2,048 ビットと 3,072 ビットです。
- カスタマー マネージド キーは、RSA または RSA-HSM 非対称キーである必要があります。
- 現在、カスタマー マネージド キーの暗号化は、次のリージョンで使用できます。
- 米国: 米国東部 2、米国中北部、米国中南部
- アジア: オーストラリア東部、東南アジア、アラブ首長国連邦北部
- ヨーロッパ: 北ヨーロッパ、西ヨーロッパ