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

# Adicione segredos aos ambientes

> Conecte gerenciadores de segredos externos ao seu ambiente de desenvolvimento usando os módulos OIDC de código aberto do Replit, credenciais de curta duração e políticas do provedor.

Escolha seu provedor abaixo e forneça a configuração ao Replit para conectar seu gerenciador de segredos e salvá-la no seu [ambiente reutilizável](https://docs.replit.com/pt/build/code/create-reusable-environment.md). Substitua os identificadores de exemplo pelos recursos do seu ambiente de desenvolvimento e configure primeiro a confiança e as permissões do provedor.
Os módulos configuram credenciais de curta duração do provedor; eles não carregam segredos automaticamente no seu app.

## Conecte seu gerenciador de segredos

**AWS Secrets Manager**

```yaml theme={null}
repos:
  - repo: https://github.com/replit/dev-modules
    ref: f9ec152dd804895d59cb01fa71ee01864d932c40
    path: dev-modules
build:
  - run: >-
      bash ./dev-modules/aws-oidc/build.sh
      --role-arn=arn:aws:iam::123456789012:role/replit-development
      --region=us-east-1
```

Pré-requisitos: registre `https://sts.replit.com` como um provedor OIDC da AWS com o público (audience) `sts.amazonaws.com` e crie o papel acima.
Restrinja a confiança dele ao seu workspace do Replit e conceda acesso de leitura aos segredos necessários.
Consulte as [instruções detalhadas da AWS](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/aws-oidc).

Peça ao Agent que recupere do provedor conectado os segredos de que seu app precisa e configure o app para usá-los. Diga ao Agent onde procurar, como um projeto, cofre ou caminho de segredo específico.

**Infisical**

```yaml theme={null}
repos:
  - repo: https://github.com/replit/dev-modules
    ref: f9ec152dd804895d59cb01fa71ee01864d932c40
    path: dev-modules
build:
  - run: >-
      bash ./dev-modules/infisical-oidc/build.sh
      --identity-id="<machine-identity-id>"
      --project-id="<project-id>"
      --environment=dev
```

Pré-requisitos: crie uma identidade de máquina com autenticação por JWT usando o JWKS do Replit, o público (audience) `infisical` e o [`org_id` do seu workspace](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works).
Conceda a ela acesso de leitura ao ambiente de desenvolvimento e aos caminhos do projeto pretendido.
Consulte as [instruções detalhadas do Infisical](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/infisical-oidc).

Peça ao Agent que recupere do provedor conectado os segredos de que seu app precisa e configure o app para usá-los. Diga ao Agent onde procurar, como um projeto, cofre ou caminho de segredo específico.

**Azure Key Vault**

```yaml theme={null}
repos:
  - repo: https://github.com/replit/dev-modules
    ref: f9ec152dd804895d59cb01fa71ee01864d932c40
    path: dev-modules
build:
  - run: >-
      bash ./dev-modules/azure-oidc/build.sh
      --client-id="<client-id>"
      --tenant-id="<tenant-id>"
      --subscription-id="<subscription-id>"
```

Pré-requisitos: crie uma identidade gerenciada ou um registro de app que confie em `https://sts.replit.com`, com o público (audience) `api://AzureADTokenExchange` e o subject [`//replit.com/customer/<customer-id>/org/<org-id>`](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works).
Conceda a ela acesso de leitura aos segredos do Key Vault de desenvolvimento.
Consulte as [instruções detalhadas do Azure](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/azure-oidc).

Peça ao Agent que recupere do provedor conectado os segredos de que seu app precisa e configure o app para usá-los. Diga ao Agent onde procurar, como um projeto, cofre ou caminho de segredo específico.

**HashiCorp Vault**

```yaml theme={null}
repos:
  - repo: https://github.com/replit/dev-modules
    ref: f9ec152dd804895d59cb01fa71ee01864d932c40
    path: dev-modules
build:
  - run: >-
      bash ./dev-modules/vault-oidc/build.sh
      --address=https://vault.example.com
      --role=replit-development
```

Pré-requisitos: crie um papel JWT que confie no Replit, vinculado ao [`org_id` do seu workspace](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works) e com o nome do host do Vault como público (audience).
Conceda a ele acesso de leitura aos caminhos de segredos pretendidos e garanta que o servidor Vault seja acessível a partir do ambiente.
Consulte as [instruções detalhadas do Vault](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/vault-oidc).

Peça ao Agent que recupere do provedor conectado os segredos de que seu app precisa e configure o app para usá-los. Diga ao Agent onde procurar, como um projeto, cofre ou caminho de segredo específico.

**Google Secret Manager**

```yaml theme={null}
repos:
  - repo: https://github.com/replit/dev-modules
    ref: f9ec152dd804895d59cb01fa71ee01864d932c40
    path: dev-modules
build:
  - run: >-
      bash ./dev-modules/gcp-oidc/build.sh
      --workload-identity-provider=projects/123456789/locations/global/workloadIdentityPools/replit/providers/replit-oidc
      --service-account=replit-dev@my-project.iam.gserviceaccount.com
      --project=my-project
```

Pré-requisitos: crie um provedor de identidade de carga de trabalho do Google que confie em `https://sts.replit.com`, restrito ao seu workspace do Replit.
O público (audience) permitido deve corresponder a `//iam.googleapis.com/<provider-resource-name>`, usando o nome completo do recurso passado em `--workload-identity-provider`.
Permita que ele represente a conta de serviço acima e conceda a essa conta acesso ao Secret Manager.
Consulte as [instruções detalhadas do Google](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/gcp-oidc).

Peça ao Agent que recupere do provedor conectado os segredos de que seu app precisa e configure o app para usá-los. Diga ao Agent onde procurar, como um projeto, cofre ou caminho de segredo específico.

> [!NOTE]
>
> Para comandos de app não interativos, peça ao Agent que carregue `~/.config/replit-oidc/env.sh` e siga as instruções de tempo de execução no README do provedor vinculado.
> A autenticação da CLI não garante a autenticação do SDK nem a renovação de credenciais. Os auxiliares de CLI do Vault e do Infisical não fornecem credenciais a processos de SDK não relacionados.

> **Precisa de um segredo apenas para este chat?**
>
> Peça ao Agent que adicione um segredo pelo nome, sem digitar o valor dele na sua mensagem. Por exemplo:
>
> ```text theme={null}
> This app needs DEVELOPMENT_API_KEY. Ask me to add it securely for this chat.
> ```
>
> O Agent pode abrir um formulário seguro para você inserir o valor. O segredo é armazenado com segurança e limitado ao chat privado, em vez de ser colocado no seu prompt ou enviado por commit ao Git. Use uma credencial de desenvolvimento apenas com as permissões necessárias; confirme o nome da variável e o escopo exibidos pelo formulário antes de enviar. Não presuma que um segredo com escopo de chat esteja disponível em outro chat ou em um build de ambiente reutilizável.
>
> ![Formulário seguro de entrada de segredo com um campo de valor vazio.](https://mintcdn.com/replit/Scz0QdkCm-76dARz/images/code-contributions/chat-secret-elicitation.png?fit=max\&auto=format\&n=Scz0QdkCm-76dARz\&q=85\&s=0a259e2853c5ec254f1bfb9c58de097b)
>
> Como alternativa, selecione **+** na barra de abas do editor e depois **Secrets**.
>
> ![O menu de nova aba do editor com Secrets destacado.](https://mintcdn.com/replit/ZvLiuMLrojYoqf3I/images/code-contributions/open-secrets-tab.jpg?fit=max\&auto=format\&n=ZvLiuMLrojYoqf3I\&q=85\&s=9dfd78422324f9c2c7742688b6ab8c81)
>
> Selecione **New Secret**, insira a **Key** e o **Value** e selecione **Add Secret**. Insira credenciais no formulário, nunca no chat.
>
> ![O formulário Add Secret com os campos Key e Value vazio.](https://mintcdn.com/replit/bwyNlFMrtiNdFQiG/images/code-contributions/add-secret-form.jpg?fit=max\&auto=format\&n=bwyNlFMrtiNdFQiG\&q=85\&s=128c3e3878cdfb9e92c569a08d729c07)
