# Enumeration

## Organizations

```bash
# Lister les organisations pour le compte courant
gcloud organizations list

# Lister les politiques IAM appliquées à une organistation spécifique
gcloud organizations get-iam-policy <OrgaID>
```

## Projects

```bash
# Lister les projets de l'utilisateur courant
gcloud projects list

#Lister les politiques IAM appliquées à un projet spécifique
gcloud projects get-iam-policy <ProjID>
```

## Service Accounts

```bash
# Lister les comptes de service dans un projet
gcloud iam service-accounts list

# Lister les politiques IAM pour un compte de service
gcloud iam service-accounts get-iam-policy <service account email ID>

# Lister les clés / creds d'un compte de service
gcloud iam service-accounts keys list --iam-account <service Account Email ID>
```

{% hint style="info" %}
Comment différencier un compte de service par défaut et un compte de service créé par le client ?&#x20;

Les comptes de service créés par le client ont "**iam**" dans leur email (exp: example\@something.**iam**.gserviceaccount.com)
{% endhint %}

{% hint style="info" %}
**Note**: Les comptes de services fonctionnent à la fois comme **identity** et **resource** dans GCP, ils peuvent donc faire l'objet de politiques etc.
{% endhint %}

## Roles

### Basic & Pre-defined roles

```bash
# Lister les rôles dans une organisation / un projet
gcloud iam roles list

# Lister les permissions pour un rôle spécifique
gcloud iam roles describe role/<owner or editor or viewer or ...>
```

### Custom roles

```bash
# Lister les rôles custom pour un projet spécifique
gcloud iam roles list --project <ProjID>

# Lister les permission d'un rôle spécifique dans un projet spécifique
gcloud iam roles describe <RoleName> --project <ProjID>
```


---

# 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/enumeration.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.
