Az - Informations de base
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Hiérarchie Organisationnelle
Groupes de Gestion
- Il peut contenir dâautres groupes de gestion ou abonnements.
- Cela permet dâappliquer des contrĂŽles de gouvernance tels que RBAC et Azure Policy une fois au niveau du groupe de gestion et de les hĂ©riter par tous les abonnements dans le groupe.
- 10 000 groupes de gestion peuvent ĂȘtre pris en charge dans un seul annuaire.
- Un arbre de groupes de gestion peut supporter jusquâĂ six niveaux de profondeur. Cette limite nâinclut pas le niveau racine ou le niveau dâabonnement.
- Chaque groupe de gestion et abonnement peut supporter uniquement un parent.
- MĂȘme si plusieurs groupes de gestion peuvent ĂȘtre créés, il nây a quâun seul groupe de gestion racine.
- Le groupe de gestion racine contient tous les autres groupes de gestion et abonnements et ne peut pas ĂȘtre dĂ©placĂ© ou supprimĂ©.
- Tous les abonnements au sein dâun seul groupe de gestion doivent faire confiance au mĂȘme locataire Entra ID.
.png)
https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png
Abonnements Azure
- Câest un autre conteneur logique oĂč les ressources (VMs, DBsâŠ) peuvent ĂȘtre exĂ©cutĂ©es et seront facturĂ©es.
- Son parent est toujours un groupe de gestion (et cela peut ĂȘtre le groupe de gestion racine) car les abonnements ne peuvent pas contenir dâautres abonnements.
- Il fait confiance Ă un seul annuaire Entra ID
- Les permissions appliquĂ©es au niveau de lâabonnement (ou Ă lâun de ses parents) sont hĂ©ritĂ©es par toutes les ressources Ă lâintĂ©rieur de lâabonnement.
Groupes de Ressources
Dans la documentation : Un groupe de ressources est un conteneur qui contient des ressources liĂ©es pour une solution Azure. Le groupe de ressources peut inclure toutes les ressources pour la solution, ou seulement celles que vous souhaitez gĂ©rer en tant que groupe. En gĂ©nĂ©ral, ajoutez des ressources qui partagent le mĂȘme cycle de vie au mĂȘme groupe de ressources afin que vous puissiez facilement les dĂ©ployer, les mettre Ă jour et les supprimer en tant que groupe.
Toutes les ressources doivent ĂȘtre dans un groupe de ressources et ne peuvent appartenir quâĂ un seul groupe et si un groupe de ressources est supprimĂ©, toutes les ressources Ă lâintĂ©rieur sont Ă©galement supprimĂ©es.

https://i0.wp.com/azuredays.com/wp-content/uploads/2020/05/org.png?resize=748%2C601&ssl=1
Identifiants de Ressources Azure
Chaque ressource dans Azure a un identifiant de ressource Azure qui lâidentifie.
Le format dâun identifiant de ressource Azure est le suivant :
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
Pour une machine virtuelle nommĂ©e myVM dans un groupe de ressources myResourceGroup sous lâID dâabonnement 12345678-1234-1234-1234-123456789012, lâidentifiant de ressource Azure ressemble Ă ceci :
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM
Azure vs Entra ID vs Services de Domaine Azure AD
Azure
Azure est la plateforme de cloud computing complĂšte de Microsoft, offrant une large gamme de services, y compris des machines virtuelles, des bases de donnĂ©es, de lâintelligence artificielle et du stockage. Elle sert de fondation pour hĂ©berger et gĂ©rer des applications, construire des infrastructures Ă©volutives et exĂ©cuter des charges de travail modernes dans le cloud. Azure fournit des outils pour les dĂ©veloppeurs et les professionnels de lâinformatique afin de crĂ©er, dĂ©ployer et gĂ©rer des applications et des services de maniĂšre transparente, rĂ©pondant Ă une variĂ©tĂ© de besoins allant des startups aux grandes entreprises.
Entra ID (anciennement Azure Active Directory)
Entra ID est un service de gestion des identitĂ©s et des accĂšs basĂ© sur le cloud conçu pour gĂ©rer lâauthentification, lâautorisation et le contrĂŽle dâaccĂšs des utilisateurs. Il permet un accĂšs sĂ©curisĂ© aux services Microsoft tels quâOffice 365, Azure et de nombreuses applications SaaS tierces. Avec des fonctionnalitĂ©s telles que lâauthentification unique (SSO), lâauthentification multi-facteurs (MFA) et des politiques dâaccĂšs conditionnel, entre autres.
Services de Domaine Entra (anciennement Azure AD DS)
Les Services de Domaine Entra Ă©tendent les capacitĂ©s dâEntra ID en offrant des services de domaine gĂ©rĂ©s compatibles avec les environnements traditionnels de Windows Active Directory. Il prend en charge des protocoles hĂ©ritĂ©s tels que LDAP, Kerberos et NTLM, permettant aux organisations de migrer ou dâexĂ©cuter des applications plus anciennes dans le cloud sans dĂ©ployer de contrĂŽleurs de domaine sur site. Ce service prend Ă©galement en charge les stratĂ©gies de groupe pour une gestion centralisĂ©e, ce qui le rend adaptĂ© aux scĂ©narios oĂč des charges de travail hĂ©ritĂ©es ou basĂ©es sur AD doivent coexister avec des environnements cloud modernes.
Principaux Entra ID
Utilisateurs
- Nouveaux utilisateurs
- Indiquer le nom et le domaine de lâemail du locataire sĂ©lectionnĂ©
- Indiquer le nom affiché
- Indiquer le mot de passe
- Indiquer les propriĂ©tĂ©s (prĂ©nom, titre de poste, informations de contactâŠ)
- Le type dâutilisateur par dĂ©faut est âmembreâ
- Utilisateurs externes
- Indiquer lâemail Ă inviter et le nom affichĂ© (peut ĂȘtre un email non Microsoft)
- Indiquer les propriétés
- Le type dâutilisateur par dĂ©faut est âInvitĂ©â
Permissions par Défaut des Membres & Invités
Vous pouvez les vĂ©rifier dans https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions mais parmi dâautres actions, un membre pourra :
- Lire tous les utilisateurs, groupes, applications, appareils, rÎles, abonnements et leurs propriétés publiques
- Inviter des invitĂ©s (peut ĂȘtre dĂ©sactivĂ©)
- Créer des groupes de sécurité
- Lire les adhésions de groupe non cachées
- Ajouter des invités aux groupes possédés
- CrĂ©er une nouvelle application (peut ĂȘtre dĂ©sactivĂ©)
- Ajouter jusquâĂ 50 appareils Ă Azure (peut ĂȘtre dĂ©sactivĂ©)
Note
Nâoubliez pas que pour Ă©numĂ©rer les ressources Azure, lâutilisateur a besoin dâune attribution explicite de la permission.
Permissions Configurables par Défaut des Utilisateurs
- Membres (docs)
- Enregistrer des applications : Par défaut Oui
- Restreindre les utilisateurs non administrateurs de créer des locataires : Par défaut Non
- Créer des groupes de sécurité : Par défaut Oui
- Restreindre lâaccĂšs au portail dâadministration Microsoft Entra : Par dĂ©faut Non
- Cela ne restreint pas lâaccĂšs API au portail (uniquement web)
- Autoriser les utilisateurs Ă connecter un compte de travail ou dâĂ©cole avec LinkedIn : Par dĂ©faut Oui
- Afficher garder lâutilisateur connectĂ© : Par dĂ©faut Oui
- Restreindre les utilisateurs de rĂ©cupĂ©rer la ou les clĂ©s BitLocker pour leurs appareils possĂ©dĂ©s : Par dĂ©faut Non (vĂ©rifiez dans les paramĂštres de lâappareil)
- Lire dâautres utilisateurs : Par dĂ©faut Oui (via Microsoft Graph)
- Invités
- Options de restrictions dâaccĂšs des utilisateurs invitĂ©s :
- Les utilisateurs invitĂ©s ont le mĂȘme accĂšs que les membres.
- Les utilisateurs invitĂ©s ont un accĂšs limitĂ© aux propriĂ©tĂ©s et adhĂ©sions des objets dâannuaire (par dĂ©faut). Cela restreint lâaccĂšs des invitĂ©s uniquement Ă leur propre profil utilisateur par dĂ©faut. LâaccĂšs Ă dâautres utilisateurs et informations de groupe nâest plus autorisĂ©.
- LâaccĂšs des utilisateurs invitĂ©s est restreint aux propriĂ©tĂ©s et adhĂ©sions de leurs propres objets dâannuaire est la plus restrictive.
- Options dâinvitation des invitĂ©s :
- Quiconque dans lâorganisation peut inviter des utilisateurs invitĂ©s, y compris des invitĂ©s et des non-administrateurs (le plus inclusif) - Par dĂ©faut
- Les utilisateurs membres et les utilisateurs assignés à des rÎles administratifs spécifiques peuvent inviter des utilisateurs invités, y compris des invités avec des permissions de membre
- Seuls les utilisateurs assignés à des rÎles administratifs spécifiques peuvent inviter des utilisateurs invités
- Personne dans lâorganisation ne peut inviter des utilisateurs invitĂ©s, y compris les administrateurs (le plus restrictif)
- Les utilisateurs externes peuvent quitter : Par défaut Vrai
- Autoriser les utilisateurs externes Ă quitter lâorganisation
Tip
MĂȘme sâils sont restreints par dĂ©faut, les utilisateurs (membres et invitĂ©s) avec des permissions accordĂ©es pourraient effectuer les actions prĂ©cĂ©dentes.
Groupes
Il existe 2 types de groupes :
- SĂ©curitĂ© : Ce type de groupe est utilisĂ© pour donner aux membres accĂšs aux applications, ressources et assigner des licences. Les utilisateurs, appareils, principaux de service et autres groupes peuvent ĂȘtre membres.
- Microsoft 365 : Ce type de groupe est utilisĂ© pour la collaboration, donnant aux membres accĂšs Ă une boĂźte aux lettres partagĂ©e, un calendrier, des fichiers, un site SharePoint, etc. Les membres du groupe ne peuvent ĂȘtre que des utilisateurs.
- Cela aura une adresse email avec le domaine du locataire EntraID.
Il existe 2 types dâadhĂ©sions :
- AssignĂ© : Permet dâajouter manuellement des membres spĂ©cifiques Ă un groupe.
- AdhĂ©sion dynamique : GĂšre automatiquement lâadhĂ©sion en utilisant des rĂšgles, mettant Ă jour lâinclusion du groupe lorsque les attributs des membres changent.
Principaux de Service
Un Principal de Service est une identitĂ© créée pour ĂȘtre utilisĂ©e avec des applications, des services hĂ©bergĂ©s et des outils automatisĂ©s pour accĂ©der aux ressources Azure. Cet accĂšs est restreint par les rĂŽles assignĂ©s au principal de service, vous donnant le contrĂŽle sur quelles ressources peuvent ĂȘtre accessibles et Ă quel niveau. Pour des raisons de sĂ©curitĂ©, il est toujours recommandĂ© dâutiliser des principaux de service avec des outils automatisĂ©s plutĂŽt que de leur permettre de se connecter avec une identitĂ© utilisateur.
Il est possible de se connecter directement en tant que principal de service en lui générant un secret (mot de passe), un certificat, ou en accordant un accÚs fédéré à des plateformes tierces (par exemple, Github Actions) à son sujet.
- Si vous choisissez lâauthentification par mot de passe (par dĂ©faut), enregistrez le mot de passe gĂ©nĂ©rĂ© car vous ne pourrez plus y accĂ©der.
- Si vous choisissez lâauthentification par certificat, assurez-vous que lâapplication aura accĂšs Ă la clĂ© privĂ©e.
Enregistrements dâApplications
Un Enregistrement dâApplication est une configuration qui permet Ă une application de sâintĂ©grer avec Entra ID et dâeffectuer des actions.
Composants Clés :
- ID dâApplication (Client ID) : Un identifiant unique pour votre application dans Azure AD.
- URIs de Redirection : URLs oĂč Azure AD envoie les rĂ©ponses dâauthentification.
- Certificats, Secrets & Identifiants FĂ©dĂ©rĂ©s : Il est possible de gĂ©nĂ©rer un secret ou un certificat pour se connecter en tant que principal de service de lâapplication, ou pour lui accorder un accĂšs fĂ©dĂ©rĂ© (par exemple, Github Actions).
- Si un certificat ou un secret est gĂ©nĂ©rĂ©, il est possible pour une personne de se connecter en tant que principal de service avec des outils CLI en connaissant lâID dâapplication, le secret ou le certificat et le locataire (domaine ou ID).
- Permissions API : SpĂ©cifie quelles ressources ou APIs lâapplication peut accĂ©der.
- ParamĂštres dâAuthentification : DĂ©finit les flux dâauthentification pris en charge par lâapplication (par exemple, OAuth2, OpenID Connect).
- Principal de Service : Un principal de service est créé lorsquâune application est créée (si cela est fait depuis la console web) ou lorsquâelle est installĂ©e dans un nouveau locataire.
- Le principal de service obtiendra toutes les permissions demandées avec lesquelles il a été configuré.
Permissions de Consentement par Défaut
Consentement des utilisateurs pour les applications
- Ne pas autoriser le consentement des utilisateurs
- Un administrateur sera requis pour toutes les applications.
- Autoriser le consentement des utilisateurs pour les applications de publishers vérifiés, applications internes et applications demandant uniquement des permissions sélectionnées (Recommandé)
- Tous les utilisateurs peuvent consentir aux applications demandant uniquement des permissions classĂ©es comme âimpact faibleâ, applications de publishers vĂ©rifiĂ©s et applications enregistrĂ©es dans le locataire.
- Permissions par défaut à faible impact (bien que vous deviez accepter de les ajouter comme faibles) :
- User.Read - se connecter et lire le profil utilisateur
- offline_access - maintenir lâaccĂšs aux donnĂ©es auxquelles les utilisateurs ont donnĂ© accĂšs
- openid - connecter les utilisateurs
- profile - voir le profil de base de lâutilisateur
- email - voir lâadresse email de lâutilisateur
- Autoriser le consentement des utilisateurs pour les applications (Par défaut)
- Tous les utilisateurs peuvent consentir pour toute application Ă accĂ©der aux donnĂ©es de lâorganisation.
Demandes de consentement administratives : Par défaut Non
- Les utilisateurs peuvent demander le consentement administratif pour des applications auxquelles ils ne peuvent pas consentir
- Si Oui : Il est possible dâindiquer les Utilisateurs, Groupes et RĂŽles qui peuvent consentir aux demandes
- Configurer Ă©galement si les utilisateurs recevront des notifications par email et des rappels dâexpiration
Identité Gérée (Métadonnées)
Les identitĂ©s gĂ©rĂ©es dans Azure Active Directory offrent une solution pour gĂ©rer automatiquement lâidentitĂ© des applications. Ces identitĂ©s sont utilisĂ©es par les applications dans le but de se connecter aux ressources compatibles avec lâauthentification Azure Active Directory (Azure AD). Cela permet de supprimer le besoin de coder en dur les identifiants cloud dans le code car lâapplication pourra contacter le service de mĂ©tadonnĂ©es pour obtenir un jeton valide afin de rĂ©aliser des actions en tant quâidentitĂ© gĂ©rĂ©e indiquĂ©e dans Azure.
Il existe deux types dâidentitĂ©s gĂ©rĂ©es :
- AssignĂ©e au systĂšme. Certains services Azure vous permettent dâactiver une identitĂ© gĂ©rĂ©e directement sur une instance de service. Lorsque vous activez une identitĂ© gĂ©rĂ©e assignĂ©e au systĂšme, un principal de service est créé dans le locataire Entra ID de confiance par lâabonnement oĂč la ressource est situĂ©e. Lorsque la ressource est supprimĂ©e, Azure supprime automatiquement lâidentitĂ© pour vous.
- AssignĂ©e par lâutilisateur. Il est Ă©galement possible pour les utilisateurs de gĂ©nĂ©rer des identitĂ©s gĂ©rĂ©es. Celles-ci sont créées Ă lâintĂ©rieur dâun groupe de ressources dans un abonnement et un principal de service sera créé dans lâEntraID de confiance par lâabonnement. Ensuite, vous pouvez assigner lâidentitĂ© gĂ©rĂ©e Ă une ou plusieurs instances dâun service Azure (plusieurs ressources). Pour les identitĂ©s gĂ©rĂ©es assignĂ©es par lâutilisateur, lâidentitĂ© est gĂ©rĂ©e sĂ©parĂ©ment des ressources qui lâutilisent.
Les Identités Gérées ne génÚrent pas de credentials éternels (comme des mots de passe ou des certificats) pour accéder en tant que principal de service qui y est attaché.
Applications dâEntreprise
Câest juste une table dans Azure pour filtrer les principaux de service et vĂ©rifier les applications qui ont Ă©tĂ© assignĂ©es.
Ce nâest pas un autre type dââapplicationâ, il nây a aucun objet dans Azure qui est une âApplication dâEntrepriseâ, câest juste une abstraction pour vĂ©rifier les Principaux de Service, les Enregistrements dâApplications et les IdentitĂ©s GĂ©rĂ©es.
Unités Administratives
Les unitĂ©s administratives permettent de donner des permissions dâun rĂŽle sur une portion spĂ©cifique dâune organisation.
Exemple :
- Scénario : Une entreprise souhaite que les administrateurs informatiques régionaux gÚrent uniquement les utilisateurs de leur propre région.
- Mise en Ćuvre :
- CrĂ©er des UnitĂ©s Administratives pour chaque rĂ©gion (par exemple, âAU AmĂ©rique du Nordâ, âAU Europeâ).
- Peupler les AU avec des utilisateurs de leurs régions respectives.
- Les AU peuvent contenir des utilisateurs, groupes ou appareils
- Les AU prennent en charge les adhésions dynamiques
- Les AU ne peuvent pas contenir dâAU
- Attribuer des RĂŽles Administrateurs :
- Accorder le rĂŽle âAdministrateur des Utilisateursâ au personnel informatique rĂ©gional, limitĂ© Ă lâAU de leur rĂ©gion.
- RĂ©sultat : Les administrateurs informatiques rĂ©gionaux peuvent gĂ©rer les comptes utilisateurs au sein de leur rĂ©gion sans affecter dâautres rĂ©gions.
RĂŽles & Permissions Entra ID
- Afin de gĂ©rer Entra ID, il existe certains rĂŽles intĂ©grĂ©s qui peuvent ĂȘtre assignĂ©s aux principaux Entra ID pour gĂ©rer Entra ID
- Vérifiez les rÎles dans https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference
- Les rÎles marqués comme
PRIVILĂGIĂpar EntraID doivent ĂȘtre assignĂ©s avec prudence car comme lâexplique Microsoft dans la documentation : Les attributions de rĂŽles privilĂ©giĂ©s peuvent entraĂźner une Ă©lĂ©vation de privilĂšges si elles ne sont pas utilisĂ©es de maniĂšre sĂ©curisĂ©e et intentionnelle. - Le rĂŽle le plus privilĂ©giĂ© est Administrateur Global
- Les rĂŽles regroupent des permissions granulaires et elles peuvent ĂȘtre trouvĂ©es dans leurs descriptions.
- Il est possible de créer des rÎles personnalisés avec les permissions souhaitées. Bien que pour une raison quelconque, toutes les permissions granulaires ne soient pas disponibles pour que les administrateurs créent des rÎles personnalisés.
- Les rĂŽles dans Entra ID sont complĂštement indĂ©pendants des rĂŽles dans Azure. La seule relation est que les principaux avec le rĂŽle Administrateur Global dans Entra ID peuvent sâĂ©lever au rĂŽle Administrateur dâAccĂšs Utilisateur dans Azure.
- Il est impossible dâutiliser des jokers dans les rĂŽles Entra ID.
RĂŽles & Permissions Azure
- Les RÎles sont assignés aux principaux sur un scope :
principal -[A UN RĂLE]->(scope) - Les RĂŽles assignĂ©s Ă des groupes sont hĂ©ritĂ©s par tous les membres du groupe.
- En fonction du scope auquel le rĂŽle a Ă©tĂ© assignĂ©, le rĂŽle peut ĂȘtre hĂ©ritĂ© par dâautres ressources Ă lâintĂ©rieur du conteneur de scope. Par exemple, si un utilisateur A a un rĂŽle sur lâabonnement, il aura ce rĂŽle sur tous les groupes de ressources Ă lâintĂ©rieur de lâabonnement et sur toutes les ressources Ă lâintĂ©rieur du groupe de ressources.
RÎles Intégrés
Dans la documentation : Le contrĂŽle dâaccĂšs basĂ© sur les rĂŽles Azure (Azure RBAC) a plusieurs rĂŽles intĂ©grĂ©s Azure que vous pouvez assigner Ă des utilisateurs, groupes, principaux de service et identitĂ©s gĂ©rĂ©es. Les attributions de rĂŽles sont la maniĂšre dont vous contrĂŽlez lâaccĂšs 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 Azure.
Les RĂŽles IntĂ©grĂ©s sâappliquent uniquement aux ressources auxquelles ils sont destinĂ©s, par exemple, vĂ©rifiez ces 2 exemples de RĂŽles IntĂ©grĂ©s sur les ressources de Calcul :
| Lecteur de Sauvegarde de Disque | Fournit la permission au coffre de sauvegarde pour effectuer une sauvegarde de disque. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
|---|---|---|
| Connexion Utilisateur de Machine Virtuelle | Voir les Machines Virtuelles dans le portail et se connecter en tant quâutilisateur rĂ©gulier. | fb879df8-f326-4884-b1cf-06f3ad86be52 |
Ces rĂŽles peuvent Ă©galement ĂȘtre assignĂ©s sur des conteneurs logiques (tels que des groupes de gestion, des abonnements et des groupes de ressources) et les principaux affectĂ©s les auront sur les ressources Ă lâintĂ©rieur de ces conteneurs.
- Trouvez ici une liste avec tous les rÎles intégrés Azure.
- Trouvez ici une liste avec tous les rÎles intégrés Entra ID.
RÎles Personnalisés
- Il est également possible de créer des rÎles personnalisés
- Ils sont créés Ă lâintĂ©rieur dâun scope, bien quâun rĂŽle puisse ĂȘtre dans plusieurs scopes (groupes de gestion, abonnements et groupes de ressources)
- Il est possible de configurer toutes les permissions granulaires que le rÎle personnalisé aura
- Il est possible dâexclure des permissions
- Un principal avec une permission exclue ne pourra pas lâutiliser mĂȘme si la permission est accordĂ©e ailleurs
- Il est possible dâutiliser des jokers
- Le format utilisé est un JSON
actionsse rĂ©fĂšre aux permissions pour les opĂ©rations de gestion sur les ressources, telles que la crĂ©ation, la mise Ă jour ou la suppression des dĂ©finitions et paramĂštres de ressources.dataActionssont des permissions pour les opĂ©rations de donnĂ©es au sein de la ressource, vous permettant de lire, Ă©crire ou supprimer les donnĂ©es rĂ©elles contenues dans la ressource.notActionsetnotDataActionssont utilisĂ©s pour exclure des permissions spĂ©cifiques du rĂŽle. Cependant, elles ne les refusent pas, si un rĂŽle diffĂ©rent les accorde, le principal les aura.assignableScopesest un tableau de scopes oĂč le rĂŽle peut ĂȘtre assignĂ© (comme des groupes de gestion, des abonnements ou des groupes de ressources).
Exemple de permissions JSON pour un rÎle personnalisé :
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": ["/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f"],
"permissions": [
{
"actions": [
"Microsoft.DigitalTwins/register/action",
"Microsoft.DigitalTwins/unregister/action",
"Microsoft.DigitalTwins/operations/read",
"Microsoft.DigitalTwins/digitalTwinsInstances/read",
"Microsoft.DigitalTwins/digitalTwinsInstances/write",
"Microsoft.CostManagement/exports/*"
],
"notActions": [
"Astronomer.Astro/register/action",
"Astronomer.Astro/unregister/action",
"Astronomer.Astro/operations/read",
"Astronomer.Astro/organizations/read"
],
"dataActions": [],
"notDataActions": []
}
]
}
}
Permissions order
- Afin quâun principal ait un accĂšs Ă une ressource, il a besoin dâun rĂŽle explicite qui lui est accordĂ© (de quelque maniĂšre que ce soit) lui accordant cette permission.
- Une attribution de refus explicite a la priorité sur le rÎle accordant la permission.
.png)
https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10
Global Administrator
Global Administrator est un rĂŽle dâEntra ID qui accorde un contrĂŽle total sur le locataire Entra ID. Cependant, il nâaccorde par dĂ©faut aucune permission sur les ressources Azure.
Les utilisateurs ayant le rĂŽle de Global Administrator ont la capacitĂ© de âsâĂ©leverâ au rĂŽle dâAdministrateur dâAccĂšs Utilisateur Azure dans le Groupe de Gestion Racine. Ainsi, les Global Administrators peuvent gĂ©rer lâaccĂšs dans toutes les souscriptions Azure et groupes de gestion.
Cette Ă©lĂ©vation peut ĂȘtre effectuĂ©e en bas de la page : https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties
.png)
Assignments Conditions & MFA
Selon la documentation : Actuellement, des conditions peuvent ĂȘtre ajoutĂ©es aux attributions de rĂŽles intĂ©grĂ©s ou personnalisĂ©s qui ont des actions de donnĂ©es de stockage blob ou des actions de donnĂ©es de stockage de files dâattente.
Deny Assignments
Tout comme les attributions de rĂŽles, les attributions de refus sont utilisĂ©es pour contrĂŽler lâaccĂšs aux ressources Azure. Cependant, les attributions de refus sont utilisĂ©es pour refuser explicitement lâaccĂšs Ă une ressource, mĂȘme si un utilisateur a Ă©tĂ© accordĂ© lâaccĂšs par le biais dâune attribution de rĂŽle. Les attributions de refus ont la prioritĂ© sur les attributions de rĂŽle, ce qui signifie que si un utilisateur se voit accorder lâaccĂšs par le biais dâune attribution de rĂŽle mais se voit Ă©galement explicitement refuser lâaccĂšs par une attribution de refus, lâattribution de refus prĂ©vaudra.
Tout comme les attributions de rÎles, les attributions de refus sont appliquées sur un certain périmÚtre indiquant les principaux affectés et les permissions qui sont refusées. De plus, dans le cas des attributions de refus, il est possible de prévenir que le refus soit hérité par les ressources enfants.
Azure Policies
Azure Policies sont des rĂšgles qui aident les organisations Ă sâassurer que leurs ressources rĂ©pondent Ă des normes spĂ©cifiques et Ă des exigences de conformitĂ©. Elles vous permettent de faire respecter ou dâauditer les paramĂštres sur les ressources dans Azure. Par exemple, vous pouvez empĂȘcher la crĂ©ation de machines virtuelles dans une rĂ©gion non autorisĂ©e ou vous assurer que toutes les ressources ont des balises spĂ©cifiques pour le suivi.
Les Azure Policies sont proactives : elles peuvent empĂȘcher la crĂ©ation ou la modification de ressources non conformes. Elles sont Ă©galement rĂ©actives, vous permettant de trouver et de corriger les ressources non conformes existantes.
Key Concepts
- Policy Definition : Une rÚgle, écrite en JSON, qui spécifie ce qui est autorisé ou requis.
- Policy Assignment : Lâapplication dâune politique Ă un pĂ©rimĂštre spĂ©cifique (par exemple, souscription, groupe de ressources).
- Initiatives : Une collection de politiques regroupées pour une application plus large.
- Effect : SpĂ©cifie ce qui se passe lorsque la politique est dĂ©clenchĂ©e (par exemple, âDenyâ, âAuditâ ou âAppendâ).
Quelques exemples :
- Assurer la conformitĂ© avec des rĂ©gions Azure spĂ©cifiques : Cette politique garantit que toutes les ressources sont dĂ©ployĂ©es dans des rĂ©gions Azure spĂ©cifiques. Par exemple, une entreprise pourrait vouloir sâassurer que toutes ses donnĂ©es sont stockĂ©es en Europe pour se conformer au RGPD.
- Faire respecter les normes de nommage : Les politiques peuvent faire respecter des conventions de nommage pour les ressources Azure. Cela aide Ă organiser et Ă identifier facilement les ressources en fonction de leurs noms, ce qui est utile dans de grands environnements.
- Restreindre certains types de ressources : Cette politique peut restreindre la crĂ©ation de certains types de ressources. Par exemple, une politique pourrait ĂȘtre dĂ©finie pour empĂȘcher la crĂ©ation de types de ressources coĂ»teux, comme certaines tailles de VM, pour contrĂŽler les coĂ»ts.
- Faire respecter les politiques de balisage : Les balises sont des paires clĂ©-valeur associĂ©es aux ressources Azure utilisĂ©es pour la gestion des ressources. Les politiques peuvent faire respecter que certaines balises doivent ĂȘtre prĂ©sentes, ou avoir des valeurs spĂ©cifiques, pour toutes les ressources. Cela est utile pour le suivi des coĂ»ts, la propriĂ©tĂ© ou la catĂ©gorisation des ressources.
- Limiter lâaccĂšs public aux ressources : Les politiques peuvent faire respecter que certaines ressources, comme les comptes de stockage ou les bases de donnĂ©es, nâont pas de points de terminaison publics, garantissant quâelles ne sont accessibles que dans le rĂ©seau de lâorganisation.
- Appliquer automatiquement des paramĂštres de sĂ©curitĂ© : Les politiques peuvent ĂȘtre utilisĂ©es pour appliquer automatiquement des paramĂštres de sĂ©curitĂ© aux ressources, comme appliquer un groupe de sĂ©curitĂ© rĂ©seau spĂ©cifique Ă toutes les VM ou sâassurer que tous les comptes de stockage utilisent le chiffrement.
Notez que les Azure Policies peuvent ĂȘtre attachĂ©es Ă nâimporte quel niveau de la hiĂ©rarchie Azure, mais elles sont gĂ©nĂ©ralement utilisĂ©es dans le groupe de gestion racine ou dans dâautres groupes de gestion.
Exemple de politique Azure json :
{
"policyRule": {
"if": {
"field": "location",
"notIn": ["eastus", "westus"]
},
"then": {
"effect": "Deny"
}
},
"parameters": {},
"displayName": "Allow resources only in East US and West US",
"description": "This policy ensures that resources can only be created in East US or West US.",
"mode": "All"
}
Héritage des autorisations
Dans Azure, les autorisations peuvent ĂȘtre attribuĂ©es Ă nâimporte quelle partie de la hiĂ©rarchie. Cela inclut les groupes de gestion, les abonnements, les groupes de ressources et les ressources individuelles. Les autorisations sont hĂ©ritĂ©es par les ressources contenues de lâentitĂ© oĂč elles ont Ă©tĂ© attribuĂ©es.
Cette structure hiĂ©rarchique permet une gestion efficace et Ă©volutive des autorisations dâaccĂšs.
.png)
Azure RBAC vs ABAC
RBAC (contrĂŽle dâaccĂšs basĂ© sur les rĂŽles) est ce que nous avons dĂ©jĂ vu dans les sections prĂ©cĂ©dentes : Attribuer un rĂŽle Ă un principal pour lui accorder lâaccĂšs Ă une ressource.
Cependant, dans certains cas, vous pourriez vouloir fournir une gestion des accĂšs plus granulaire ou simplifier la gestion de centaines dâattributions de rĂŽles.
Azure ABAC (contrĂŽle dâaccĂšs basĂ© sur les attributs) sâappuie sur Azure RBAC en ajoutant des conditions dâattribution de rĂŽle basĂ©es sur des attributs dans le contexte dâactions spĂ©cifiques. Une condition dâattribution de rĂŽle est un vĂ©rification supplĂ©mentaire que vous pouvez ajouter Ă votre attribution de rĂŽle pour fournir un contrĂŽle dâaccĂšs plus granulaire. Une condition filtre les autorisations accordĂ©es dans le cadre de la dĂ©finition de rĂŽle et de lâattribution de rĂŽle. Par exemple, vous pouvez ajouter une condition qui exige quâun objet ait une Ă©tiquette spĂ©cifique pour lire lâobjet.
Vous ne pouvez pas explicitement refuser lâaccĂšs Ă des ressources spĂ©cifiques en utilisant des conditions.
Références
- https://learn.microsoft.com/en-us/azure/governance/management-groups/overview
- https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions
- https://abouttmc.com/glossary/azure-subscription/#:~:text=An%20Azure%20subscription%20is%20a,the%20subscription%20it%20belongs%20to.
- https://learn.microsoft.com/en-us/azure/role-based-access-control/overview#how-azure-rbac-determines-if-a-user-has-access-to-a-resource
- https://stackoverflow.com/questions/65922566/what-are-the-differences-between-service-principal-and-app-registration
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

