Gérer un HSM managé à l’aide de l’interface Azure CLI
Notes
Key Vault prend en charge deux types de ressources : les coffres et les HSM managés. Cet article concerne le HSM managé. Si vous souhaitez apprendre à gérer un coffre, consultez Gérer Key Vault à l’aide de l’interface de ligne de commande Azure.
Pour obtenir une vue d’ensemble du HSM managé, consultez Qu’est-ce que HSM managé ?
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Prérequis
Pour effectuer les étapes de cet article, vous devez disposer des éléments suivants :
- Un abonnement à Microsoft Azure. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un essai gratuit.
- Azure CLI version 2.25.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. - HSM managé dans votre abonnement. Consultez Démarrage rapide : Provisionner et activer un HSM managé à l’aide d’Azure CLI pour provisionner et activer un HSM managé.
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. | |
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. | |
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. |
Pour utiliser Azure Cloud Shell :
Démarrez Cloud Shell.
Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.
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.
Sélectionnez Entrée pour exécuter le code ou la commande.
Connexion à Azure
Pour vous connecter à Azure à l’aide de l’interface CLI, vous pouvez taper la commande suivante :
az login
Pour plus d’informations sur les options de connexion via l’interface CLI, consultez Se connecter avec Azure CLI
Notes
Toutes les commandes ci-dessous présentent deux méthodes d’utilisation. L’une avec les paramètres --hsm-name et --name (pour le nom de la clé) et une autre avec le paramètre --id où vous pouvez spécifier l’intégralité de l’URL, notamment le nom de la clé le cas échéant. Cette dernière méthode est utile quand l’appelant (un utilisateur ou une application) ne dispose pas d’un accès en lecture au plan de contrôle et a uniquement un accès limité au plan de données.
Notes
Certaines interactions avec le matériel de clé requièrent des autorisations RBAC locales spécifiques. Pour obtenir la liste complète des autorisations et des rôles RBAC locaux intégrés, consultez Rôles intégrés RBAC locaux HSM managés. Pour attribuer ces autorisations à un utilisateur, consultez Sécuriser l’accès à vos modules HSM managés.
Créer une clé HSM
Notes
Impossible d’exporter la clé générée ou importée dans le HSM géré. Reportez-vous aux bonnes pratiques recommandées pour la portabilité et la durabilité des clés.
Utilisez la commande az keyvault key create
pour créer une clé.
Créer une clé RSA
L’exemple ci-dessous montre comment créer une clé RSA 3072 bits qui sera utilisée uniquement pour des opérations wrapKey, unwrapKey (--ops).
az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Notez que l’opération get
retourne uniquement la clé publique et les attributs de clé. Elle ne retourne pas la clé privée (en cas de clé asymétrique) ni le matériel clé (en cas de clé symétrique).
Créer une clé EC
L’exemple ci-dessous montre comment créer une clé EC avec la courbe P-256 qui sera utilisée uniquement pour les opérations signer et vérifier (--ops) et comporte deux balises, d’utilisation et appname. Les balises vous aident à ajouter des métadonnées supplémentaires à la clé pour le suivi et la gestion.
az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
Créer une clé symétrique 256 bits
L’exemple ci-dessous montre comment créer une clé symétrique 256 bits qui sera utilisée uniquement pour les opérations chiffrer et déchiffrer (--ops).
az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt --tags --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256
Afficher les balises et les attributs de clé
Utilisez la commande az keyvault key show
pour afficher les attributs, les versions et les balises d’une clé.
az keyvault key show --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Afficher la liste des clés
Utilisez la commande az keyvault key list
pour lister toutes les clés à l’intérieur d’un HSM managé.
az keyvault key list --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/
Supprimer une clé
Utilisez la commande az keyvault key delete
pour supprimer une clé d’un HSM managé. Notez que la suppression réversible est toujours activée. Par conséquent, une clé supprimée reste dans l’état supprimé et peut être récupérée jusqu’à ce que le nombre de jours de conservation soit écoulé quand la clé est vidée (supprimée définitivement) sans récupération possible.
az keyvault key delete --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Lister les clés supprimées
Utilisez la commande az keyvault key list-deleted
pour lister toutes les clés à l’état supprimé dans votre HSM managé.
az keyvault key list-deleted --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/
Récupérer une clé supprimée (en annuler la suppression)
Utilisez la commande az keyvault key list-deleted
pour lister toutes les clés à l’état supprimé dans votre HSM managé. Si vous devez récupérer une clé supprimée (en annuler la suppression) à l’aide du paramètre --id, vous devez noter la valeur recoveryId
de la clé supprimée obtenue à partir de la commande az keyvault key list-deleted
.
az keyvault key recover --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Vider (supprimer définitivement) une clé
Utilisez la commande az keyvault key purge
pour vider (supprimer définitivement) une clé.
Notes
Si la protection contre la suppression définitive est activée pour le HSM managé, l’opération de vidage ne sera pas autorisée. La clé est automatiquement vidée lorsque la période de conservation est écoulée.
az keyvault key purge --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Créer une sauvegarde de clé unique
Utilisez az keyvault key backup
pour créer une sauvegarde de clé. Le fichier de sauvegarde est un objet blob chiffré, lié par chiffrement au domaine de sécurité du HSM source. Il ne peut être restauré que dans des HSM partageant le même domaine de sécurité. Découvrez plus en détail le domaine de sécurité.
az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Restaurer une clé unique à partir d’une sauvegarde
Utilisez az keyvault key restore
pour restaurer une clé unique. Le HSM source dans lequel la sauvegarde a été créée doit partager le même domaine de sécurité que le HSM cible dans lequel la clé est restaurée.
Notes
La restauration échoue si une clé portant le même nom existe dans un état actif ou supprimé.
az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Importer une clé à partir d’un fichier
Utilisez la commande az keyvault key import
pour importer une clé (uniquement RSA et EC) à partir d’un fichier. Le fichier de certificat doit avoir une clé privée et doit utiliser l’encodage PEM (comme défini dans les RFC 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'
Pour importer une clé de votre HSM local vers le HSM managé, consultez Importer des clés protégées par HSM dans un HSM managé (BYOK)
Étapes suivantes
- Pour accéder à une documentation de référence complète sur l’interface Azure CLI pour les commandes Key Vault, consultez le document de référence sur l’interface de ligne de commande Key Vault.
- Voir les informations de référence sur la programmation dans le Guide du développeur Azure Key Vault.
- Apprenez-en davantage sur la gestion du rôle HSM managé
- Apprenez-en davantage sur les bonnes pratiques pour HSM managé