Contrôle d’accès HSM managéManaged HSM access control

Nota

Le fournisseur de ressources Key Vault prend en charge deux types de ressources : les coffres et les HSM managés.Key Vault resource provider supports two resource types: vaults and managed HSMs. Le contrôle d’accès décrit dans cet article s’applique uniquement aux HSM managés.Access control described in this article only applies to managed HSMs. Pour plus d’informations sur le contrôle d’accès pour HSM managé, consultez 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.To learn more about access control for managed HSM, see Provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control.

Le HSM managé Azure Key Vault est un service cloud qui protège les clés de chiffrement.Azure Key Vault Managed HSM is a cloud service that safeguards encryption keys. Comme il s’agit de données sensibles et critiques, vous devez sécuriser l’accès à vos HSM managés en permettant seulement aux applications et utilisateurs autorisés d’y accéder.Because this data is sensitive and business critical, you need to secure access to your managed HSMs by allowing only authorized applications and users to access it. Cet article fournit une vue d’ensemble du modèle de contrôle d’accès HSM managé.This article provides an overview of the Managed HSM access control model. Il décrit l’authentification et l’autorisation, puis explique comment sécuriser l’accès à vos HSM managés.It explains authentication and authorization, and describes how to secure access to your managed HSMs.

Modèle de contrôle d'accèsAccess control model

L’accès à un HSM managé est contrôlé par le biais de deux interfaces : le plan de gestion et le plan de données.Access to a managed HSM is controlled through two interfaces: the management plane and the data plane. Le plan de gestion vous permet de gérer le HSM.The management plane is where you manage the HSM itself. Les opérations de ce plan incluent la création et la suppression de HSM managés, ainsi que la récupération des propriétés des HSM managés.Operations in this plane include creating and deleting managed HSMs and retrieving managed HSM properties. Le plan de données correspond à l’emplacement où vous utilisez les données stockées dans un HSM managé, à savoir des clés de chiffrement sauvegardées par HSM.The data plane is where you work with the data stored in an managed HSM -- that is HSM-backed encryption keys. Vous pouvez ajouter, supprimer, modifier et utiliser des clés pour effectuer des opérations de chiffrement, gérer les attributions de rôles pour contrôler l’accès aux clés, créer une sauvegarde HSM complète, restaurer une sauvegarde complète et gérer le domaine de sécurité à partir de l’interface du plan de données.You can add, delete, modify, and use keys to perform cryptographic operations, manage role assignments to control access to the keys, create a full HSM backup, restore full backup, and manage security domain from the data plane interface.

Pour accéder à un HSM managé dans l’un ou l’autre de ces plans, tout appelant doit être authentifié et autorisé.To access a managed HSM in either plane, all callers must have proper authentication and authorization. L’authentification établit l’identité de l’appelant.Authentication establishes the identity of the caller. L’autorisation détermine les opérations que l’appelant peut exécuter.Authorization determines which operations the caller can execute. Un appelant peut être l’un des principaux de sécurité définis dans Azure Active Directory : utilisateur, groupe, principal de service ou identité managée.A caller can be any one of the security principals defined in Azure Active Directory - user, group, service principal or managed identity.

Les deux plans utilisent Azure Active Directory pour l’authentification.Both planes use Azure Active Directory for authentication. Pour l’autorisation, ils utilisent différents systèmes, comme suit :For authorization they use different systems as follows

  • Le plan de gestion utilise le contrôle d’accès en fonction du rôle Azure (Azure RBAC), un système d’autorisation basé sur Azure Resource Manager.The management plane uses Azure role-based access control -- Azure RBAC -- an authorization system built on Azure Azure Resource Manager
  • Le plan de données utilise le contrôle d’accès en fonction du rôle au niveau du HSM managé, un système d’autorisation implémenté et appliqué au niveau du HSM managé.The data plane uses a managed HSM-level RBAC (Managed HSM local RBAC) -- an authorization system implemented and enforced at the managed HSM level.

Lorsqu’un HSM managé est créé, le demandeur fournit également une liste d’administrateurs de plan de données (tous les principaux de sécurité sont pris en charge).When a managed HSM is created, the requestor also provides a list of data plane administrators (all security principals are supported). Seuls ces administrateurs sont en mesure d’accéder au plan de données du HSM managé pour effectuer des opérations sur les clés et gérer les attributions de rôles de plan de données (RBAC local du HSM managé).Only these administrators are able to access the managed HSM data plane to perform key operations and manage data plane role assignments (Managed HSM local RBAC).

Le modèle d’autorisation des deux plans utilise la même syntaxe, mais il est appliqué à des niveaux différents, et les attributions de rôles utilisent des étendues différentes.Permission model for both planes uses the same syntax, but they are enforced at different levels and role assignments use different scopes. L’Azure RBAC du plan de gestion est appliqué par Azure Resource Manager tandis que le RBAC local du HSM managé est appliqué par le HSM managé lui-même.Management plane Azure RBAC is enforced by Azure Resource Manager while data plane Managed HSM local RBAC is enforced by managed HSM itself.

Importante

L’octroi d’un accès au plan de gestion de principal de sécurité à un HSM managé ne lui octroie aucun accès au plan de données pour accéder aux clés ou aux attributions de rôle de plan de données RBAC local HSM managé.Granting a security principal management plane access to an managed HSM does not grant them any access to data plane to access keys or data plane role assignments Managed HSM local RBAC). Cet isolement vise à prévenir une expansion intempestive des privilèges affectant l’accès aux clés stockées dans le HSM managé.This isolation is by design to prevent inadvertent expansion of privileges affecting access to keys stored in Managed HSM.

Par exemple, un administrateur d’abonnements (dans la mesure où il dispose de l’autorisation « collaborateur » pour toutes les ressources de l’abonnement) peut supprimer un HSM managé de son abonnement, mais s’il n’a pas accès au plan de données spécifiquement accordé via le RBAC local HSM managé, il ne peut pas accéder aux clés ou gérer l’attribution de rôle dans le HSM managé pour lui ou d’autres utilisateurs.For example, a subscription administrator (since they have "Contributor" permission to all resources in the subscription) can delete an managed HSM in their subscription, but if they don't have data plane access specifically granted through Managed HSM local RBAC, they cannot gain access to keys or manage role assignment in the managed HSM to grant themselves or others access to data plane.

Authentification Azure Active DirectoryAzure Active Directory authentication

Lorsqu’un HSM managé est créé dans un abonnement Azure, il est automatiquement associé au client Azure Active Directory de cet abonnement.When you create an managed HSM in an Azure subscription, it's automatically associated with the Azure Active Directory tenant of the subscription. Tous les appelants dans les deux plans doivent être inscrits auprès de ce locataire et s’authentifier pour accéder au HSM managé.All callers in both planes must be registered in this tenant and authenticate to access the managed HSM.

L’application s’authentifie auprès d’Azure Active Directory avant d’appeler un plan.The application authenticates with Azure Active Directory before calling either plane. L’application peut utiliser une méthode d’authentification prise en charge en fonction du type d’application.The application can use any supported authentication method based on the application type. L’application acquiert un jeton pour une ressource du plan afin d’y accéder.The application acquires a token for a resource in the plane to gain access. La ressource est un point de terminaison dans le plan de gestion ou de données, en fonction de l’environnement Azure.The resource is an endpoint in the management or data plane, based on the Azure environment. L’application utilise le jeton et envoie une demande d’API REST au point de terminaison du HSM managé.The application uses the token and sends a REST API request to Managed HSM endpoint. Pour en savoir plus, passez en revue le flux d’authentification intégral.To learn more, review the whole authentication flow.

L’utilisation d’un même mécanisme d’authentification pour les deux plans présente plusieurs avantages :The use of a single authentication mechanism for both planes has several benefits:

  • Les organisations peuvent contrôler de manière centralisée l’accès à tous leurs HSM managés.Organizations can control access centrally to all managed HSMs in their organization.
  • Si un utilisateur part, il perd instantanément l’accès à tous les HSM managés de l’organisation.If a user leaves, they instantly lose access to all managed HSMs in the organization.
  • Les organisations peuvent personnaliser l’authentification à l’aide des options d’Azure Active Directory (par exemple, pour activer l’authentification multifacteur afin de renforcer la sécurité).Organizations can customize authentication by using the options in Azure Active Directory, such as to enable multi-factor authentication for added security.

Points de terminaison de ressourceResource endpoints

Les principaux de sécurité accèdent aux plans par le biais de points de terminaison.Security principals access the planes through endpoints. Les contrôles d’accès pour les deux plans fonctionnent indépendamment.The access controls for the two planes work independently. Pour permettre à une application d’utiliser des clés dans un HSM managé, vous accordez l’accès au plan de données à l’aide d’un RBAC local de HSM managé.To grant an application access to use keys in an managed HSM, you grant data plane access by using Managed HSM local RBAC. Pour permettre à un utilisateur d’accéder à la ressource HSM managé pour créer, lire, supprimer, déplacer les HSM managés et modifier d’autres propriétés et balises, vous utilisez Azure RBAC.To grant a user access to Managed HSM resource to create, read, delete, move the managed HSMs and edit other properties and tags you use Azure RBAC.

Le tableau suivant présente les points de terminaison pour les plans de gestion et de données.The following table shows the endpoints for the management and data planes.

Plan d’accèsAccess plane Points de terminaison d’accèsAccess endpoints OpérationsOperations Mécanisme de contrôle d’accèsAccess control mechanism
Plan de gestionManagement plane Mondial :Global:
management.azure.com:443management.azure.com:443
Créer, lire, mettre à jour, supprimer et déplacer des HSM managésCreate, read, update, delete, and move managed HSMs
Définir des balises de HSM managéSet managed HSM tags
Azure RBACAzure RBAC
Plan de donnéesData plane Mondial :Global:
<hsm-name>.vault.azure.net:443<hsm-name>.vault.azure.net:443
Clés : decrypt, encrypt,Keys: decrypt, encrypt,
unwrap, wrap, verify, sign, get, list, update, create, import, delete, backup, restore, purgeunwrap, wrap, verify, sign, get, list, update, create, import, delete, backup, restore, purge

Gestion des rôles de plan de données (RBAC local HSM managé)   : répertorier les définitions de rôles, attribuer des rôles, supprimer des attributions de rôles, définir des rôles personnalisés

*Sauvegarde/restauration  : sauvegarde, restauration, vérification des opérations de sauvegarde/restauration de l’état

Domaine de sécurité** : télécharger et charger le domaine de sécurité
Data plane role-management (Managed HSM local RBAC): list role definitions, assign roles, delete role assignments, define custom roles

*Backup/restore : backup, restore, check status backup/restore operations

Security domain**: download and upload security domain
RBAC local HSM managéManaged HSM local RBAC

Plan de gestion et Azure RBACManagement plane and Azure RBAC

Dans le plan de gestion, vous utilisez Azure RBAC pour autoriser les opérations qu’un appelant peut exécuter.In the management plane, you use Azure RBAC to authorize the operations a caller can execute. Dans le modèle Azure RBAC, chaque abonnement Azure a une instance d’Azure Active Directory.In the Azure RBAC model, each Azure subscription has an instance of Azure Active Directory. Vous accordez l’accès aux utilisateurs, groupes et applications de ce répertoire.You grant access to users, groups, and applications from this directory. L’accès accordé permet de gérer les ressources de l’abonnement Azure qui reposent sur le modèle de déploiement Azure Resource Manager.Access is granted to manage resources in the Azure subscription that use the Azure Resource Manager deployment model. Pour accorder l’accès, utilisez le portail Azure, l’interface Azure CLI, Azure PowerShell ou les API REST Azure Resource Manager.To grant access, use the Azure portal, the Azure CLI, Azure PowerShell, or the Azure Resource Manager REST APIs.

Vous créez un coffre de clés dans un groupe de ressources et gérez l’accès à l’aide d’Azure Active Directory.You create a key vault in a resource group and manage access by using Azure Active Directory. Vous autorisez des utilisateurs ou des groupes à gérer les coffres de clés dans un groupe de ressources.You grant users or groups the ability to manage the key vaults in a resource group. Vous accordez l’accès à un niveau d’étendue spécifique en attribuant les rôles Azure appropriés.You grant the access at a specific scope level by assigning appropriate Azure roles. Pour permettre à un utilisateur de gérer des coffres de clés, vous attribuez un rôle key vault Contributor prédéfini à l’utilisateur dans une étendue spécifique.To grant access to a user to manage key vaults, you assign a predefined key vault Contributor role to the user at a specific scope. Les niveaux d’étendue suivants peuvent être attribués à un rôle Azure :The following scopes levels can be assigned to an Azure role:

  • Groupe d'administration : un rôle Azure attribué au niveau d’un abonnement s’applique à tous les abonnements au sein de ce groupe d’administration.Management group: An Azure role assigned at the subscription level applies to all the subscriptions in that management group.
  • Abonnement: Un rôle Azure attribué au niveau d’un abonnement s’applique à tous les groupes de ressources et à toutes les ressources au sein de cet abonnement.Subscription: An Azure role assigned at the subscription level applies to all resource groups and resources within that subscription.
  • Groupe de ressources : Un rôle Azure attribué au niveau d’un groupe de ressources s’applique à toutes les ressources de ce groupe de ressources.Resource group: An Azure role assigned at the resource group level applies to all resources in that resource group.
  • Ressource spécifique : Un rôle Azure attribué pour une ressource spécifique s’applique à cette ressource.Specific resource: An Azure role assigned for a specific resource applies to that resource. Dans ce cas, la ressource est un coffre de clés spécifique.In this case, the resource is a specific key vault.

Il existe plusieurs rôles prédéfinis.There are several predefined roles. Si un rôle prédéfini ne répond pas à vos besoins, vous pouvez définir votre propre rôle.If a predefined role doesn't fit your needs, you can define your own role. Pour plus d’informations, consultez Azure RBAC : pour les ressources Azure.For more information, see Azure RBAC: Built-in roles.

Plan de données et RBAC local HSM managéData plane and Managed HSM local RBAC

Vous octroyez à un principal de sécurité l’accès pour exécuter des opérations de clé spécifiques en attribuant un rôle.You grant a security principal access to execute specific key operations by assigning a role. Pour chaque attribution de rôle, vous devez spécifier un rôle et une étendue auxquels s’applique cette attribution.For each role assignment you need to specify a role and scope over which that assignment applies. Pour le RBAC local HSM managé, deux étendues sont disponibles.For Managed HSM local RBAC two scopes are available.

  • "/" ou "/keys"  : Étendue de niveau HSM."/" or "/keys": HSM level scope. Les principaux de sécurité auxquels un rôle a été attribué à cette étendue peuvent effectuer les opérations définies dans le rôle pour tous les objets (clés) au sein du HSM managé.Security principals assigned a role at this scope can perform the operations defined in the role for all objects (keys) in the managed HSM.
  • "/keys/<key-name>"  : Étendue de niveau clé."/keys/<key-name>": Key level scope. Les principaux de sécurité auxquels un rôle a été attribué à cette étendue peuvent effectuer les opérations définies dans ce rôle pour toutes les versions de la clé spécifiée uniquement.Security principals assigned a role at this scope can perform the operations defined in this role for all versions of the specified key only.

Étapes suivantesNext steps