> ## 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

> Verbinden Sie Google-Cloud-Projekte über einen Service-Account mit Lesezugriff, ohne gespeicherte Schlüssel.

Verbinden Sie ein Google-Cloud-Projekt, damit Enclave dessen Ressourcen und Identitäten erfassen und mit Ihrem Code verknüpfen kann. Der Zugriff ist rein lesend, und es wird kein Service-Account-Schlüssel erstellt oder gespeichert.

## Was Enclave benötigt

Der Setup-Befehl erstellt diese Ressourcen in Ihrem Projekt:

* Einen **Workload Identity Pool** mit einem Provider, der nur der Scanner-Identität von Enclave vertraut.
* Einen **Scanner-Service-Account**, dessen Identität Enclave übernimmt.
* **Rollenbindungen mit Lesezugriff** für diesen Service-Account.

Außerdem aktiviert er im Projekt die APIs für IAM, IAM Credentials, Cloud Resource Manager, Security Token Service und Cloud Asset.

Der Service-Account erhält diese Rollen:

| Rolle | Was sie liest |
| - | - |
| `roles/compute.viewer` | Compute-Engine-Instanzen, Netzwerke, Subnetze, Firewalls und Load Balancer |
| `roles/container.viewer` | GKE-Cluster |
| `roles/run.viewer` | Cloud-Run-Services |
| `roles/cloudfunctions.viewer` | Cloud Functions |
| `roles/dns.reader` | Cloud-DNS-Zonen |
| `roles/artifactregistry.reader` | Artifact-Registry-Repositorys |
| `roles/storage.bucketViewer` | Nur Metadaten von Cloud-Storage-Buckets, keine Objekte |
| `roles/iam.securityReviewer` | IAM-Policies und Service-Accounts |
| `roles/cloudasset.viewer` | Cloud Asset Inventory |
| `roles/serviceusage.serviceUsageConsumer` | Aufruf der oben genannten Lese-APIs |
| `roles/browser` | Metadaten zu Projekt und Hierarchie |

### Wer das Setup starten kann

Wer den Befehl in Cloud Shell ausführt, benötigt **Owner** für das Projekt oder alle folgenden Rollen:

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

In Enclave benötigen Sie die Rolle **Owner** oder **Admin**.

## Projekt verbinden

**1. Setup-Seite öffnen**

Öffnen Sie **Settings → Integrations** und klicken Sie neben **Google Cloud** auf **Connect**.

**2. Projekt-ID eingeben**

Geben Sie die **GCP project ID** des zu verbindenden Projekts ein. Sie finden sie mit `gcloud projects list`. Enclave generiert einen einzeiligen Setup-Befehl für dieses Projekt.

**3. Befehl in Cloud Shell ausführen**

Kopieren Sie den Befehl und führen Sie ihn in [Google Cloud Shell](https://shell.cloud.google.com) oder in einem Terminal aus, in dem `gcloud` angemeldet ist.

> [!WARNING]
>
> Der Befehl enthält ein Einmal-Setup-Token. Speichern Sie ihn nicht in einer versionierten Datei und fügen Sie ihn nicht in ein geteiltes Log ein.

**4. Warten, bis Enclave das Setup erkennt**

Enclave wartet auf den Abschluss des Setups und fährt selbstständig fort. Wenn **Connection complete!** erscheint, ist das Projekt verbunden, und Enclave beginnt mit dem Scan.

**5. Weitere Projekte hinzufügen**

Klicken Sie auf **Add another project**, um ein weiteres Projekt zu verbinden, oder auf **Done**, um abzuschließen.

> [!TIP]
>
> Klicken Sie auf **I'll finish later**, um die Verbindung zu speichern und später fortzufahren. Öffnen Sie sie erneut unter **Settings → Integrations → Google Cloud**.

## Verbindung verwalten

Öffnen Sie **Settings → Integrations → Google Cloud**, um Ihre verbundenen Projekte zu sehen.

* **Re-validate** prüft, ob Enclave ein Projekt weiterhin lesen kann.
* **Remove** beendet den Scan eines Projekts.
* **Add project** verbindet ein weiteres Projekt.
* **Disconnect GCP** entfernt die gesamte Verbindung und beendet die Scans.

Um den Zugriff in Google Cloud zu widerrufen, löschen Sie den Scanner-Service-Account oder den Workload Identity Pool, den das Setup erstellt hat.

## Was Enclave tut und was nicht

* **Tut**: die Konfiguration und Metadaten lesen, die die oben genannten Rollen erlauben.
* **Tut nicht**: Ressourcen erstellen, ändern oder löschen, Objekte in Ihren Buckets lesen oder langlebige Anmeldedaten speichern. Jeder Scan verwendet ein kurzlebiges Access Token, das etwa eine Stunde gültig ist.

## Fehlerbehebung

> [accordion] Die Seite wartet weiter, obwohl ich den Befehl ausgeführt habe
>
> Prüfen Sie die Ausgabe des Befehls in Cloud Shell. Wenn er fehlgeschlagen ist, beheben Sie den Fehler und öffnen Sie die Verbindung erneut, um einen neuen Befehl zu erhalten. Das Setup-Token funktioniert nur einmal. Führen Sie einen bereits verwendeten Befehl daher nicht erneut aus.

> [accordion] Der Befehl schlägt mit einem Berechtigungsfehler fehl
>
> Dem ausführenden Konto fehlt eine Rolle. Erteilen Sie **Owner** oder die vier unter [Wer das Setup starten kann](#wer-das-setup-starten-kann) aufgeführten Admin-Rollen und führen Sie dann einen neuen Befehl aus.

> [accordion] Enclave akzeptiert die Projekt-ID nicht
>
> Projekt-IDs haben 6 bis 30 Zeichen: Kleinbuchstaben, Ziffern und Bindestriche. Sie beginnen mit einem Buchstaben und enden mit einem Buchstaben oder einer Ziffer. Verwenden Sie die Projekt-ID, nicht den Projektnamen oder die Projektnummer.

> [accordion] Assets erscheinen nicht in Coverage
>
> Scans laufen, wenn ein Projekt verbunden wird, und danach einmal täglich. Um sofort zu scannen, klicken Sie in [Coverage](https://docs.enclave.ai/de/onboarding/coverage.md) auf **Analyze Environment**.


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