# GCP IAM

## Description

L'IAM (Identity & Access Management) sur GCP comme sur AWS permet aux administrateurs de gérer les accès aux différentes ressources sur le Cloud.

{% hint style="info" %}
**Note**: Cependant contrairement à AWS, l'IAM GCP utilise des politiques basées sur les **ressources** et non sur les **identités.**

En effet, sur AWS, lorsqu'un compte est compromis il suffit de lister les politiques liées à ce compte pour connaitre ses permissions sur les ressources.

Sur GCP, ce n'est pas possible car les permissions sont affectés aux ressources directement.

Il faut donc enumérer les permissions qu'a l'identité sur **chaque** ressource.
{% endhint %}

Le fonctiomment de l'IAM GCP fonctionne donc ainsi:

<figure><img src="/files/t1dZiAsjv4NoxF1dXHmE" alt=""><figcaption><p>Diagramme de la documentation officielle</p></figcaption></figure>

Les politiques contiennent un ensemble de permissions qui sont ensuie associées à des rôles qui eux même contiennent des membres puis sont affectés à une ressource spécifique.

{% hint style="info" %}
**Note**: Comme sur Azure, il y a un système d'hérédité descendante (càd que si la politique est appliquée à une organisation, alors elle s'applique à toutes les ressources sous-jacente dans la hiérarchie).
{% endhint %}

## Types de membres

* Google account
* Service Account
* Google Group
* Google Workspace domain
* Cloud Identity domain
* All authenticated users
* All users (anonymous)

## Roles

Il existe trois types de rôles:

* Les rôles "basiques"
  * Owner
  * Editor
  * Viewer
* Les rôles "pré-définis": Plus précis / granulaires
* Les rôles "custom": A défnir soi-même pour des besoins spécifiques.


---

# 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://blog.s1rn3tz.ovh/pentest-cloud/gcp/gcp-iam.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.
