Important
機密仮想マシン (VM) の Azure Backup は現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
この記事では、Azure Backup を使用して、プラットフォーム マネージド キー (PMK) またはカスタマー マネージド キー (CMK) で暗号化された機密 VM (CVM) を復元する方法について説明します。 暗号化キーとディスク暗号化セット (DES) の状態に基づく復元シナリオについて説明し、復元エラーの復旧手順を示します。 また、仮想マシンの暗号化の詳細を抽出し、不足しているキーを復元し、必要なアクセス許可を割り当てる手順も示します。
機密 VM バックアップでサポートされるシナリオについて説明します。
[前提条件]
機密 VM の復元プロセスを開始する前に、Recovery Services コンテナーで回復ポイントを使用できることを確認してください。
機密 VM の復元シナリオ
機密 VM の復元動作は、復元時の DES、Key Vault、およびキーの状態によって異なります。 主な復元シナリオは次のとおりです。
- 元のキーまたはキーのバージョンはそのまま:元のディスク暗号化セット (DES) とキーはそのまま残っている場合、復元は成功します。
- キーのローテーション: 以前のキー バージョンの有効期限が切れていないか削除されていない場合、新しいキー バージョンがアクティブな場合、復元は成功します。
- キーの変更: DES が同じキー コンテナー内の新しいキーを使用する場合、復元は、バックアップ中に使用された元のキーがまだ存在する場合にのみ成功します。 元のキーが削除されると失敗します。 別のキー コンテナーを使用している場合は、元のキーと同じキーを指す必要があります。
-
DES またはキーの削除: 復元は、
UserErrorDiskEncryptionSetDoesNotExistやUserErrorDiskEncryptionSetKeyDoesNotExistなどのエラーで失敗します。 解決するには、復元されたキー データを使用してキーと DES を再作成してから、復元を再試行します。 - 入力 DES 指定: 復元されたキー データから作成された新しい DES を指定した場合、キーとバージョンがバックアップ時に使用されたものと一致する場合、復元は成功します。
-
DES またはキーの不一致: 復元は
UserErrorInputDESKeyDoesNotMatchWithOriginalKeyで失敗します。 このエラーを解決するには、不足しているキーを復元します。
機密 VM を復元するために不足しているキーを復元する方法について説明します。
機密 VM を復元する
元のキーをそのまま使用して復元する
復元プロセス中は、元のカスタマー マネージド キー (CMK)、Key Vault、mHSM、DES を使用できる場合は、ディスク暗号化セットの入力を指定せずに続行できます。 これらのシナリオでは、通常どおり復元プロセスを続行できます。 Azure VM を復元する方法について説明します。
元のキーが交換、紛失、または侵害されたときに復元する
CMK を参照している元の CMK、Key Vault、mHSM、DES が使用できない場合、またはバックアップが元の CMK にアクセスできない場合、復元プロセスは失敗します。 このような場合、最初の復元の試行は失敗し、CVM は復元されません。 これに対処するには、次の手順に従います。
- ディスク暗号化セットの入力を指定せずに、最初の復元操作をトリガーします。 キーがないため、この試行は失敗しますが、ストレージ アカウントでキーが復元されます。
- このプロセスの後、Azure Backup によってバックアップされたカスタマー マネージド キーを復元し、復旧されたキーを指す新しい DES を作成します。 不足しているキーを復元し、必要なアクセス許可を割り当てる方法について説明します。
- [復元] ページで復元操作をもう一度開始し、今度は適切なディスク暗号化セットを入力します。
注
別の DES からの復元 (正しいキーを使用している場合でも) は、現在、スナップショットのみの層の復元ポイントからはサポートされていません。
機密 VM の復元のために不足しているキーを復元する
復元操作が失敗した場合は、Azure Backup によってバックアップされたキーを復元する必要があります。
PowerShell を使用してキーを復元するには、次の手順に従います。
保護された CVM + CMK を含むコンテナーを選択するには、コマンドレットにリソース グループとコンテナーの名前を入力し、コマンドレットを実行します。
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "<vault-rg>" -Name "<vault-name>"過去 7 日間に失敗したすべての復元ジョブを一覧表示するには、次のコマンドレットを実行します。 古いジョブを取得したい場合は、コマンドレットの取得日数を更新してください。
$Jobs = Get-AzRecoveryServicesBackupJob -From (Get-Date).AddDays(-7).ToUniversalTime() -Status Failed -Operation Restore -VaultId $vault.ID結果から失敗した復元ジョブを選択し、ジョブの詳細を取得するには、次のコマンドレットを実行します。
例
$JobDetails = Get-AzRecoveryServicesBackupJobDetail -Job $Jobs[0] -VaultId $vault.IDキーの復元に必要なすべてのパラメーターをジョブの詳細から取得するには、次のコマンドレットを実行します。
$properties = $JobDetails.properties $storageAccountName = $properties["Target Storage Account Name"] $containerName = $properties["Config Blob Container Name"] $securedEncryptionInfoBlobName = $properties["Secured Encryption Info Blob Name"]復元に使用するターゲット ストレージ アカウントを選択するには、次のコマンドレットでそのリソース グループを入力し、コマンドレットを実行します。
Set-AzCurrentStorageAccount -Name $storageaccountname -ResourceGroupName '<storage-account-rg >'CVM のキーの詳細を含む JSON 構成ファイルを CMK で復元するには、次のコマンドレットを実行します。
$destination_path = 'C:\cvmcmkencryption_config.json' Get-AzStorageBlobContent -Blob $securedEncryptionInfoBlobName -Container $containerName -Destination $destination_path $encryptionObject = Get-Content -Path $destination_path | ConvertFrom-Json先ほど説明した宛先パスで JSON ファイルが生成されたら、次のコマンドレットを実行して JSON データからキー BLOB ファイルを生成します。
$keyDestination = 'C:\keyDetails.blob' [io.file]::WriteAllBytes($keyDestination, [System.Convert]::FromBase64String($encryptionObject.OsDiskEncryptionDetails.KeyBackupData))Key Vault またはマネージド ハードウェア セキュリティ モジュール (HSM) でキーを復元するには、次のコマンドレットを実行します。
Restore-AzKeyVaultKey -VaultName '<target_key_vault_name> ' -InputFile $keyDestination For MHSM Use, Restore-AzKeyVaultKey -HsmName '<target_mhsm_name>' -InputFile $keyDestination
これで、暗号化の種類を CMK を使用した 機密ディスク暗号化として新しい DES を作成できます。これは、復元されたキーを指す必要があります。 この DES には、正常な復元を実行するための十分なアクセス許可が必要です。 新しい Key Vault または Managed HSM を使用してキーを復元する場合、 Backup Management Service には十分なアクセス許可があります。 Key Vault または Managed HSM アクセスのアクセス許可を付与する方法について説明します。
復元のために DES および Confidential ゲスト VM エージェントにアクセス許可を割り当てる
ディスク暗号化セットと機密ゲスト VM エージェントには、Key Vault または Managed HSM に対するアクセス許可が必要です。 アクセス許可を指定するには、次の手順を実行します。
Key Vault の場合: Key Vault にアクセス許可を付与するには、 ドキュメントの次の手順 に従うか、次の手順に従います。
- ディスク暗号化セット インスタンスに移動します。
- [ ディスク、イメージ、またはスナップショットをこのディスク暗号化セットに関連付けるには、キー コンテナーにアクセス許可を付与し、アクセス許可を付与する必要があります ] というメッセージを選択します。
Managed HSM の場合: Managed HSM にアクセス許可を付与するには、次の手順に従います。
Managed HSM 暗号化ユーザー ロールを使用して新しく作成された DES を割り当てます。
- Azure portal で、Managed HSM>Settings に移動し、[ローカル RBAC] を選択します。
- 新しいロールの割り当てを追加するには、[追加] を選択 します。
- [ ロール] で、[ Managed HSM Crypto User Role] を選択します。
- スコープで、復元されたキーを選択します。 [すべてのキー] を選択することもできます。
- セキュリティ プリンシパルで、新しく作成した DES を選択します。
CVM を起動するために必要なアクセス許可を Confidential ゲスト VM エージェントに割り当てます。
- Azure portal で、Managed HSM>Settings に移動し、[ローカル RBAC] を選択します。
- 新しいロールの割り当てを追加するには、[追加] を選択 します。
- [ ロール] で、[ Managed HSM Crypto Service Encryption User] を選択します。
- スコープで、復元されたキーを選択します。 [すべてのキー] を選択することもできます。
- セキュリティ プリンシパルで、機密ゲスト VM エージェントを選択します。