Donner accès aux clés, certificats et secrets du coffre de clés avec un contrôle d’accès en fonction du rôle Azure

Notes

Le fournisseur de ressources Key Vault prend en charge deux types de ressources : les coffres et les HSM managés. Le contrôle d’accès décrit dans cet article s’applique uniquement aux coffres. Pour en savoir plus sur le contrôle d’accès pour le HSM managé, consultez Contrôle d’accès HSM managé.

Notes

La configuration de certificats Azure App Service via le portail Azure ne prend pas en charge le modèle d’autorisation RBAC de coffre de clés. Vous pouvez utiliser Azure PowerShell, Azure CLI, des déploiements de modèles ARM avec une attribution de rôle Utilisateur de certificat Key Vault pour une identité globale App Service, par exemple Microsoft Azure App Service dans un cloud public.

Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) est un système d’autorisation intégré à Azure Resource Manager qui permet une gestion centralisée des accès aux ressources Azure.

Le RBAC Azure permet aux utilisateurs de gérer les autorisations de clé, de secrets et de certificats. Il fournit un emplacement unique pour gérer toutes les autorisations sur tous les coffres de clés.

Le modèle RBAC Azure permet aux utilisateurs de définir des autorisations pour différents niveaux d’étendue : groupe d’administration, abonnement, groupe de ressources ou ressources spécifiques. Le contrôle RBAC Azure pour le coffre de clés permet également aux utilisateurs de disposer d’autorisations distinctes pour les clés, les secrets et les certificats individuels

Pour plus d’informations, consultez Contrôle d’accès en fonction du rôle Azure (Azure RBAC)

Meilleures pratiques pour les attribution de rôle de clés, secrets et certificats individuels

Nous recommandons d’utiliser un coffre par application et par environnement (développement, préproduction et production) avec des rôles attribués à l’étendue Key Vault.

L’attribution de rôles sur des clés, des secrets et des certificats individuels doit être évitée. Exceptions concernant les conseils généraux :

  • Scénarios où les secrets individuels doivent être partagés entre plusieurs applications, par exemple lorsqu’une application doit accéder aux données de l’autre application

Pour des instructions sur la gestion d’Azure Key Vault, consultez :

Rôles intégrés Azure pour les opérations de plan de données d’Azure Key Vault

Remarque

Le rôle Key Vault Contributor permet aux opérations de plan de gestion de gérer les coffres de clés. Il n’autorise pas l’accès aux clés, aux secrets et aux certificats.

Rôle intégré Description id
Administrateur Key Vault Permet d’effectuer toutes les opération du plan de données sur un coffre de clés et tous les objets qu’il contient, notamment les certificats, les clés et les secrets. Ne peut pas gérer les ressources du coffre de clés ni gérer les attributions de rôles. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». 00482a5a-887f-4fb3-b363-3b7fe8e74483
Lecteur Key Vault Permet de lire les métadonnées de coffres de clés et de leurs certificats, clés et secrets. Ne peut pas lire les valeurs sensibles, telles que les contenus secrets ou les documents clés. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». 21090545-7ca7-4776-b22c-e363652d74d2
Agent des certificats Key Vault Permet d’effectuer une action sur les certificats d’un coffre de clés, à l’exception des autorisations de gestion. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». a4417e6f-fecd-4de8-b567-7b0420556985
Utilisateur de certificat Key Vault Lisez tout le contenu du certificat, y compris la partie secret et clé. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Agent de chiffrement Key Vault Permet d’effectuer une action sur les clés d’un coffre de clés, à l’exception des autorisations de gestion. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Utilisateur du service de chiffrement de Key Vault Permet de lire les métadonnées des clés et d’effectuer des opérations visant à envelopper/désenvelopper. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». e147488a-f6f5-4113-8e2d-b22465e65bf6
Utilisateur de chiffrement Key Vault Permet d’effectuer des opérations de chiffrement à l’aide de clés. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». 12338af0-0e69-4776-bea7-57ae8d297424
Utilisateur de libération du service de chiffrement de Key Vault Permet de libérer des clés pour l’informatique confidentielle Azure et les environnements équivalents. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ».
Agent des secrets Key Vault Permet d’effectuer une action sur les secrets d’un coffre de clés, à l’exception des autorisations de gestion. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Utilisateur des secrets Key Vault Lire le contenu du secret, y compris la partie secrète d’un certificat avec une clé privée. Fonctionne uniquement pour les coffres de clés qui utilisent le modèle d’autorisation « Contrôle d’accès en fonction du rôle Azure ». 4633458b-17de-408a-b874-0445c86b69e6

Pour plus d’informations sur les définitions de rôles intégrés Azure, consultez Rôles intégrés Azure.

Gestion des attributions de rôle de plan de données Key Vault intégrées

Rôle intégré Description Identifiant
Administrateur de l’accès aux données Key Vault Gérez l’accès à Azure Key Vault en ajoutant ou en supprimant des attributions de rôle pour les rôles Administrateur Key Vault, Agent de certificats Key Vault, Agent de chiffrement Key Vault, Utilisateur de chiffrement du service de chiffrement Key Vault, Lecteur Key Vault, Agent des secrets Key Vault ou Utilisateur des secrets Key Vault. Comprend une condition ABAC pour limiter les attributions de rôle. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Utilisation des autorisations de secret, de clé et de certificat de RBAC Azure avec Key Vault

Le nouveau modèle d’autorisation de RBAC Azure pour le coffre de clés fournit une alternative au modèle d’autorisations de stratégie d’accès au coffre.

Prérequis

Vous devez avoir un abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte gratuit avant de commencer.

Pour ajouter des attributions de rôle, vous devez avoir les autorisations Microsoft.Authorization/roleAssignments/write et Microsoft.Authorization/roleAssignments/delete, comme Administrateur de l’accès aux données Key Vault, Administrateur de l’accès utilisateur ou Propriétaire.

Activer les autorisations de RBAC Azure sur Key Vault

Notes

La modification du modèle d’autorisation nécessite l’autorisation « Microsoft.Authorization/roleAssignments/write », qui fait partie des rôles Propriétaire et Administrateur de l’accès utilisateur. Les rôles Administrateur d’abonnement classiques tels que « Administrateur de service » et « Coadministrateur » ne sont pas pris en charge.

  1. Activer des autorisations de RBAC Azure sur un nouveau coffre de clés :

    Activer des autorisations Azure RBAC – Nouveau coffre

  2. Activez des autorisations de RBAC Azure sur un coffre de clés existant :

    Activer des autorisations Azure RBAC – Coffre existant

Important

La définition d’un modèle d’autorisation de RBAC Azure invalide toutes les autorisations des stratégies d’accès. Cela peut entraîner des interruptions lorsque des rôles Azure équivalents ne sont pas attribués.

Affecter le rôle

Notes

Il est recommandé d’utiliser l’ID de rôle unique à la place du nom de rôle dans les scripts. Par conséquent, si un rôle est renommé, vos scripts continuent de fonctionner. Dans ce document, le nom de rôle est utilisé uniquement à des fins de lisibilité.

Pour créer une attribution de rôle à l’aide de la CLI Azure, utilisez la commande attribution de rôle azure CLI :

az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}

Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide d’Azure CLI.

Attribution de rôle d’étendue de groupe de ressources

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide d’Azure CLI.

L’attribution de rôle ci-dessus permet de répertorier les objets figurant dans le coffre de clés.

Attribution de rôle d’étendue de coffre de clés

az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide d’Azure CLI.

Attribution de rôle d’étendue de secret

Notes

Les attributions de rôles secret de coffre de clés, certificat, étendue de clé, ne doivent être utilisées que pour des scénarios limités décrits ici pour se conformer aux bonnes pratiques de sécurité.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide d’Azure CLI.

Tester et vérifier

Notes

Les navigateurs utilisant une mise en cache, une actualisation de la page est requise après la suppression d’attributions de rôles. Laissez passer quelques minutes, le temps que les attributions de rôles soient actualisées.

  1. Validez l’ajout du nouveau secret sans le rôle « Responsable des secrets de Key Vault » au niveau du coffre de clés.

    1. Accédez à l’onglet Contrôle d’accès (IAM) du coffre de clés, puis supprimez l’attribution de rôle « Responsable des secrets de Key Vault » pour cette ressource.

      Supprimer une attribution – Coffre de clés

    2. Accédez au secret créé précédemment. Vous pouvez voir toutes les propriétés du secret.

      Affichage de secret avec accès

    3. Créer un secret (Secrets > +Générer/Importer) doit afficher l’erreur suivante :

      Créer un secret

  2. Validez la modification du secret sans le rôle « Responsable des secrets de Key Vault » au niveau du secret.

    1. Accédez à l’onglet Contrôle d’accès (IAM) du secret créé, puis supprimez l’attribution de rôle « Responsable des secrets de Key Vault » pour cette ressource.

    2. Accédez au secret créé précédemment. Vous pouvez voir les propriétés du secret.

      Affichage de secret sans accès

  3. Valider les secrets lus sans le rôle de lecteur au niveau du coffre de clés.

    1. Accédez à l’onglet Contrôle d’accès (IAM) du groupe de ressources, puis supprimez l’attribution de rôle « Lecteur de Key Vault ».

    2. La navigation vers l’onglet Secrets du coffre de clés doit afficher l’erreur suivante :

      Onglet Secret – Erreur

Création de rôles personnalisés

Commande az role definition create

az role definition create --role-definition '{ \
   "Name": "Backup Keys Operator", \
   "Description": "Perform key backup/restore operations", \
    "Actions": [ 
    ], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
         "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [ 
   ], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

Pour plus d’informations sur la manière de créer des rôles personnalisés, consultez :

Rôle personnalisés Azure

Forums Aux Questions (FAQ)

Puis-je utiliser des affectations d’étendue d’objet de modèle d’autorisation avec contrôle d’accès en fonction du rôle (RBAC) pour garantir l’isolement des équipes d’application au sein de Key Vault ?

Non. Le modèle d’autorisations RBAC vous permet d’affecter l’accès à des objets individuels dans Key Vault à un utilisateur ou une application. Toutefois, toutes les opérations d’administration telles que le contrôle d’accès réseau, le monitoring et la gestion des objets nécessitent des autorisations au niveau du coffre, qui exposent ensuite les informations sécurisées aux opérateurs des équipes d’application.

En savoir plus