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

> Conecte projetos do Google Cloud com uma conta de serviço somente leitura e sem chaves armazenadas.

Conecte um projeto do Google Cloud para que o Enclave possa mapear os recursos e as identidades dele e vinculá-los ao seu código. O acesso é somente leitura, e nenhuma chave de conta de serviço é criada ou armazenada.

## Do que o Enclave precisa

O comando de configuração cria estes recursos no seu projeto:

* Um **pool de Workload Identity** com um provedor que confia apenas na identidade de scanner do Enclave.
* Uma **conta de serviço de scanner** que o Enclave representa.
* **Vinculações de funções somente leitura** para essa conta de serviço.

Ele também ativa as APIs IAM, IAM Credentials, Cloud Resource Manager, Security Token Service e Cloud Asset no projeto.

A conta de serviço recebe estas funções:

| Função | O que ela lê |
| - | - |
| `roles/compute.viewer` | Instâncias, redes, sub-redes, firewalls e load balancers do Compute Engine |
| `roles/container.viewer` | Clusters do GKE |
| `roles/run.viewer` | Serviços do Cloud Run |
| `roles/cloudfunctions.viewer` | Cloud Functions |
| `roles/dns.reader` | Zonas do Cloud DNS |
| `roles/artifactregistry.reader` | Repositórios do Artifact Registry |
| `roles/storage.bucketViewer` | Apenas metadados de buckets do Cloud Storage, não os objetos |
| `roles/iam.securityReviewer` | Políticas do IAM e contas de serviço |
| `roles/cloudasset.viewer` | Cloud Asset Inventory |
| `roles/serviceusage.serviceUsageConsumer` | Chamar as APIs de leitura acima |
| `roles/browser` | Metadados do projeto e da hierarquia |

### Quem pode executar a configuração

Quem executa o comando no Cloud Shell precisa da função **Owner** no projeto ou de todas estas:

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

No Enclave, você precisa da função **Owner** ou **Admin**.

## Conectar um projeto

**1. Abra a página de configuração**

Abra **Settings → Integrations** e clique em **Connect** ao lado de **Google Cloud**.

**2. Informe o ID do projeto**

Informe o **GCP project ID** a conectar. Para encontrá-lo, execute `gcloud projects list`. O Enclave gera um comando de configuração de uma linha para esse projeto.

**3. Execute o comando no Cloud Shell**

Copie o comando e execute-o no [Google Cloud Shell](https://shell.cloud.google.com) ou em um terminal em que o `gcloud` esteja autenticado.

> [!WARNING]
>
> O comando contém um token de configuração de uso único. Não o salve em um arquivo versionado nem o cole em um log compartilhado.

**4. Aguarde o Enclave detectar a configuração**

O Enclave acompanha a conclusão da configuração e avança sozinho. Quando você vir **Connection complete!**, o projeto estará conectado e o Enclave começará a verificá-lo.

**5. Adicione mais projetos**

Clique em **Add another project** para conectar outro projeto ou em **Done** para concluir.

> [!TIP]
>
> Clique em **I'll finish later** para salvar a conexão e voltar depois. Reabra-a em **Settings → Integrations → Google Cloud**.

## Gerenciar uma conexão

Abra **Settings → Integrations → Google Cloud** para ver seus projetos conectados.

* **Re-validate** verifica se o Enclave ainda consegue ler um projeto.
* **Remove** para de verificar um projeto.
* **Add project** conecta outro projeto.
* **Disconnect GCP** remove a conexão inteira e para as verificações.

Para revogar o acesso pelo Google Cloud, exclua a conta de serviço de scanner ou o pool de Workload Identity criados pela configuração.

## O que o Enclave faz e não faz

* **Faz**: lê a configuração e os metadados que as funções acima permitem.
* **Não faz**: criar, alterar ou excluir recursos, ler objetos nos seus buckets nem armazenar uma credencial de longa duração. Cada verificação usa um token de acesso temporário que dura cerca de uma hora.

## Solução de problemas

> [accordion] A página continua aguardando depois que executei o comando
>
> Verifique a saída do comando no Cloud Shell. Se ele falhou, corrija o erro e reabra a conexão para obter um novo comando. O token de configuração funciona apenas uma vez, então não execute de novo um comando antigo que já foi usado.

> [accordion] O comando falha com um erro de permissão
>
> Falta uma função à conta que o executou. Conceda **Owner** ou as quatro funções de administrador listadas em [Quem pode executar a configuração](#quem-pode-executar-a-configuração) e execute um novo comando.

> [accordion] O Enclave não aceita o ID do projeto
>
> IDs de projeto têm de 6 a 30 caracteres: letras minúsculas, dígitos e hifens. Eles começam com uma letra e terminam com uma letra ou um dígito. Use o ID do projeto, não o nome nem o número dele.

> [accordion] Os ativos não aparecem no Coverage
>
> As verificações são executadas quando um projeto é conectado e, depois disso, uma vez por dia. Para verificar agora, clique em **Analyze Environment** no [Coverage](https://docs.enclave.ai/pt-br/onboarding/coverage.md).


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