Semaine 1 : Installer et maîtriser le socle › Semaine 1 : Partie 2 (Installer le socle) › Installation technique
Gestionnaire de secrets et connexions sécurisées
Les prix, les offres et les intégrations évoluent. Ce cours présente le chemin de référence recommandé. Vérifie toujours l’offre et la documentation du produit réellement utilisé avant de connecter une donnée ou un service de l’entreprise.
Pourquoi tu fais ça
Une clé API, un token MCP, un mot de passe ou une clé SSH permet d’agir en ton nom ou celui de ton entreprise. Une personne qui obtient cette valeur peut potentiellement consulter des données, consommer un budget, envoyer un message ou modifier un service.
Le Business Brain est fait pour conserver le contexte de l’entreprise. Il n’est pas fait pour conserver ses accès. Un gestionnaire de secrets sépare les deux : le contexte reste lisible et utile dans le vault, tandis que les credentials restent chiffrés dans un coffre prévu pour eux.
Objectif
À la fin de ce cours, tu sais :
- expliquer pourquoi une clé API et un token MCP ne doivent jamais apparaître dans le vault, Git ou une conversation ;
- distinguer un gestionnaire de mots de passe d’un gestionnaire de secrets ;
- choisir entre le parcours 1Password recommandé et l’alternative gratuite Bitwarden Secrets Manager ;
- donner à
Connect Toolles bonnes instructions pour connecter un MCP sans écrire la clé dans sa configuration ; - vérifier qu’un MCP utilise un secret sans l’afficher à l’IA.
Avant de commencer
- Tu as lu Sécurité, confidentialité et secrets.
- OpenCode et le workspace local sont installés, ou en cours d’installation.
- Tu disposes d’une clé API de test, distincte d’une clé utilisée en production.
- Tu ne copies aucune valeur réelle dans une note, une conversation, une capture ou un dépôt Git.
Pour la vidéo et l’exercice, Firecrawl est un bon exemple : il permet une requête de recherche ou de lecture de page sans modifier de donnée métier. Toute autre clé API de test peut convenir si elle dispose de droits limités et d’un budget plafonné.
1. Le modèle mental : un secret est un accès
Les termes sont proches, mais les usages sont différents :
| Élément | Exemple | Usage | Où il doit vivre |
|---|---|---|---|
| Mot de passe | Connexion au compte d’un service | Une personne se connecte | Gestionnaire de mots de passe |
| Clé API | FIRECRAWL_API_KEY | Une application ou un MCP appelle un service | Gestionnaire de secrets ou Environment |
| Token MCP | Token d’accès à un outil connecté | Un processus démarre une connexion | Gestionnaire de secrets ou mécanisme OAuth |
| Identifiant public | URL, Environment ID, nom de variable | Indique où trouver un accès | Configuration locale, si nécessaire |
Un nom de variable comme FIRECRAWL_API_KEY ou un identifiant d’Environment n’est pas la clé elle-même. Ils peuvent apparaître dans une configuration. Sa valeur ne le peut pas.
Les quatre emplacements interdits
Ne place jamais une valeur secrète dans :
- une note du Business Brain ou
AGENTS.md; - un fichier de configuration suivi par Git, comme
opencode.json,mcp.jsonou.envpartagé ; - une conversation avec une IA, un ticket, Slack ou un email ;
- une commande ou un script qui imprime la valeur dans le terminal ou les logs.
Un fichier .env ignoré par Git réduit le risque de commit accidentel. Il reste un fichier local lisible par les processus et personnes qui y ont accès. Un coffre qui injecte le secret au démarrage est préférable lorsqu’il est disponible.
2. Stocker n’est pas transmettre
Le chiffrement d’un coffre protège le secret lorsqu’il est stocké. Il ne suffit pas à lui seul lorsqu’un MCP a besoin d’appeler un service.
Le flux recommandé est :
Tu crées une clé de test
La saisit directement dans son coffre
Le coffre injecte la variable au démarrage du MCP
Le MCP utilise la valeur pour appeler le service
OpenCode utilise le MCP sans lire ni afficher la clé
Le MCP ou le provider lancé a nécessairement accès à la valeur pendant son exécution. L’objectif est de ne pas l’écrire dans les fichiers persistants et de ne pas la faire remonter dans le contexte LLM, une sortie de commande ou une conversation.
Ne demande jamais : « affiche ma clé API » ou « récupère mon mot de passe depuis mon coffre ». Demande au processus de réaliser l’action autorisée, sans révéler le credential.
3. Notre recommandation : 1Password
1Password Individual est le parcours recommandé. Il est adapté à toi si tu commences : l’application desktop sert de coffre au quotidien et ses Environments permettent de regrouper les variables nécessaires à un MCP ou un provider.
1Password permet de lancer un processus avec op run. La CLI récupère alors les variables depuis un Environment et les transmet uniquement au processus enfant. La configuration du MCP contient la commande et l’identifiant d’Environment, sans contenir la valeur de la clé.
Le MCP 1Password est différent : il peut aider un agent à créer ou gérer des Environments, à lister les noms de variables ou à créer un montage local. Par conception, il ne retourne pas les valeurs secrètes à l’agent. Il ne remplace pas le MCP métier : il prépare le coffre qui permettra à ce MCP métier de fonctionner.
Coût et périmètre à vérifier
À la date de revue de ce cours, 1Password affiche un tarif régulier Individual de 3,99 USD par mois avec facturation annuelle et un essai de 14 jours. Les promotions, devises et conditions peuvent changer. Ce tarif donne accès à l’app desktop et aux outils Developer nécessaires au parcours individuel ; la gestion d’accès d’équipe relève d’un compte partagé adapté.
4. Pas-à-pas 1Password
Cette procédure est le support écrit de la vidéo d’installation. La vidéo montre les mêmes étapes avec une clé Firecrawl de test et une requête de lecture seule.
Étape 1 : installer et ouvrir le coffre
- Télécharge l’application desktop depuis 1Password Downloads.
- Installe l’application, crée ou ouvre ton compte, puis active la double authentification.
- Dans les réglages de l’application, ouvre la section Developer.
- Active l’intégration avec la CLI et installe-la si l’application le propose.
- Ouvre Terminal et vérifie que la commande
op --versionrépond.
Si la commande ne répond pas, ne contourne pas le problème en copiant la clé dans OpenCode. Termine l’installation de la CLI avec le responsable technique ou la documentation officielle.
Étape 2 : créer un Environment de test
- Dans 1Password, ouvre Developer puis Environments.
- Crée un Environment nommé, par exemple,
opencode-test. - Ajoute une variable
FIRECRAWL_API_KEY. - Colle la clé de test directement dans le champ de valeur de 1Password.
- Copie l’Environment ID depuis Manage Environment.
L’Environment ID peut servir à identifier l’Environment dans la configuration. La valeur FIRECRAWL_API_KEY doit rester masquée et ne doit jamais être copiée ailleurs.
Étape 3 : connecter le MCP sans clé en clair
Lance Connect Tool dans OpenCode et donne une consigne explicite, en remplaçant l’identifiant par le tien :
Connecte Firecrawl à mon OpenCode sous le nom firecrawl.
La clé API est dans mon Environment 1Password <ENVIRONMENT_ID>.
N'écris aucune clé dans un fichier.
Lance le MCP via 1Password avec op run.
Vérifie la connexion avec une requête de lecture seule, sans afficher le secret.
La configuration cible a cette logique :
op run --environment <ENVIRONMENT_ID> -- npx -y firecrawl-mcp
Connect Tool vérifie la commande actuelle du MCP, la version installée et l’emplacement de configuration avant d’écrire. Ne crée pas un second fichier MCP manuellement si une configuration existe déjà.
Étape 4 : tester l’accès, pas le secret
Dans une nouvelle session OpenCode, demande :
Avec le MCP Firecrawl uniquement, scrape https://example.com et donne le titre de la page.
Ne modifie aucun fichier et ne révèle aucun credential.
Le résultat attendu est le titre de la page. La réussite ne se mesure pas au fait d’avoir vu la clé : une clé correctement gérée ne doit pas apparaître.
5. Alternative gratuite : Bitwarden Secrets Manager
Bitwarden Secrets Manager Free est l’alternative à considérer pour un pilote qui veut tester sans abonnement. À la date de revue, l’offre Free permet jusqu’à trois projets et trois machine accounts. Un machine account peut être limité à un projet et aux secrets nécessaires à un MCP précis.
Bitwarden Secrets Manager est distinct de Bitwarden Password Manager :
| Produit Bitwarden | Usage | Recommandation |
|---|---|---|
| Password Manager | Mots de passe et accès humains | Utile comme coffre personnel, mais pas comme mécanisme d’injection standard pour un MCP. |
| Secrets Manager Free | Clés API et accès machine limités | Alternative gratuite pour connecter un MCP ou un provider. |
Le mécanisme équivalent est bws run, qui injecte les secrets dans le processus lancé. La logique reste identique : un machine account avec les droits minimums, un projet dédié et aucune valeur secrète dans la configuration OpenCode.
bws run -- npx -y firecrawl-mcp
La configuration de Bitwarden Secrets Manager demande davantage de notions techniques : organisation, projet, machine account et token d’accès de cette machine. C’est pourquoi 1Password reste le parcours recommandé par défaut.
Ce qui n’est pas recommandé
Le MCP Bitwarden Password Manager peut, selon sa configuration, récupérer un mot de passe ou un code TOTP pour un agent. Ce fonctionnement peut rendre la valeur disponible à l’agent et à son contexte. Bitwarden recommande une prudence particulière et un modèle local pour l’explorer.
Ce n’est pas le modèle recommandé. Pour un MCP ou une clé API, utilise 1Password Environments ou Bitwarden Secrets Manager afin que le processus autorisé utilise le secret sans que l’IA ne le demande, ne le lise ou ne l’affiche.
Exercice guidé
- Choisis 1Password ou Bitwarden Secrets Manager Free.
- Crée un espace de test dédié à un seul MCP.
- Génère une clé de test avec un budget ou des droits limités.
- Enregistre-la directement dans le coffre, sans la partager à OpenCode.
- Demande à
Connect Toold’installer le MCP avec l’injection au runtime. - Relance OpenCode et effectue une requête de lecture seule sur une page publique.
- Inspecte la configuration avec OpenCode en demandant une explication sans révélation de credential.
Output attendu
Tu disposes de :
- un coffre personnel protégé par une double authentification ;
- un Environment 1Password ou un projet Bitwarden Secrets Manager dédié au test ;
- une clé API de test dont la valeur n’est présente ni dans le vault ni dans une configuration MCP ;
- un MCP fonctionnel lancé avec l’injection de variable ;
- une preuve de requête de lecture seule réussie.
Validation
Le cours est validé si tu peux montrer :
- le nom du coffre, de l’Environment ou du projet, sans afficher la valeur du secret ;
- une configuration MCP qui référence l’Environment ou le mécanisme d’injection, sans clé en clair ;
- une requête de lecture seule réussie ;
- la différence entre un mot de passe humain, une clé API et un token MCP ;
- la méthode de révocation de la clé de test chez le provider.
La preuve transmise au formateur est une capture masquée de la configuration et le résultat de la requête de test. Elle ne contient aucun secret.
Si ça bloque
La commande op ou bws est introuvable
Arrête-toi avant toute connexion. Installe la CLI depuis l’application ou la documentation officielle. Ne copie pas la clé dans le fichier MCP comme contournement.
Le MCP ne répond pas
Vérifie, dans cet ordre : le nom de la variable, l’Environment ou le projet ciblé, le compte utilisé, la clé de test, les droits de la clé et la commande de lancement. Teste seulement sur une page publique.
La clé a été affichée dans une conversation ou un fichier
Révoque immédiatement cette clé chez le provider, crée-en une nouvelle avec les droits minimums, puis corrige la configuration avant de reprendre le test. La suppression du fichier ou du message ne remplace pas la révocation.
Fallback manuel
Si l’injection par coffre ne peut pas être terminée pendant l’installation, connecte le provider uniquement par OAuth lorsque cette option existe. Sinon, reporte la connexion du MCP et travaille sans cet outil jusqu’au point de déblocage technique.
Saisir une clé dans le champ credential natif d’une application peut être un dépannage local ponctuel, mais ce n’est pas la configuration de référence du parcours. Ne la copie jamais dans le Business Brain, Git ou une conversation.
Ressources
- 1Password : sécuriser les accès des agents IA
- 1Password Environments
- 1Password MCP Server
- 1Password : tarifs Personal
- Bitwarden Secrets Manager
- Bitwarden Secrets Manager CLI
- Bitwarden MCP Server : note de sécurité
- Firecrawl MCP local
- Sécurité, confidentialité et secrets
Ce qu’il faut retenir
- Un secret est un accès : propriétaire, périmètre, durée de vie, budget et méthode de révocation.
- Un secret ne vit jamais dans le Business Brain, un fichier suivi par Git, une conversation ou un log.
- Stocker un secret chiffré ne suffit pas : le mécanisme d’injection au runtime (
op run,bws run) évite qu’il soit écrit dans une configuration persistante. - 1Password Environments est le parcours recommandé par défaut ; Bitwarden Secrets Manager Free est l’alternative gratuite.
- Ne jamais demander à l’IA d’afficher ou de récupérer un secret ; seulement d’utiliser le processus autorisé.
À faire
- Choisis 1Password ou Bitwarden Secrets Manager Free.
- Crée un espace de test dédié à un seul MCP.
- Génère une clé de test avec un budget ou des droits limités et enregistre-la directement dans le coffre.
- Demande à
Connect Toold’installer le MCP avec l’injection au runtime. - Relance OpenCode et effectue une requête de lecture seule sur une page publique.
- Inspecte la configuration pour confirmer l’absence de clé en clair.