Sauvegarde et restauration complètes et restauration de clés sélectives

Notes

Cette fonctionnalité est disponible uniquement pour le HSM managé de type ressource.

Managed HSM prend en charge la création d’une sauvegarde complète de l’ensemble du contenu du HSM, notamment l’ensemble des clés, versions, attributs, étiquettes et attributions de rôles. La sauvegarde est chiffrée à l’aide de clés de chiffrement associées au domaine de sécurité du HSM.

La sauvegarde est une opération de plan de données. L’appelant qui lance l’opération de sauvegarde doit avoir l’autorisation d’exécuter dataAction Microsoft.KeyVault/managedHsm/backup/start/action.

Seuls les rôles intégrés suivants sont autorisés à effectuer une sauvegarde complète :

  • Administrateur du HSM managé
  • Sauvegarde du HSM managé

Il existe 2 façons d’exécuter une sauvegarde/restauration complète :

  1. Attribuer une identité managée affectée par l’utilisateur (UAMI) au service HSM managé. Vous pouvez sauvegarder et restaurer votre MHSM en utilisant une identité managée affectée par l’utilisateur, que votre compte de stockage dispose d’un accès réseau public ou d’un accès réseau privé activé. Si un compte de stockage se trouve derrière un point de terminaison privé, la méthode UAMI fonctionne avec un contournement du service approuvé pour permettre la sauvegarde et la restauration.
  2. Utilisation d’un jeton SAS du conteneur de stockage avec des autorisations « crdw ». La sauvegarde et la restauration avec un jeton SAS de conteneur de stockage nécessitent que votre compte de stockage dispose d’un accès réseau public activé.

Vous devez fournir les informations suivantes pour exécuter une sauvegarde complète :

  • URL ou nom du HSM
  • Nom du compte de stockage
  • Conteneur de stockage d’objets blob dans un compte de stockage
  • Identité managée affectée par l’utilisateur OU jeton SAS de conteneur de stockage avec des autorisations « crdw »

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Conditions préalables si la sauvegarde et la restauration utilisent une identité managée affectée par l’utilisateur :

  1. Vérifiez que vous disposez d’Azure CLI version 2.56.0 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez effectuer une installation ou une mise à niveau, consultez Installer Azure CLI.
  2. Créer une identité managée attribuée par l'utilisateur
  3. Créez un compte de stockage existant (ou utilisez un compte de stockage existant).
  4. Si l’accès réseau public est désactivé sur votre compte de stockage, activez le contournement du service de confiance sur le compte de stockage sous l’onglet « Réseau », sous « Exceptions ».
  5. Fournissez l’accès au rôle « contributeur aux données blob du stockage » à l’utilisateur assigné à l’identité managée créée à l’étape 2. Pour ce faire, accédez à l’onglet « Contrôle d’accès » du portail :> Ajouter une attribution de rôle. Sélectionnez ensuite « identité managée », puis sélectionnez l’identité managée créée à l’étape 2 :> Vérifier + Affecter
  6. Créez le HSM géré et associez l'identité managée à l'aide de la commande ci-dessous.
    az keyvault create --hsm-name mhsmdemo2 –l mhsmlocation -- retention-days 7 --administrators "initialadmin" --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 
    

Si vous disposez d'un HSM managé existant, associez l'identité gérée en mettant à jour le MHSM à l'aide de la commande ci-dessous.

 az keyvault update-hsm --hsm-name mhsmdemo2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 

Sauvegarde complète

La sauvegarde est une opération de longue durée, mais qui retourne immédiatement un ID de travail. Vous pouvez vérifier l’état du processus de sauvegarde à l’aide de cet ID de travail. Le processus de sauvegarde crée un dossier à l’intérieur du conteneur désigné avec le modèle de nommage suivant mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS} , où HSM_NAME est le nom du HSM managé qui est sauvegardé et YYYY, MM, DD, HH, MM, mm, SS représentent l’année, le mois, la date, l’heure, les minutes et les secondes de date/d’heure au format UTC de la réception de la commande de sauvegarde.

Pendant que la sauvegarde est en cours, le HSM peut ne pas fonctionner à un débit complet, car certaines partitions HSM sont occupées à effectuer l’opération de sauvegarde.

Sauvegarder un module HSM avec une identité managée affectée par l’utilisateur

az keyvault backup start --use-managed-identity true --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer

Sauvegarder un module HSM avec un jeton SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription a1ba9aaa-b7f6-4a33-b038-6e64553a6c7b)

# Create a container

az storage container create --account-name  mhsmdemobackup --name mhsmdemobackupcontainer  --account-key $skey

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions crdw --expiry $end --account-key $skey -o tsv --subscription a1ba9aaa-b7f6-4a33-b038-6e64553a6c7b)

# Backup HSM

az keyvault backup start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --subscription 361da5d4-a47a-4c79-afdd-d66f684f4070

Restauration complète

La restauration complète vous permet de restaurer complètement le contenu du HSM à l’aide d’une sauvegarde précédente, notamment l’ensemble des clés, versions, attributs, étiquettes et attributions de rôles. Tout ce qui est actuellement stocké dans le HSM sera effacé et il retournera à l’état dans lequel il se trouvait lors de la création de la sauvegarde source.

Important

La restauration complète est une opération très destructrice et perturbatrice. Par conséquent, il est obligatoire d’avoir effectué une sauvegarde complète au moins 30 minutes avant de pouvoir exécuter une opération restore.

La restauration est une opération de plan de données. L’appelant qui démarre l’opération de restauration doit avoir l’autorisation d’exécuter dataAction Microsoft.KeyVault/managedHsm/restore/start/action. Le HSM source où la sauvegarde a été créée et le HSM de destination où la restauration sera effectuée doivent avoir le même domaine de sécurité. Apprenez-en davantage sur le domaine de sécurité du HSM managé.

Il existe 2 façons d’exécuter une restauration complète. Vous devez fournir les informations suivantes pour exécuter une restauration complète :

  • URL ou nom du HSM
  • Nom du compte de stockage
  • Conteneur d’objets blob dans un compte de stockage
  • Identité managée affectée par l’utilisateur OU jeton SAS de conteneur de stockage avec des autorisations rl
  • Nom du dossier du conteneur de stockage dans lequel la sauvegarde source est stockée

La restauration est une opération de longue durée, mais qui retourne immédiatement un ID de travail. Vous pouvez vérifier l’état du processus de restauration à l’aide de cet ID de travail. Lorsque le processus de restauration est en cours, le HSM passe en mode de restauration et toutes les commandes du plan de données (à l’exception de la vérification de l’état de restauration) sont désactivées.

Restaurer un module HSM avec une identité managée affectée par l’utilisateur

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true

Restaurer un module HSM avec un jeton SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription a1ba9aaa-b7f6-4a33-b038-6e64553a6c7b)

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions rl --expiry $end --account-key $skey -o tsv --subscription a1ba9aaa-b7f6-4a33-b038-6e64553a6c7b)

# Restore HSM

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860

Restauration de clé sélective

La restauration sélective des clés vous permet de restaurer une clé individuelle avec toutes ses versions de clés d’une sauvegarde précédente vers un HSM.

Restauration de clé sélective avec une identité managée affectée par l’utilisateur

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true --key-name rsa-key2

Restauration de clé sélective avec un jeton SAS

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860 -–key-name rsa-key2

Étapes suivantes