> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enclave.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Enclave in these docs is the code and cloud security platform at enclave.ai. It is not Open Enclave, Intel SGX or other hardware enclaves, or enclave.gg.
> People use Enclave in the web app at https://app.enclave.ai or the desktop app. These docs describe no public Enclave API or CLI, so don't invent endpoints, commands, or config files.
> Connecting an integration needs a person to sign in and approve access in a browser. Tell the user the exact step to take instead of saying you completed it.

# GCP

> Collega i progetti Google Cloud con un service account in sola lettura e senza chiavi archiviate.

Collega un progetto Google Cloud così Enclave può mapparne le risorse e le identità e collegarle al tuo codice. L'accesso è in sola lettura, e nessuna chiave di service account viene creata o archiviata.

## Cosa serve a Enclave

Il comando di configurazione crea queste risorse nel tuo progetto:

* Un **Workload Identity pool** con un provider che si fida solo dell'identità dello scanner di Enclave.
* Un **service account dello scanner** che Enclave impersona.
* **Associazioni di ruoli in sola lettura** per quel service account.

Abilita anche le API IAM, IAM Credentials, Cloud Resource Manager, Security Token Service e Cloud Asset nel progetto.

Il service account riceve questi ruoli:

| Ruolo | Cosa legge |
| - | - |
| `roles/compute.viewer` | Istanze, reti, subnet, firewall e load balancer di Compute Engine |
| `roles/container.viewer` | Cluster GKE |
| `roles/run.viewer` | Servizi Cloud Run |
| `roles/cloudfunctions.viewer` | Cloud Functions |
| `roles/dns.reader` | Zone Cloud DNS |
| `roles/artifactregistry.reader` | Repository Artifact Registry |
| `roles/storage.bucketViewer` | Solo i metadati dei bucket Cloud Storage, non gli oggetti |
| `roles/iam.securityReviewer` | Policy IAM e service account |
| `roles/cloudasset.viewer` | Cloud Asset Inventory |
| `roles/serviceusage.serviceUsageConsumer` | Chiamare le API di lettura indicate sopra |
| `roles/browser` | Metadati del progetto e della gerarchia |

### Permessi per eseguire la configurazione

Chi esegue il comando in Cloud Shell deve avere **Owner** sul progetto, oppure tutti questi ruoli:

* `roles/iam.workloadIdentityPoolAdmin`
* `roles/iam.serviceAccountAdmin`
* `roles/serviceusage.serviceUsageAdmin`
* `roles/resourcemanager.projectIamAdmin`

In Enclave ti serve il ruolo **Owner** o **Admin**.

## Collega un progetto

**1. Apri la pagina di configurazione**

Apri **Settings → Integrations** e fai clic su **Connect** accanto a **Google Cloud**.

**2. Inserisci l'ID del progetto**

Inserisci il **GCP project ID** da collegare. Per trovarlo, esegui `gcloud projects list`. Enclave genera un comando di configurazione di una riga per quel progetto.

**3. Esegui il comando in Cloud Shell**

Copia il comando ed eseguilo in [Google Cloud Shell](https://shell.cloud.google.com), oppure in un terminale in cui `gcloud` ha già effettuato l'accesso.

> [!WARNING]
>
> Il comando contiene un token di configurazione monouso. Non salvarlo in un file versionato e non incollarlo in un log condiviso.

**4. Attendi che Enclave lo rilevi**

Enclave attende il completamento della configurazione e prosegue da solo. Quando vedi **Connection complete!**, il progetto è collegato ed Enclave inizia ad analizzarlo.

**5. Aggiungi altri progetti**

Fai clic su **Add another project** per collegare un altro progetto, oppure su **Done** per terminare.

> [!TIP]
>
> Fai clic su **I'll finish later** per salvare il collegamento e tornarci in seguito. Riaprilo da **Settings → Integrations → Google Cloud**.

## Gestisci un collegamento

Apri **Settings → Integrations → Google Cloud** per vedere i progetti collegati.

* **Re-validate** verifica che Enclave possa ancora leggere un progetto.
* **Remove** interrompe l'analisi di un progetto.
* **Add project** collega un altro progetto.
* **Disconnect GCP** rimuove l'intero collegamento e interrompe l'analisi.

Per revocare l'accesso da Google Cloud, elimina il service account dello scanner o il Workload Identity pool creati dalla configurazione.

## Cosa fa e cosa non fa Enclave

* **Fa**: legge la configurazione e i metadati consentiti dai ruoli indicati sopra.
* **Non fa**: non crea, modifica o elimina risorse, non legge gli oggetti nei tuoi bucket e non archivia credenziali a lunga durata. Ogni scansione usa un token di accesso a breve durata che dura circa un'ora.

## Risoluzione dei problemi

> [accordion] La pagina resta in attesa dopo che ho eseguito il comando
>
> Controlla l'output del comando in Cloud Shell. Se non è andato a buon fine, correggi l'errore, poi riapri il collegamento per ottenere un nuovo comando. Il token di configurazione funziona una sola volta, quindi non eseguire di nuovo un vecchio comando già usato.

> [accordion] Il comando non riesce con un errore di permessi
>
> All'account che l'ha eseguito manca un ruolo. Concedi **Owner** o i quattro ruoli di amministrazione elencati in [Permessi per eseguire la configurazione](#permessi-per-eseguire-la-configurazione), poi esegui un nuovo comando.

> [accordion] Enclave non accetta l'ID del progetto
>
> Gli ID dei progetti hanno da 6 a 30 caratteri: lettere minuscole, cifre e trattini. Iniziano con una lettera e terminano con una lettera o una cifra. Usa l'ID del progetto, non il nome o il numero del progetto.

> [accordion] Gli asset non compaiono in Coverage
>
> Le scansioni vengono eseguite quando un progetto si collega e poi una volta al giorno. Per eseguirne una subito, fai clic su **Analyze Environment** in [Coverage](https://docs.enclave.ai/it/onboarding/coverage.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.