Az - Informations de base

Reading time: 25 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Hiérarchie Organisationnelle

https://www.tunecom.be/stg_ba12f/wp-content/uploads/2020/01/VDC-Governance-ManagementGroups-1536x716.png

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.

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 :

  1. ID d'Application (Client ID) : Un identifiant unique pour votre application dans Azure AD.
  2. URIs de Redirection : URLs où Azure AD envoie les réponses d'authentification.
  3. 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).
  4. 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).
  5. Permissions API : Spécifie quelles ressources ou APIs l'application peut accéder.
  6. Paramètres d'Authentification : Définit les flux d'authentification pris en charge par l'application (par exemple, OAuth2, OpenID Connect).
  7. 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.
  8. 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 DisqueFournit la permission au coffre de sauvegarde pour effectuer une sauvegarde de disque.3e5e47e6-65f7-47ef-90b5-e5dd4d455f24
Connexion Utilisateur de Machine VirtuelleVoir 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.

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
  • actions se 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.
  • dataActions sont 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.
  • notActions et notDataActions sont 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.
  • assignableScopes est 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é :

json
{
"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.

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

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

  1. Policy Definition : Une règle, écrite en JSON, qui spécifie ce qui est autorisé ou requis.
  2. Policy Assignment : L'application d'une politique à un périmètre spécifique (par exemple, souscription, groupe de ressources).
  3. Initiatives : Une collection de politiques regroupées pour une application plus large.
  4. Effect : Spécifie ce qui se passe lorsque la politique est déclenchée (par exemple, "Deny", "Audit" ou "Append").

Quelques exemples :

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 :

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.

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

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks