Qu’est-ce qu’Azure RBAC ?

Effectué

Lorsqu’il est question d’identité et d’accès, la plupart des organisations qui envisagent d’utiliser le cloud public se soucient de deux choses :

  1. S’assurer que les utilisateurs perdent l’accès aux ressources dans le cloud lorsqu’ils quittent l’entreprise.
  2. Trouver le bon équilibre entre autonomie et gouvernance centrale, par exemple, donner aux équipes projet la possibilité de créer et de gérer des machines virtuelles dans le cloud, tout en centralisant le contrôle des réseaux utilisés par ces machines virtuelles pour communiquer avec d’autres ressources.

Microsoft Entra ID et le contrôle d’accès en fonction du rôle Azure (Azure RBAC) fonctionnent ensemble pour faciliter la réalisation de ces objectifs.

Abonnements Azure

Tout d’abord, n’oubliez pas que chaque abonnement Azure est associé à un seul annuaire Microsoft Entra. Les utilisateurs, groupes et applications de cet annuaire peuvent gérer les ressources de l’abonnement Azure. Les abonnements utilisent Microsoft Entra ID pour l’authentification unique (SSO) et la gestion des accès. Vous pouvez étendre votre instance Active Directory locale au cloud avec Microsoft Entra Connect. Cette fonctionnalité permet à vos employés de gérer leurs abonnements Azure en utilisant leurs identités professionnelles existantes. Quand vous désactivez un compte Active Directory local, il perd automatiquement l’accès à tous les abonnements Azure connectés à Microsoft Entra ID.

Qu’est-ce que RBAC Azure ?

Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) est un système d’autorisation basé sur Azure Resource Manager qui fournit une gestion précise de l’accès aux ressources dans Azure. Avec Azure RBAC, vous pouvez accorder le juste accès dont les utilisateurs ont besoin pour effectuer leur travail. Par exemple, vous pouvez utiliser Azure RBAC pour autoriser un employé donné à gérer les machines virtuelles d’un abonnement, tandis qu’un autre gère les bases de données SQL du même abonnement.

La vidéo suivante décrit le système RBAC Azure en détail :

Vous pouvez accorder les accès en attribuant le rôle Azure approprié aux utilisateurs, groupes et applications dans une étendue donnée. L'étendue d'une attribution de rôle peut être un groupe d'administration, un abonnement, un groupe de ressources ou une ressource individuelle. Un rôle attribué à une étendue parent accorde également l’accès aux étendues enfants qu’elle contient. Par exemple, un utilisateur ayant accès à un groupe de ressources peut gérer toutes les ressources qu’il contient, telles que les sites web, les machines virtuelles et les sous-réseaux. Le rôle Azure que vous attribuez détermine les ressources que l’utilisateur, le groupe ou l’application peut gérer au sein de l’étendue.

Le diagramme suivant montre une vue d’ensemble des relations entre les rôles d’administrateur d’abonnements classiques, les rôles Azure et les rôles Microsoft Entra. Les rôles attribués à une étendue supérieure, par exemple, un abonnement entier, sont hérités par les étendues enfant, par exemple, les instances de service.

Diagram that depicts how the classic subscription administrator roles, Azure roles, and Microsoft Entra roles are related at a high level.

Dans le diagramme précédent, un abonnement est associé à un seul locataire Microsoft Entra. Notez également qu’un groupe de ressources peut avoir plusieurs ressources, mais qu’il est associé à un seul abonnement. Même si ce n’est pas évident sur le diagramme, une ressource peut être liée seulement à un groupe de ressources.

Comment utiliser le contrôle RBAC Azure ?

Azure RBAC vous permet d’accorder un accès aux ressources Azure que vous contrôlez. Supposez que vous devez gérer l’accès aux ressources dans Azure pour les équipes Développement, Ingénierie et Marketing. Vous avez déjà commencé à recevoir des demandes d’accès. Vous devez donc comprendre rapidement comment fonctionne la gestion des accès pour les ressources Azure.

Voici quelques scénarios que vous pouvez implémenter avec Azure RBAC :

  • Permettre à un utilisateur de gérer les machines virtuelles d’un abonnement et à un autre de gérer les réseaux virtuels
  • Permettre à un groupe d’administrateurs de base de données de gérer les bases de données SQL d’un abonnement
  • Permettre à un utilisateur de gérer toutes les ressources d’un groupe de ressources (machines virtuelles, sites web, sous-réseaux, etc.)
  • Permettre à une application d’accéder à toutes les ressources d’un groupe de ressources

Azure RBAC dans le portail Azure

À plusieurs endroits du portail Azure, vous trouverez un volet nommé Contrôle d’accès (IAM), aussi appelé Gestion des identités et des accès. Dans ce volet, vous pouvez identifier les utilisateurs qui y ont accès, ainsi que leurs rôles. Dans ce même volet, vous pouvez accorder ou supprimer des accès.

L’illustration suivante montre un exemple du volet Contrôle d’accès (IAM) pour un groupe de ressources. Dans cet exemple, Alain s’est vu attribuer le rôle Opérateur de sauvegarde pour ce groupe de ressources.

Screenshot of the Azure portal showing the Access control Role assignment pane with the Backup operator section highlighted.

Comment fonctionne Azure RBAC ?

Vous pouvez contrôler l’accès aux ressources à l’aide d’Azure RBAC en créant des attributions de rôles, qui contrôlent la façon dont les autorisations sont appliquées. Pour créer une attribution de rôle, vous avez besoin de trois éléments : un principal de sécurité, une définition de rôle et une étendue. Autrement dit : « qui », « quoi » et « où ».

1. Principal de sécurité (qui)

Un principal de sécurité n’est qu’un nom sophistiqué pour désigner un utilisateur, un groupe ou une application auxquels vous voulez accorder un accès.

An illustration showing security principal including user, group, and service principal.

2. Définition de rôle (ce que vous pouvez faire)

Une définition de rôle est un ensemble d’autorisations. On parle parfois simplement de rôle. Une définition de rôle liste les autorisations que le rôle peut exercer, par exemple, lecture, écriture et suppression. Les rôles peuvent être généraux, comme Propriétaire, ou spécifiques, comme Contributeur de machines virtuelles.

An illustration listing different built-in and custom roles with zoom-in on the definition for the contributor role.

Azure comprend plusieurs rôles intégrés que vous pouvez utiliser. Voici quatre rôles intégrés fondamentaux :

  • Propriétaire : a un accès total à toutes les ressources, y compris le droit de déléguer l’accès à d’autres utilisateurs
  • Contributeur : peut créer et gérer tous les types de ressource Azure, mais ne peut pas accorder l’accès à d’autres utilisateurs
  • Lecteur : peut voir les ressources Azure existantes
  • Administrateur de l’accès utilisateur : permet de gérer l’accès des utilisateurs aux ressources Azure

Si les rôles intégrés ne répondent pas aux besoins spécifiques de votre organisation, vous pouvez créer vos propres rôles personnalisés.

3. Étendue (où)

L’étendue est le niveau auquel s’applique l’accès. Elle est utile si vous voulez par exemple attribuer le rôle Collaborateur de site web à quelqu’un, mais seulement pour un groupe de ressources.

Dans Azure, vous pouvez spécifier une étendue à plusieurs niveaux : groupe d’administration, abonnement, groupe de ressources ou ressource. Les étendues sont structurées dans une relation parent-enfant. Quand vous accordez l’accès à une étendue parente, ces autorisations sont héritées par les étendues enfant. Par exemple, si vous attribuez le rôle Contributeur à un groupe dans l’étendue de l’abonnement, ce rôle est hérité par l’ensemble des groupes de ressources et des ressources de l’abonnement.

An illustration showing a hierarchical representation of different Azure levels to apply scope. The hierarchy, starting with the highest level, is in this order: Management group, subscription, resource group, and resource.

Attribution de rôle

Une fois que vous avez répondu aux questions qui, quoi et où, vous pouvez combiner ces éléments pour accorder l’accès. Une attribution de rôle est le processus qui consiste à lier un rôle à un principal de sécurité dans une étendue spécifique dans le but d’accorder un accès. Pour accorder un accès, vous créez une attribution de rôle. Pour révoquer un accès, vous supprimez une attribution de rôle.

L’exemple suivant montre comment le rôle Contributeur a été attribué au groupe Marketing dans l’étendue du groupe de ressources Ventes.

An illustration showing a sample role assignment process for Marketing group, which is a combination of security principal, role definition, and scope. The Marketing group falls under the Group security principal and has a Contributor role assigned for the Resource group scope.

Azure RBAC est un modèle d’autorisation

RBAC Azure est un modèle d’autorisation. Autrement dit, du moment qu’un rôle vous est attribué, Azure RBAC vous permet d’effectuer certaines actions comme lire, écrire ou supprimer. Par conséquent, si une attribution de rôle vous accorde des autorisations de lecture sur un groupe de ressources et qu’une autre attribution de rôle vous accorde des autorisations d’écriture sur le même groupe de ressources, vous avez des autorisations de lecture et d’écriture sur ce groupe de ressources.

Dans Azure RBAC, il existe ce que l’on appelle des autorisations NotActions. Vous pouvez utiliser NotActions pour créer un ensemble d’autorisations non autorisées. L’accès accordé par un rôle (les autorisations effectives) est calculé en soustrayant les opérations NotActions des opérations Actions. Par exemple, le rôle Contributeur contient à la fois Actions et NotActions. Le caractère générique (*) dans Actions indique qu’il peut effectuer toutes les opérations sur le plan de contrôle. Vous devez ensuite soustraire les opérations suivantes dans NotActions pour obtenir les autorisations effectives :

  • Supprimer des rôles et des attributions de rôles
  • Créer des rôles et des attributions de rôles
  • Accorder à l’appelant un accès Administrateur de l’accès utilisateur au niveau de la portée du client
  • Créer ou mettre à jour tous les artefacts de blueprint
  • Supprimer tous les artefacts de blueprint