適用対象:✅Microsoft Fabric 内の SQL データベース
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) と呼ばれる対称キーを使用してデータベース全体をセキュリティで保護します。
- データベースが起動すると、SQL Server データベース エンジンは DEK を復号化し、それを使用して暗号化と復号化の操作を管理します。
- 透過的なデータ暗号化保護機能 (具体的には、ワークスペース レベルで構成されたカスタマー マネージド キー) は、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 データベースでは、4,096 ビット キーはサポートされていません。 サポートされるキーの長さは、2,048 ビットと 3,072 ビットです。
- カスタマー マネージド キーは、RSA または RSA-HSM 非対称キーである必要があります。