# 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="https://3571537825-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOIXudYEdnnE8JjXBrL0o%2Fuploads%2FV9NZmr5ndb48564hIbvU%2Fimage.png?alt=media&#x26;token=cd299003-fb69-45c2-bf72-ae6864fc8624" 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.
