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

# Ajouter des secrets aux environnements

> Connectez des gestionnaires de secrets externes avec les modules OIDC open source de Replit et des identifiants de fournisseur de courte durée et des politiques de fournisseur.

Choisissez votre fournisseur ci-dessous et donnez cette configuration à Replit pour connecter votre gestionnaire de secrets et l'enregistrer dans votre [environnement réutilisable](https://docs.replit.com/fr/build/code/create-reusable-environment.md). Remplacez les identifiants d'exemple par vos ressources de développement et configurez d'abord la relation de confiance et les autorisations du fournisseur.
Les modules configurent des identifiants de fournisseur de courte durée ; ils ne chargent pas automatiquement les secrets dans votre app.

## Connecter votre gestionnaire de secrets

**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érequis : enregistrez `https://sts.replit.com` comme fournisseur OIDC AWS avec l'audience `sts.amazonaws.com`, et créez le rôle ci-dessus.
Limitez sa relation de confiance à votre workspace Replit et accordez un accès en lecture aux secrets requis.
Consultez les [instructions AWS détaillées](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/aws-oidc).

Demandez à Agent de récupérer auprès du fournisseur connecté les secrets dont votre app a besoin et de configurer votre app pour les utiliser. Indiquez à Agent où chercher, par exemple un projet, un coffre ou un chemin de secret précis.

**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érequis : créez une identité machine avec authentification JWT utilisant le JWKS de Replit, l'audience `infisical` et le [`org_id` de votre workspace](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works).
Accordez-lui un accès en lecture à l'environnement de développement et aux chemins du projet visé.
Consultez les [instructions Infisical détaillées](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/infisical-oidc).

Demandez à Agent de récupérer auprès du fournisseur connecté les secrets dont votre app a besoin et de configurer votre app pour les utiliser. Indiquez à Agent où chercher, par exemple un projet, un coffre ou un chemin de secret précis.

**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érequis : créez une identité managée ou un enregistrement d'application faisant confiance à `https://sts.replit.com`, avec l'audience `api://AzureADTokenExchange` et le sujet [`//replit.com/customer/<customer-id>/org/<org-id>`](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works).
Accordez-lui un accès en lecture aux secrets Key Vault de développement.
Consultez les [instructions Azure détaillées](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/azure-oidc).

Demandez à Agent de récupérer auprès du fournisseur connecté les secrets dont votre app a besoin et de configurer votre app pour les utiliser. Indiquez à Agent où chercher, par exemple un projet, un coffre ou un chemin de secret précis.

**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érequis : créez un rôle JWT faisant confiance à Replit, lié au [`org_id` de votre workspace](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40#how-oidc-works) et ayant le nom d'hôte Vault comme audience.
Accordez-lui un accès en lecture aux chemins de secrets visés, et assurez-vous que le serveur Vault est joignable depuis l'environnement.
Consultez les [instructions Vault détaillées](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/vault-oidc).

Demandez à Agent de récupérer auprès du fournisseur connecté les secrets dont votre app a besoin et de configurer votre app pour les utiliser. Indiquez à Agent où chercher, par exemple un projet, un coffre ou un chemin de secret précis.

**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érequis : créez un fournisseur d'identité de charge de travail Google faisant confiance à `https://sts.replit.com`, restreint à votre workspace Replit.
Son audience autorisée doit correspondre à `//iam.googleapis.com/<provider-resource-name>`, en utilisant le nom de ressource complet transmis à `--workload-identity-provider`.
Autorisez-le à usurper l'identité du compte de service ci-dessus, et accordez à ce compte l'accès à Secret Manager.
Consultez les [instructions Google détaillées](https://github.com/replit/dev-modules/tree/f9ec152dd804895d59cb01fa71ee01864d932c40/gcp-oidc).

Demandez à Agent de récupérer auprès du fournisseur connecté les secrets dont votre app a besoin et de configurer votre app pour les utiliser. Indiquez à Agent où chercher, par exemple un projet, un coffre ou un chemin de secret précis.

> [!NOTE]
>
> Pour les commandes d'app non interactives, demandez à Agent de charger `~/.config/replit-oidc/env.sh` et de suivre les instructions d'exécution du README du fournisseur lié.
> L'authentification CLI ne garantit ni l'authentification SDK ni l'actualisation des identifiants. Les assistants CLI de Vault et Infisical ne fournissent pas d'identifiants aux processus SDK sans rapport.

> **Besoin d'un secret pour ce chat uniquement ?**
>
> Demandez à Agent d'ajouter un secret par son nom, sans saisir sa valeur dans votre message. Par exemple :
>
> ```text theme={null}
> This app needs DEVELOPMENT_API_KEY. Ask me to add it securely for this chat.
> ```
>
> Agent peut ouvrir un formulaire de saisie sécurisé dans lequel vous entrez la valeur. Le secret est stocké de manière sécurisée et limité au chat privé, au lieu d'être placé dans votre prompt ou validé dans Git. Utilisez un identifiant de développement disposant uniquement des autorisations nécessaires ; vérifiez le nom de la variable et la portée affichés par le formulaire avant de l'envoyer. Ne partez pas du principe qu'un secret limité à un chat est disponible dans un autre chat ou dans une construction d'environnement réutilisable.
>
> ![Demande de chat et réponse d'Agent au-dessus d'un formulaire de saisie de secret AWS\_ACCESS\_KEY\_ID mis en évidence, avec un champ vide et un avis indiquant que les valeurs sont stockées comme secrets de conversation.](https://mintcdn.com/replit/Scz0QdkCm-76dARz/images/code-contributions/chat-secret-elicitation.png?fit=max\&auto=format\&n=Scz0QdkCm-76dARz\&q=85\&s=0a259e2853c5ec254f1bfb9c58de097b)
>
> Exemple de formulaire sécurisé pour un secret limité à une conversation. Le champ de valeur est vide ; saisissez de vraies valeurs uniquement dans votre propre formulaire sécurisé.
>
> Vous pouvez aussi sélectionner **+** dans la barre d'onglets de l'éditeur, puis **Secrets**.
>
> ![Le menu de nouvel onglet de l'éditeur avec Secrets mis en évidence.](https://mintcdn.com/replit/ZvLiuMLrojYoqf3I/images/code-contributions/open-secrets-tab.jpg?fit=max\&auto=format\&n=ZvLiuMLrojYoqf3I\&q=85\&s=9dfd78422324f9c2c7742688b6ab8c81)
>
> Sélectionnez **New Secret**, saisissez la **Key** et la **Value**, puis sélectionnez **Add Secret**. Saisissez les identifiants dans le formulaire, jamais dans le chat.
>
> ![Le formulaire Add Secret avec les champs Key et Value, ce dernier étant vide.](https://mintcdn.com/replit/bwyNlFMrtiNdFQiG/images/code-contributions/add-secret-form.jpg?fit=max\&auto=format\&n=bwyNlFMrtiNdFQiG\&q=85\&s=128c3e3878cdfb9e92c569a08d729c07)
