> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-cloud/azure/azure-resource-manager-arm.md).

# Azure Resource Manager (ARM)

## Description

Azure Resource Management permet entre autres de centraliser la gestion, le déploiement et la sécurité des ressources Azure.

## Hiérarchie des ressources

<figure><img src="/files/FDMDHx62SkBWD1ABCber" alt=""><figcaption></figcaption></figure>

## Role Based Access Control (RBAC)

Azure RBAC est le système d'authorization de ARM, c'est lui qui permet de gérer de manière granulaire le contrôle d'accès aux différentes ressources Azure.

L'assignement des rôles utilise les composants suivants:

* Security principal
* Role definition
* Scope

### Security principal

Un Security principal est un objet qui représente:

* Un utilisateur
* Un groupe
* Un service
* Une identité managée
  * Assignée à un utilisateur
  * Assignée à un système

{% hint style="info" %}
En résumé c'est la ressource à laquelle on assigne le rôle.
{% endhint %}

### Role definition

La définition du rôle représente les permissions accordées au Security principal. Il existe plusieurs rôles pré-établies qui sont:

* Le rôle **Owner**: Qui a les droits complets sur le scope.
* Le rôle **Contributor**: Qui a des droits de lecture et d'écriture sur le scope mais qui ne peut pas modifier / assigner des rôles RBAC.
* Le rôle **Reader**: Qui a des droits de lecture uniquement sur le scope.

Puis il est possible pour les organisations de créer des rôles **custom** en cas de besoin spécifique.

### Scope

Le périmètre représente les ressources auxquelles s'applique les accès définient par le Security principal et la définition des rôles.

Il existe 4 niveaux d'accès qui sont:

* Au niveau d'un groupe de gestion (Management Group)
* Au niveau d'une subscription
* Au niveau d'un groupe de ressources (Resource Group)
* Au niveau d'une ressource

{% hint style="info" %}
Note: Les droits sont hérités du bas vers le hauts (si appliqué à un groupe de gestion, ils s'appliquent aux subscripitons sous-jacentes puis aux groupes de ressources sous-jacents etc).

1. Management Group
2. Subscription
3. Resource Group
4. Resource
   {% endhint %}

### Schema

<figure><img src="/files/jt3PWsU7GQiyZnAkkqB9" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-cloud/azure/azure-resource-manager-arm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
