J'exécute le script suivant:
$keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName; $diskEncryptionKeyVaultUrl = $keyVault.VaultUri; $keyVaultResourceId = $keyVault.ResourceId; $keyEncryptionKeyUrl = (Get-AzureKeyVaultKey -VaultName $keyVaultName -Name myKey).Key.kid; Set-AzVMDiskEncryptionExtension -ResourceGroupName $rgName ` -VMName "myVM" ` -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl ` -DiskEncryptionKeyVaultId $keyVaultResourceId ` -KeyEncryptionKeyUrl $keyEncryptionKeyUrl ` -KeyEncryptionKeyVaultId $keyVaultResourceId
qui renvoie le suivant environ 1 minute de traitement:
Set-AzureRmVmDiskEncryptionExtension: échec de l'opération de longue durée avec le statut «Échec». Informations supplémentaires: «La VM a signalé un échec lorsque traitement de l'extension 'AzureDiskEncryption'. Message d'erreur: "Échec de envoyer DiskEncryptionData, vérifier les entrées KeyVault, ResourceIds et réessayer opération de chiffrement ". ' ErrorCode: VMExtensionProvisioningError ErrorMessage: la VM a signalé un échec lors du traitement de l'extension «AzureDiskEncryption». Message d'erreur: "Échec de l'envoi DiskEncryptionData, vérifier les entrées KeyVault, ResourceIds et réessayer opération de chiffrement ". ErrorTarget: StartTime: 3/2/19 2:10:59 PM Heure de fin: 02/03/19 14:10:59
J'ai vérifié que les valeurs sont toutes correctement passées à la commande set et qu'aucune valeur nulle n'est passée.
3 Réponses :
J'ai eu ce problème, mais je me suis cogné la tête pendant des jours, les étapes ci-dessous ont résolu mon problème.
L'activation de cette politique n'a pas résolu le problème pour moi au début. J'ai exécuté le script dans le cloud shell Azure et j'ai découvert que la session semble mettre en cache les paramètres de keyvault. Après avoir fermé la session et en avoir ouvert une nouvelle, cela a fonctionné tout de suite.
Si vous rencontrez toujours le problème, vous pouvez essayer ceci:
Ensuite, exécutez les commandes ci-dessous. Il est disponible avec des explications sur https: // docs. microsoft.com/en-us/azure/virtual-machines/windows/encrypt-disks
$ keyVault = Get-AzKeyVault -VaultName $ keyVaultName -ResourceGroupName $ rgName;
$ diskEncryptionKeyVaultUrl = $ keyVault.VaultUri;
$ keyVaultResourceId = $ keyVault.ResourceId;
$ keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $ keyVaultName -Name myKey) .Key. kid;
Set-AzVMDiskEncryptionExtension -ResourceGroupName $ rgName `
-VMName "myVM" -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl ` -DiskEncryptionKeyVaultId $keyVaultResourceId ` -KeyEncryptionKeyUrl $keyEncryptionKeyUrl ` -KeyEncryptionKeyVaultId $keyVaultResourceId$
le kv est-il activé pour le chiffrement de disque? avez-vous des autorisations sur le kv?
sous la clé réelle, les cases à cocher crypter / décrypter, signer, vérifier, envelopper et déballer la clé sont signées, mais je ne trouve pas de propriété indiquant activer le cryptage du disque? est-ce ailleurs? J'ai créé le coffre de clés azure, la clé, la machine virtuelle et le disque dur et j'ai exécuté la commande powershell sous le même compte. existe-t-il un moyen de m'assurer que j'ai les autorisations pour accéder au coffre de clés? je peux y accéder très bien via l'interface graphique
sous autorisations, il existe des autorisations avancées, vous pouvez activer KV pour le cryptage du disque là-bas
J'ai pu trouver la politique d'accès sous le coffre de clés et j'ai remarqué que sous les autorisations de clé, les opérations cryptographiques n'étaient pas autorisées. cependant, même après avoir coché tous (chiffrer, déchiffrer, signer, vérifier, envelopper la clé, ouvrir la clé), le message d'erreur émis est le même. y a-t-il un certain laps de temps pendant lequel les changements prennent effet ou à l'instant même?
vous avez également besoin de politiques d'accès avancées, cela ne fonctionnera pas sans elles. user-images.githubusercontent.com/2538465/ …
Je vous remercie. ça a marché. pourriez-vous l'ajouter comme réponse et je l'accepterai.