# Roles

Une définition de rôle est un ensemble d'autorisations. Il est généralement simplement appelé un rôle. Une définition de rôle énumère les actions qui peuvent être effectuées, telles que lire, écrire et supprimer. Les rôles peuvent être de haut niveau, comme "Owner", ou spécifiques, comme "Read Only User".

| Name           | Description                                                                       |
| -------------- | --------------------------------------------------------------------------------- |
| Owner          | Propriétaire et créateur de l'organisation.                                       |
| Administrator  | Administrateur de l'organisation. Il est désigné comme tel par le "Propriétaire". |
| Operator       | Développeur ou technicien de l'organisation.                                      |
| Helpdesk       | Rôle de soutien dans les projets.                                                 |
| Standard User  | Invité à travailler sur un projet par l'organisation.                             |
| Read Only User | Observateur simple des activités techniques de l'organisation sur la plateforme.  |

### Liste des entités impactées par les rôles

| Entity       | Description                                                                                                                                                 |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Organization | Entité principale de l'application.                                                                                                                         |
| User         | L'entité utilisateur sert davantage de sujet que d'objet. Elle est celle qui sera interrogée pour déterminer si elle a le droit d'accéder à d'autres objets |
| Project      | Cadre pour tout le travail au sein d'une organisation. Une organisation peut avoir plusieurs projets.                                                       |
| Blueprint    | Espace de travail au sein d'un projet. Un projet peut contenir plusieurs plans.                                                                             |

#### Liste des droits par entité d'objet (également appelée Espace de noms)

Les droits des espaces de noms Project et Blueprint relèvent de ce dernier. Cela permet de cibler un projet pour une personne invitée à travailler sur un projet spécifique et l'empêche d'accéder aux autres projets.&#x20;

Chaque espace de nom possède différents droits d'accès à ses fonctionnalités. Il est important de savoir qu'il existe deux types de droits : ceux qui englobent une organisation et ceux qui sont spécifiques à un projet et/ou un blueprint.

#### Organization

| Name              | Description                                                                                                                                                                                                                                              |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| access\_org       | Accéder à l'organisation (il ne s'agit pas de lire, mais d'accéder du point de vue du code - par exemple, une personne qui ne peut accéder qu'à un seul projet de l'organisation doit toujours avoir accès à certains appels de code de l'organisation). |
| read\_org         | Accès en lecture à l'organisation.                                                                                                                                                                                                                       |
| edit\_org         | Modifier l'organisation (Cela n'implique pas de changements administratifs).                                                                                                                                                                             |
| administrate\_org | Administrer l'organisation (Attribution de rôles - modification des informations de l'organisation).                                                                                                                                                     |
| delete\_org       | Supprimer l'organisation (L'organisation par défaut ne peut pas être supprimée).                                                                                                                                                                         |
| read\_project     | Accès en lecture aux projets de l'organisation.                                                                                                                                                                                                          |
| create\_project   | Créer un nouveau projet au sein de l'organisation.                                                                                                                                                                                                       |
| edit\_project     | Faire des modifications à un projet.                                                                                                                                                                                                                     |
| delete\_project   | Supprimer un projet.                                                                                                                                                                                                                                     |
| share\_project    | Partager un projet.                                                                                                                                                                                                                                      |
| read\_blueprint   | Accès en lecture aux plans des projets de l'organisation.                                                                                                                                                                                                |
| create\_blueprint | Créer un blueprint dans un projet.                                                                                                                                                                                                                       |
| edit\_blueprint   | Modifier un blueprint.                                                                                                                                                                                                                                   |
| delete\_blueprint | Supprimer un blueprint.                                                                                                                                                                                                                                  |
| deploy\_blueprint | Deployer un blueprint.                                                                                                                                                                                                                                   |
| revert\_blueprint | Revenir à une version précédente du plan.                                                                                                                                                                                                                |
| share\_blueprint  | Partager un blueprint.                                                                                                                                                                                                                                   |

#### Project

| Name              | Description                                |
| ----------------- | ------------------------------------------ |
| read              | Accès en lecture à un projet spécifique.   |
| create\_blueprint | Créer un schéma dans un projet spécifique. |
| edit              | Modifier un projet spécifique.             |
| delete            | Supprimer un projet spécifique.            |

#### Blueprint

| Name   | Description                                                 |
| ------ | ----------------------------------------------------------- |
| read   | Accès en lecture à un Blueprint spécifique.                 |
| edit   | Modifier un blueprint spécifique.                           |
| delete | Supprimer un blueprint spécifique.                          |
| share  | Partager un blueprint spécifique.                           |
| revert | Revenir à une version précédente d'un blueprint spécifique. |
| deploy | Déployer un blueprint précis.                               |

## Who can do what?

### Organization <a href="#organization-1" id="organization-1"></a>

| access\_org    | read\_org      | edit\_org      | delete\_org    | administrate\_org |
| -------------- | -------------- | -------------- | -------------- | ----------------- |
| owners         | owners         | owners         | owners         | owners            |
| administrators | administrators | administrators | administrators |                   |
| operators      | operators      | operators      |                |                   |
| helpdesks      |                |                |                |                   |
| standartUsers  |                |                |                |                   |
| readonlyUsers  | readonlyUsers  |                |                |                   |

| read\_project  | create\_project | edit\_project  | delete\_project | share\_project |
| -------------- | --------------- | -------------- | --------------- | -------------- |
| owners         | owners          | owners         | owners          | owners         |
| administrators | administrators  | administrators | administrators  | administrators |
| operators      | operators       | operators      | operators       | operators      |
| readonlyUsers  |                 |                |                 |                |

| read\_blueprint | create\_blueprint | edit\_blueprint | delete\_blueprint | deploy\_blueprint | revert\_blueprint | share\_blueprint |
| --------------- | ----------------- | --------------- | ----------------- | ----------------- | ----------------- | ---------------- |
| owners          | owners            | owners          | owners            | owners            | owners            | owners           |
| administrators  | administrators    | administrators  | administrators    | administrators    | administrators    | administrators   |
| operators       | operators         | operators       | operators         | operators         | operators         | operators        |
| readonlyUsers   |                   |                 |                   |                   |                   |                  |

### Project <a href="#project-1" id="project-1"></a>

| read          | create\_blueprint | edit          | delete        | share         |
| ------------- | ----------------- | ------------- | ------------- | ------------- |
| helpdesks     | helpdesks         |               |               |               |
| standardUsers | standardUsers     | standardUsers | standardUsers | standardUsers |

### Blueprint <a href="#blueprint-1" id="blueprint-1"></a>

| read          | edit          | delete        | share         | deploy        | revert        |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| helpdesks     | helpdesks     |               |               |               |               |
| standardUsers | standardUsers | standardUsers | standardUsers | standardUsers | standardUsers |


---

# Agent Instructions: 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:

```
GET https://doc.exoway.io/fr/fondamentaux/rbac/roles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
