Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
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 d’Azure CLI.
Cet article fournit des instructions pratiques pour gérer les rôles et les attributions de rôles pour un HSM managé à l’aide d’Azure CLI. Il implémente le modèle de contrôle d’accès en fonction du rôle décrit dans le contrôle d’accès pour le HSM managé à l’aide des rôles intégrés documentés dans les rôles intégrés RBAC locaux pour le HSM managé.
Pour obtenir une vue d’ensemble de Managed HSM, consultez Qu’est-ce que Managed HSM ?. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Pour permettre à un principal de sécurité (par exemple un utilisateur, un principal du service, un groupe ou une identité managée) d’effectuer des opérations de plan de données HSM managé, il doit se voir attribuer un rôle qui autorise l’exécution de ces opérations. Par exemple, si vous souhaitez permettre à une application d’effectuer une opération de signature à l’aide d’une clé, elle doit recevoir un rôle contenant« Microsoft.KeyVault/managedHSM/keys/sign/action » comme l’une des actions de données. Un rôle peut être attribué au niveau d’une étendue spécifique. Le RBAC local HSM managé prend en charge deux étendues, à l’échelle du HSM (/
ou /keys
) et par clé (/keys/<keyname>
).
Pour obtenir la liste de tous les rôles intégrés au HSM managé et les opérations qu’ils autorisent, consultez Rôles intégrés au HSM managé.
Conditions préalables
Pour utiliser les commandes Azure CLI 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. - Un 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 via votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour travailler avec 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 :
Choix | 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 connexion avec Azure CLI
Créer une attribution de rôle
Attribuer un rôle à chaque clé
Utilisez la commande az keyvault role assignment create
pour attribuer un rôle Utilisateur du chiffrement du HSM managé à l’utilisateur identifié par le nom d’utilisateur principal user2@contoso.com pour toutes les clés (étendue /keys
) de ContosoHSM.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys
Affecter un rôle pour une clé spécifique
Utilisez la commande az keyvault role assignment create
pour attribuer un rôle Utilisateur du chiffrement du HSM managé à l’utilisateur identifié par le nom d’utilisateur principal user2@contoso.com pour une clé spécifique nommée myrsakey.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys/myrsakey
Lister les attributions de rôles existantes
Utilisez az keyvault role assignment list
pour lister les attributions de rôles.
Toutes les attributions de rôles au niveau de l’étendue / (valeur par défaut si aucune étendue n’est spécifiée) pour tous les utilisateurs (valeur par défaut quand aucun destinataire n’est spécifié)
az keyvault role assignment list --hsm-name ContosoMHSM
Toutes les attributions de rôles au niveau du HSM pour un utilisateur spécifique user1@contoso.com .
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com
Remarque
Quand la valeur de l’étendue est / (ou /keys), la commande list liste uniquement toutes les attributions de rôles au niveau supérieur et n’affiche pas les attributions de rôles au niveau des clés individuelles.
Toutes les attributions de rôles pour un utilisateur spécifique user2@contoso.com et une clé spécifique myrsakey.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey
Une attribution de rôle spécifique pour le rôle Responsable du chiffrement du HSM managé pour un utilisateur spécifique user2@contoso.com et une clé spécifique myrsakey
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"
Supprimer une attribution de rôle
Utilisez la commande az keyvault role assignment delete
pour supprimer un rôle Responsable du chiffrement du HSM managé affecté à l’utilisateur user2@contoso.com pour la clé myrsakey2.
az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com --scope /keys/myrsakey2
Lister toutes les définitions de rôles disponibles
Utilisez la commande az keyvault role definition list
pour lister toutes les définitions de rôles.
az keyvault role definition list --hsm-name ContosoMHSM
Créer une définition de rôle
Le module HSM managé a plusieurs rôles intégrés (prédéfinis) qui sont utiles pour les scénarios d’utilisation les plus courants. Vous pouvez définir votre propre rôle avec une liste d’actions spécifiques que celui-ci est autorisé à effectuer. Vous pouvez ensuite attribuer ce rôle à des principaux pour leur accorder l’autorisation sur les actions spécifiées.
Utilisez la commande az keyvault role definition create
pour créer un rôle nommé My Custom Role avec une chaîne JSON.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action"
],
"notDataActions": []
}'
Utilisez la commande az keyvault role definition create
pour créer un rôle à partir d’un fichier nommé my-custom-role-definition.json contenant la chaîne JSON d’une définition de rôle. Consultez l'exemple ci-dessus.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json
Afficher les détails d’une définition de rôle
Utilisez la commande az keyvault role definition show
pour afficher les détails d’une définition de rôle spécifique avec un nom (GUID).
az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Mettre à jour une définition de rôle personnalisé
Utilisez la commande az keyvault role definition update
pour mettre à jour un rôle nommé My Custom Role avec une chaîne JSON.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action",
"Microsoft.KeyVault/managedHsm/keys/write/action",
"Microsoft.KeyVault/managedHsm/keys/backup/action",
"Microsoft.KeyVault/managedHsm/keys/create"
],
"notDataActions": []
}'
Supprimer la définition de rôle personnalisée
Utilisez la commande Azure CLI az keyvault role definition delete pour supprimer une définition de rôle personnalisée à l’aide d’un nom (un GUID).
az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Remarque
Les rôles intégrés ne peuvent pas être supprimés. Quand des rôles personnalisés sont supprimés, toutes les attributions de rôles utilisant ce rôle personnalisé deviennent obsolètes.
Étapes suivantes
- Lisez la présentation du Contrôle d’accès en fonction du rôle (Azure RBAC).
- Suivre un tutoriel sur la gestion du rôle HSM managé
- Découvrir le modèle de contrôle d’accès HSM managé
- Voir tous les rôles intégrés pour le RBAC local HSM managé