Articles Tagués ‘Différence entre les rôles Azure’

 

Introduction 

La notion de rôles dans Azure est souvent oubliée par les clients qui veulent aller « trop vite » et commencer à migrer/déployer des Workloads dans le Cloud.

Après plusieurs dizaines de missions autour d’Azure, j’ai constaté que la plupart des clients (pour ne pas dire tous ^_^), confondent toujours les rôles « RBAC » Azure de type « Owner, Contributor ou encore User Access Administrator« , avec les rôles Azure AD de type « Global Administrator /User Administrator ou encore Application Administrator/Developper« .

Sans parler des rôles Azure historiques « Classiques » de type « Administrateur de Comptes, Administrateur de Service ou encore Co-Administrateur« , introduits avec la toute première version d’Azure (Azure ASM : Azure Service Manager) dont peu de personnes connaissent l’existence.

Pour bien démarrer avec Azure, il est très important de comprendre chaque type de rôle, son utilité (quand et comment l’utiliser) et à quel niveau (Scope).

L’objectif du présent post est de vous présenter les différents rôles Azure, la différence entre eux, limitations relatives à chaque type de rôle et comment les implémenter dans vos environnements Cloud Azure.

Bonne lecture à tous !

 

Les rôles fournis avec Microsoft Azure

Trois types de rôles sont fournis aujourd’hui avec Microsoft Azure, à savoir :

  • Les rôles Azure « Classiques » (rôles historiques)
  • Les rôles Azure « RBAC »
  • Les rôles Azure « Active Directory »

Reportez-vous aux sections suivantes pour en savoir plus !

Les rôles « Azure Classic » : Un peu d’historique

Quand Azure était proposé pour la première fois (sous le modèle de déploiement ASM : Azure Service Manager), la gestion des accès aux ressources se faisait via l’utilisation de trois rôles (Administrateurs) uniquement, à savoir :

  • Administrateur de compte (Account Administrator)
  • Administrateur de Service (Service Administrator)
  • Co-Administrateur (Co-Administrator)

 

Lors de l’inscription à Microsoft Azure (création d’un nouveau compte/environnement Azure), le compte (Adresse Email) utilisé est automatiquement défini/déclaré en tant que « Administrateur de compte » et « Administrateur de Service ». Des Co-Administrateurs pourront ensuite être déclarés pour déléguer l’accès et la gestion des ressources Azure hébergées au niveau des abonnements.

Tip : Connectez-vous sur le Portail Azure, sélectionnez un de vos abonnements, et cliquez ensuite sur « Propriétés« , notez le nom du compte (Adresse Email) portant le rôle « Administrateur de compte » et « Administrateur de Service »

Les administrateurs « Classiques » ont un accès/contrôle total à la Souscription Azure. Ils peuvent gérer les ressources en utilisant le portail Azure ou via les API Azure ARM et ASM.

Note : Les Administrateurs de Services et les Co-administrateurs sont équivalents au rôle « Owner /Propriétaire » du nouveau modèle RBAC (Azure ARM) et offrent un accès total au niveau de l’abonnement. Le rôle « Administrateur de compte » quant à eux, ne permet pas la gestion des ressources. Cf tableau ci-dessous

Le tableau suivant décrit en détails les différences entre ces trois rôles Azure historiques :

Ce tableau peut être downloadé depuis ce lien Direct.

Vous aurez compris, avec Azure ASM, nous étions plus dans un modèle de Tout ou Rien (All-or-Nothing), car seuls les trois Administrateurs cités précédemment étaient disponibles, si votre politique de sécurité impose le principe du moindre privilège (PoLP : Principle of Least Privilege) et que vous deviez par exemple, limiter l’accès et la gestion de vos VMs Azure à un groupe d’utilisateurs spécifique, eh bien techniquement cela n’était pas possible, car tous les membres du groupe Azure AD auquel vous allez attribuer un des rôles Azure Classique se verront attribuer un rôle d’Administrateur (Co-Administrateur généralement), leur permettant automatiquement un accès total sur toutes les ressources Azure de votre abonnement.

Gérer l’attribution et la suppression des rôles Azure Classiques

Pour gérer l’attribution et la suppression des rôles Azure « Classiques », sélectionnez un abonnement,  groupe de ressources ou encore une Ressource Azure, et rendez-vous ensuite sous la Blade « Contrôle d’accès (IAM) » > onglet « Administrateurs Classiques » :

  • La liste des Administrateurs Classiques (Administrateurs de Service et Co-Administrateurs) est affichée :

Note : le compte ayant servi à l’inscription sur Azure, est automatiquement déclaré en tant que « Administrateur de services fédérés ».

  • Pour ajouter ou supprimer un Co-Administrateur, cliquez sur « Ajouter« , et sélectionnez ensuite « Ajoute un coadministrateur » :

N’hésitez pas à ajouter et supprimer un compte co-administrateur sur vos environnements de Test/Sandbox Azure et tester les droits qui lui seront attribuer.

 

En savoir plus sur les rôles Azure « Classiques »

Pour en savoir plus sur les rôles « Classiques » Azure, je vous invite à consulter cette documentation.

 

Ce qu’il faut retenir  

Azure étant proposé aujourd’hui qu’en mode ARM (Azure Resource Manager), la notion de rôles « Classiques » ne doit pas être prise en considération lors du design de votre modèle de délégation de droits Azure.

Le focus doit être porté sur les nouveaux rôles « RBAC » et « Azure AD ».

La section précédente avait simplement pour but de vous expliquer l’historique des premiers rôles apparus avec la première version d’Azure ASM.

 

Les rôles « Azure RBAC »

Avec l’introduction du modèle de déploiement Azure ARM (Azure Resource Manager), un nouveau modèle/système de gestion des droits d’accès a été introduit, il s’agit du modèle RBAC (Role-Based Access Control).

RBAC a permis à plusieurs entreprises ayant un niveau de sécurité « sérieux » de décoller et d’aller vers le Cloud.

Ce nouveau système de gestion de droits a résolu la problématique liée à l’ancien model de droit d’accès ASM offrant un niveau d’accès limité de type All-or-Nothing.

Azure RBAC permet en effet une gestion de droits d’accès plus fine et inclut (par défaut) plusieurs dizaines de rôles prédéfinis (Built-in) vous permettant de restreindre au maximum l’accès et la gestion à vos ressources et services Azure.

Microsoft a pensé son modèle RBAC de la manière suivante :

  • Un type de rôle par Service/Offre Cloud (eg : Azure VM Contributor | Azure Sentinel Contributor…)
  • Plusieurs profils au niveau du même rôle RBAC (eg : Azure Security Admin | Azure Security Reader …)

Note importante : les rôles Azure RBAC sont dédiés à l’accès et gestion des ressources Azure uniquement telles que les VMs Azure, Bases de données SQL Clusters HDI, Services Réseaux (VNET, Subnet, Gateway VPN, NSG, LB…) ou encore les WebApp, Mobile App…etc. La gestion de l’annuaire Azure AD et ses objets associés nécessitent d’autres droits /rôles (Rôles Azure AD), voir section suivante pour en savoir plus !

 

Il existe plus précisément (au moment de la rédaction du présent post) 166 rôles Azure intégrés (Built-in). Vous pouvez les visualiser depuis la Blade « Contrôle d’accès (IAM) » > « Rôles » :

RBAC vous permet de créer un modèle de délégation par profil (Build Team), par modèle de service Cloud (IaaS Builder, PaaS Contributor…) ou par offre Cloud(VM Builder, VNET Admin, Azure SQL Admin)…

 

Liste des « Built-in » Rôles RBAC Azure 

La liste complète des Built-in rôles RBAC Azure est disponible depuis l’URL suivante :

https://docs.microsoft.com/fr-fr/azure/role-based-access-control/built-in-roles

L’équipe Azure en charge de la partie RBAC mets régulièrement à jour cette liste, généralement après introduction d’un nouveau service /offre Cloud (eg : Azure Sentinel > introduction de nouveaux Built-in Roles : Azure Sentinel Contributor | Azure Sentinel Reader…).

Note : La suppression d’un service Cloud implique également la suppression des Built-in rôles RBAC associés. Avant de commencer vos travaux de conception du modèle RBAC, je vous recommande vivement de consulter cette page.

 

Les rôles RBAC fondamentaux 

Comme expliqué précédemment, il existe aujourd’hui plus de 150 Rôles RBAC Built-in.

Les 4 principaux rôles RBAC Built-in à retenir sont listés dans le tableau :

Rôle RBAC Autorisations Notes
Propriétaire (Owner)
  • Accès total à toutes les ressources
  • Délégation de l’accès à d’autres personnes
L’administrateur de services et les coadministrateurs se voient attribuer le rôle Propriétaire/Owner au niveau de chaque abonnement.

Ce rôle s’applique à tous les types de ressources.

Contributeur (Contributeur)
  • Création et gestion de tous les types de ressources Azure
  • Ne peut pas attribuer/déléguer l’accès à d’autres personnes
Ce rôle s’applique à tous les types de ressources.
Lecteur (Reader)
  • Consultation/Lecture des ressources Azure uniquement
Ce rôle s’applique à tous les types de ressources.
Administrateur de l’accès utilisateur (User Access Administrator)
  • Gestion de l’accès utilisateur aux ressources Azure

 

Gérer l’attribution et la suppression des rôles Azure RBAC

Pour gérer l’attribution et la suppression des rôles Azure « RBAC », sélectionnez un abonnement, groupe de ressources ou une ressource et rendez-vous ensuite sous la Blade « Contrôle d’accès (IAM) » > onglet « Attributions de rôles » :

  • Les attributions de rôles RBAC déclarées peuvent être consultées depuis cet onglet :

  • Pour ajouter une nouvelle attribution de rôle, cliquez sur « Ajouter » et sélectionnez ensuite « Ajouter une attribution de rôle » :

  • Dans l’exemple suivant, nous allons attribuer le rôle Virtual Machine Contributor (Contributeur de machines virtuelles) au groupe Azure AD « HK Run Team« .
    • Note : il faut cliquer ensuite sur « Enregistrer » pour que cette nouvelle attribution de rôle soit prise en compte.

  • La nouvelle attribution de rôle RBAC (VM Contributor) apparaît désormais sous « Attribution de rôles« :

  • Pour supprimer une attribution de rôle existante, il suffit de la sélectionner, et cliquez sur « Supprimer » :

  • Vous serez invités à confirmer cette suppression en cliquant sur « Oui » :

 

Les Custom Rôles RBAC

Azure RBAC vous offre également la possibilité de créer vos propres rôles RBAC, appelés « Custom Roles » ou « Rôles personnalisés« .

Si les rôles RBAC « Built-In » fournis par défaut avec Azure ne répondent pas à vos besoins, vous pouvez créer vos rôles Custom et définir des droits/autorisations personnalisées.

Si votre politique de sécurité définit un modèle RBAC basé sur le concept du Least privilège, avec une utilisation de groupes (Azure AD) distincts permettant uniquement :

  • La lecture et exportation de Logs Azure AD & des ressources
  • Le démarrage, redémarrage et l’arrêt des services IaaS (VM) et PaaS (Serveurs SQL Azure)
  • Création et lecture des règles NSG

vous avez la possibilité de créer des Custom Roles avec les autorisations nécessaires correspondant aux droits définis dans votre modèle de droit d’accès.

Un Custom Role est créé sur la base d’un fichier JSON, avec une structure (setting <> data value) spécifique.

L’exemple suivant, montre un Custom Role permettant uniquement le démarrage, arrêt et redémarrage des VMs Azure :

Je vous invite à consulter cet article pour en savoir plus sur les Azure Custom Roles.

 

Azure RBAC : Limitations

Il existe certaines limitations relatives à l’utilisation des rôles RBAC Azure, voir tableau ci-dessous :

ID Limitation

Description de la limitation

#1

Vous pouvez avoir jusqu’à 2 000 attributions de rôle dans chaque Souscription Azure

#2

Vous pouvez avoir jusqu’à 500 attributions de rôle dans chaque Management Group

#3

Vous pouvez avoir jusqu’à 5000 Custom roles par Tenant Azure

Note importante : la limitation #1 comprend l’attribution de rôles Built-in et Customs.

 

En savoir plus sur les rôles Azure « RBAC »

Pour en savoir plus sur les rôles RBAC Azure, je vous invite à consulter cette documentation.

 

Les rôles « Azure Active Directory »

Les rôles Administrateurs Azure AD (aka AAD) sont utilisés pour gérer les ressources de l’annuaire Azure AD, par exemple pour créer ou modifier des comptes utilisateurs Azure, attribuer des rôles d’administration à d’autres personnes ou gérer l’appartenance aux groupes Azure AD, réinitialiser les mots de passe des utilisateurs, gérer les licences utilisateur et encore gérer les propriétés du domaine Azure AD.

 

Liste des « Built-in » Rôles Azure AD 

La liste complète des Built-in rôles Azure AD est disponible depuis l’URL suivante :

https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-assign-admin-roles#available-roles

Il existe (au moment de la rédaction du présent post) 56 rôles Built-in Azure AD.

L’équipe Azure en charge de la partie « IDentity/IAM | Azure AD » mets régulièrement à jour cette liste, je vous invite à consulter cette page avant de démarrer vos travaux de conception des droits Azure AD.

 

Les rôles Azure AD fondamentaux 

Les 3 principaux rôles Built-in Azure AD à retenir sont listés dans le tableau :

Rôle AzureAD Autorisations Notes
Administrateur général (Global Administrator) ·       Gestion de l’accès à toutes les fonctionnalités d’administration dans Azure Active Directory, ainsi que les services qui sont fédérés à Azure Active Directory

·       Attribution des rôles d’administrateur à d’autres personnes

·       Réinitialisation des mots de passe des utilisateurs et de tous les autres administrateurs

La personne/utilisateur qui déploie l’annuaire Azure Active Directory est automatiquement déclarée en tant qu’Administrateur général.
Administrateur d’utilisateurs (Users Administrator) ·       Création et gestion de tous les aspects liés aux utilisateurs et aux groupes

·       Gestion des tickets de support

·       Suivi de l’intégrité des services

·       Changement des mots de passe des utilisateurs, des administrateurs du support technique et autres administrateurs d’utilisateurs

Administrateur de facturation (Billing Administrator) ·       Achats

·       Gestion des abonnements Azure

·       Gestion des tickets de support

·       Suivi de l’intégrité des services

 

Gérer l’attribution et la suppression des rôles Azure AD

Pour gérer l’attribution et la suppression des rôles « Azure AD », cherchez et sélectionnez le service « Azure Active Directory », et rendez-vous ensuite sous la Blade « Rôles et Administrateurs »:

  • La liste des rôles Azure AD vous est retournée (à droite)
  • Vous pouvez également voir le rôle Azure AD qui vous est attribué actuellement sur Azure AD:

  • Pour ajouter une attribution de rôle Azure AD, commencez par sélectionner (cliquer) sur le rôle en question (Users Administrator/Administrateurs d’utilisateurs dans l’exemple suivant), et cliquez ensuite sur « Ajouter des affectations« . Dans l’exemple ci-dessous, nous avons ajouté/déclaré l’utilisateur (Hicham KADIRI) en tant que « Users Administrator »:

  • Les affectations de rôles Azure AD peuvent être consultés depuis le rôle Azure AD, ou en sélectionnant un compte utilisateurs et cliquant sur « Rôles affectés » :

  • Pour supprimer une attribution/affectation de rôle Azure AD, il suffit de sélectionner le compte utilisateur, et cliquez sur « Supprimer les attributions« .

 

Les Custom Rôles Azure AD

Comme pour les rôles Azure RBAC, vous avez la possibilité de créer vos propres rôles Azure AD Custom et définir vos droits/autorisations personnalisées.

Les Custom Roles Azure AD sont créés à partir de fichiers JSON aussi, et disposent la même syntaxe/structure que les Custom Roles RBAC.

Si vous voulez en savoir plus sur les Custom Roles Azure AD, je vous recommande la consultation de cette page.

 

En savoir sur sur les rôles Azure Active Directory

Pour en savoir plus sur les rôles Azure AD, je vous invite à consulter cette documentation.

 

Quelle est la différence entre les rôles « Azure RBAC » vs « Azure AD » ? Se chevauchent-ils entre eux ? 

Comme expliqué précédemment, les rôles Azure RBAC sont dédiés à la gestion des droits d’accès au niveau des services /ressources Azure (Compute, Storage, Network…), alors que les rôles Azure AD, sont plutôt dédiés à la gestion des objets Azure AD et des ressources Office 365 associées.

L’image ci-dessous illustre la séparation (Scope) de ces deux types de rôles :

Rôles RBAC Azure versus administrateur Azure AD

 

Note importante [ce qu’il faut retenir !] : les rôles RBAC vous permettent de définir un modèle de déléguation /droit d’accès aux ressources Azure (VM, Compte de Stockage, VNet, Base PaaS SQL, WebApp, Cluster HDI…), les rôles Azure AD quant à eux, vous permettent de définir un modèle de droit d’accès aux objets associés à l’annuaire Azure AD (objets Utilisateurs, Groupes, Apps…). De plus, Azure RBAC contrôle l’accès aux ressources Azure à l’aide d’Azure Resource Management (ARM) alors que les Custom Roles Azure AD contrôlent l’accès aux ressources Azure AD à l’aide de l’API Graph.

 

Ayant des étendues (Scopes) différents, les rôles Azure RBAC et Azure AD ne se chevauchent jamais entre eux.

Les droits attribués via les deux catégories de rôles (RBAC & Azure AD) sont uniques et définis à des scopes distincts (Ressources Azure <> annuaire Azure AD), par conséquent, aucun impact /chevauchement n’a lieu.

 

Licensing Azure RBAC vs Azure AD

Azure RBAC est un service gratuit :), aucune licence n’est requise pour implémenter vos rôles RBAC Built-in et Custom.
En revanche, la création de rôles Custom pour Azure AD, nécessite un niveau de Licensing Azure AD Premium 1 ou 2.

 

Élévation de privilège : From « Azure AD Global Administrator » to « User Access Admin » 

En tant qu’administrateur général (Global Administrator) dans Azure Active Directory (Azure AD), il est possible que vous n’ayez pas accès à tous les abonnements et groupes d’administration de votre annuaire. Cet article décrit les méthodes pour élever votre accès à tous les abonnements et groupes d’administration.

 

Pourquoi devez-vous élever votre accès ?

Si vous êtes Azure AD Global Admin, il peut vous arriver de vouloir effectuer les opérations suivantes :

  • Récupérer l’accès à un abonnement ou groupe d’administration Azure quand un utilisateur a perdu cet accès
  • Accorder à un autre utilisateur ou à vous-même l’accès à un abonnement ou groupe d’administration Azure
  • Voir tous les abonnements ou groupes d’administration Azure au sein d’une organisation
  • Autoriser une application d’automation (telle qu’une application de facturation ou d’audit) à accéder à tous les abonnements ou groupes d’administration Azure

 

Comment fonctionne l’accès avec élévation de privilèges ?

Les ressources Azure AD et Azure sont sécurisées de façon indépendante les unes des autres. Ainsi, les attributions de rôles Azure AD n’accordent pas d’accès aux ressources Azure et inversement, les attributions de rôles Azure n’accordent pas d’accès à Azure AD. En revanche, si vous êtes administrateur général dans Azure AD, vous pouvez vous attribuer à vous-même un accès à tous les abonnements et groupes d’administration Azure de votre annuaire. Utilisez cette fonctionnalité si vous n’avez pas accès aux ressources de l’abonnement Azure, comme les machines virtuelles ou les comptes de stockage, et que vous voulez utiliser vos privilèges d’administrateur général pour accéder à ces ressources.

Quand vous élevez votre accès, le rôle Administrateur de l’accès utilisateur vous est attribué dans Azure au niveau de l’étendue racine (/). Ceci vous permet de voir toutes les ressources et d’attribuer des accès dans n’importe quel abonnement ou groupe d’administration de l’annuaire. Les attributions de rôles Administrateur de l’accès utilisateur peuvent être supprimées à l’aide d’Azure PowerShell, d’Azure CLI ou de l’API REST.

Vous devez supprimer cet accès avec élévation de privilèges après avoir effectué les modifications nécessaires au niveau de l’étendue racine.

 

Comment élever l’accès d’un Global Administrator Azure AD

Suivez les instructions suivantes pour élever les privilèges d’un Compte Global Administrator Azure AD :

#1. Connectez-vous au Portail Azure ou au Centre d’administration Azure Active Directory en tant qu’administrateur général.

#2. Recherchez et sélectionnez Azure Active Directory

#3. Sous Gérer, sélectionnez Propriétés.

#4. Sous Gestion de l’accès pour les ressources Azure (Access management for Azure Resources), sélectionnez « Oui /Yes« :

Quand vous sélectionnez « Oui », le rôle Administrateur de l’accès utilisateur (User Access Administrator) vous est attribué dans Azure RBAC au niveau de la racine (/). Ceci vous accorde l’autorisation d’attribuer des rôles dans tous les abonnements et groupes d’administration Azure associés à cet annuaire Azure AD. Cette option est disponible seulement pour les utilisateurs auxquels le rôle Administrateur général a été attribué dans Azure AD.

Quand cette option est définie sur Non, le rôle Administrateur de l’accès utilisateur dans Azure RBAC est supprimé de votre compte d’utilisateur. Vous n’aurez plus la possibilité de vous attribuer des droits/rôles aux niveaux des abonnements et groupes d’administration Azure associés à votre Azure AD.

 

#5. Cliquez sur Enregistrer pour que la modification soit prise en compte.

Note importante : cette option n’est pas une propriété globale et s’applique uniquement à l’utilisateur connecté. Vous ne pouvez pas élever l’accès des autres utilisateurs Azure AD Global Admin.

 

#6. Déconnectez-vous et reconnectez-vous pour actualiser votre accès.

Vous devez maintenant avoir accès à tous les abonnements (Subscriptions) et à tous les groupes d’administration (Management Groups) de votre annuaire Azure AD.

 

Guide pas à pas sur « Azure RBAC » 

Je suis en train de finaliser un guide assez détaillé (step-by-step) sur le sujet « Azure RBAC ».

Ce guide sera bientôt disponible en téléchargement gratuit sur Slideshare, n’hésitez pas à vous abonner pour rester informé dès sa publication :).

 

Conclusion

La notion de rôles dans Azure est un item important à prendre en considération dans la phase « Design » de tout projet de migration vers Azure ou le déploiement d’infra Cloud Native.

Le modèle RBAC est un composant critique du modèle de gouvernance Global Azure, prenez donc le temps d’étudier le sujet avant de commencer à déployer vos Workloads dans le Cloud.