Clés de service et agents qui les utilisent
Enregistrez une clé du catalogue, de votre propre API HTTP ou d’une base de données, choisissez les agents qui l’utilisent, vérifiez-la et remplacez-la.
Sur cette page
Ce qu’est une clé
Une clé de service est ce que Sallyport garde pour un service : une clé API, un jeton, une connexion chez le fournisseur ou le mot de passe d’une base de données. Sallyport l’ajoute lui-même à chaque appel. Aucun agent, aucune personne et aucune API ne peut la relire.
Une clé enregistrée va à tous les agents de son espace de travail, y compris ceux qu’un propriétaire ou un administrateur crée ensuite. Un client IA qu’un membre connecte par une ouverture de session commence sans aucune clé, et un propriétaire ou un administrateur les ajoute dans sa liste « Accès ». Ajouter des clés demande le rôle de propriétaire ou d’administrateur.
Choisissez la source
Ouvrez Ajouter une clé de service. « Source de la clé » propose six choix :
| Source de la clé | À utiliser pour |
|---|---|
| Catalogue | Un service que Sallyport connaît, comme GitHub, Stripe ou Cloudflare. Son adresse et la façon d’envoyer la clé sont déjà définies. |
| API personnalisée | Toute API HTTPS publique absente du catalogue. |
| MCP distant | Un serveur MCP sur internet. Voir Clients MCP et serveurs distants. |
| Hôte SSH | Un serveur sur lequel vos agents lancent des commandes. Voir Commandes SSH. |
| Base de données | Votre PostgreSQL, MySQL, SQL Server, ClickHouse, MongoDB ou Redis à une adresse publique. Les agents reçoivent un outil pour lire et un outil pour modifier. |
| Stockage S3 | Un bucket Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage ou de tout stockage compatible S3. Voir Stockage S3. |
| Votre boîte chez Gmail, Outlook, Yahoo, iCloud, Fastmail, Zoho ou sur votre propre serveur de messagerie. Les agents envoient, lisent et trient son courrier. Voir E-mail. |
Ajoutez un service du catalogue
Choisissez le service dans « Service du catalogue ». « Nom dans la console » se remplit seul, par exemple github-live. Avec plusieurs espaces de travail, choisissez aussi l’« Espace de travail ».
Gardez « Production » sous « Environnement ». Les agents créés dans la console sont en production, et un agent de production ne voit que les clés de production.
Sous « Comment connecter … », choisissez une voie. « Se connecter avec … » vous emmène chez le fournisseur et vous ramène ; Sallyport garde l’accès et le renouvelle. « Jeton d’accès », « Clé API » et les autres voies prennent une clé que vous collez.
« Créer la clé chez … » ouvre la page du fournisseur pour une nouvelle clé. Un service à votre propre adresse demande aussi « Votre adresse chez … ». Cliquez sur « Enregistrer la clé », ou sur le bouton de connexion.
Certaines connexions demandent votre propre application chez le fournisseur. Le formulaire affiche alors une « URI de redirection » : enregistrez-la dans l’application, puis collez son « Client ID » et son « Client secret ».
Services qui prennent l’ID client et le secret d’une app
Greenhouse Harvest v3, les apps Server-to-Server de Zoom, les applications machine-to-machine d’Auth0, Bandwidth et la Sinch Conversation API prennent l’ID client et le secret d’une app que vous créez chez le fournisseur. Collez les deux ; Sallyport obtient un jeton de courte durée à l’adresse que le fournisseur indique et le renouvelle avant son expiration. Zoom demande aussi l’ID du compte ; Greenhouse prend l’ID de l’utilisateur au nom duquel le jeton agit, et sans lui agit comme l’utilisateur propre de l’app.
PlanetScale et Etsy veulent deux parties d’une clé dans un seul en-tête. Saisissez chaque partie dans son propre champ ; Sallyport les assemble à chaque appel.
Services qui signent chaque requête
Certains services ne prennent pas de clé dans la requête : chaque appel porte une signature faite avec un secret ou une clé privée. Binance, Bybit, OKX, Kraken, Coinbase, App Store Connect, les GitHub Apps, Snowflake avec paire de clés, NetSuite et Azure Service Bus fonctionnent ainsi. Collez la clé comme le demande le formulaire ; Sallyport signe chaque appel au moment de l’envoi et la clé ne sort jamais.
| Comment connecter | Ce que Sallyport fait à chaque appel |
|---|---|
| Clé API et secret | Ajoute l’heure et une signature de la requête faite avec le secret, dans l’en-tête ou le paramètre de requête que le service indique. |
| Clé privée | Signe avec la clé un jeton de courte durée et l’envoie comme bearer. Pour une GitHub App, ce jeton achète d’abord un jeton d’installation. |
| Jetons OAuth 1.0a | Signe la requête avec les secrets du consumer et du jeton et envoie l’en-tête Authorization: OAuth …. |
La personne qui approuve un appel approuve la requête elle-même. L’heure et la signature s’ajoutent à l’envoi, après le oui : une approbation donnée quelques minutes plus tôt reste valable. L’agent ne les envoie pas ; s’il envoie les siennes, Sallyport les écarte.
Connectez votre propre API HTTP
Choisissez « API personnalisée » et saisissez l’« URL HTTPS du service », par exemple https://api.example.com:8443/v1. Ajoutez le port s’il n’est pas 443. Laissez de côté identifiant, paramètres de requête et fragment.
Le chemin limite la clé : avec /v1, les appels n’atteignent que /v1 et les chemins en dessous. Choisissez l’« Authentification », saisissez la clé et cliquez sur « Enregistrer la clé et connecter ».
| Authentification | Ce que Sallyport ajoute à chaque appel |
|---|---|
| Jeton Bearer | Authorization: Bearer … |
| Basic | Le nom d’utilisateur et le mot de passe sous la forme Authorization: Basic …. |
| Clé API | La clé dans un « En-tête de requête » (X-API-Key, Authorization: token … ou des en-têtes que vous nommez), un « Paramètre d’URL », un champ du « Corps de requête JSON » ou le « Chemin d’URL ». |
| Digest | Le nom d’utilisateur et le mot de passe répondent au défi Digest du service. Le mot de passe ne circule jamais sur le réseau. |
| Point de connexion | Un jeton de session. Sallyport envoie le nom d’utilisateur et le mot de passe à l’« URL de connexion », lit le jeton dans la réponse JSON, un en-tête de réponse ou un cookie, et l’envoie dans l’en-tête que vous indiquez. Il se reconnecte quand la session se termine. |
| Certificat client | Rien dans un en-tête : Sallyport présente le « Certificat » et la « Clé privée », au format PEM, lors de la négociation TLS. |
| OAuth : connexion | Un jeton obtenu par une connexion chez le fournisseur. Vous saisissez son « URL d’autorisation », son « URL du jeton », les « Portées » et l’ID et le secret de votre application. Enregistrez https://mcp.sallyport.cloud/callback/upstream comme URI de redirection de cette application. |
| Compte de service Google | Un jeton Google que Sallyport émet avec le « JSON du compte de service » collé, pour les « Portées » indiquées. |
| OAuth : client credentials | Un jeton que Sallyport obtient pour votre application à son « URL du jeton » et renouvelle avant son expiration. L’URL du jeton peut être sur un autre hôte que l’API, comme login.microsoftonline.com pour Azure. |
| AWS Signature V4 | Une signature sur chaque requête, faite avec votre « ID de la clé d’accès » et votre « Clé d’accès secrète » pour la « Région » et le « Service de signature » que vous indiquez. Pour les buckets S3, la source « Stockage S3 » s’en charge. |
| Signature HMAC | Une signature sur chaque requête, faite avec votre « Secret de signature » selon le « Modèle de signature » que vous collez depuis la documentation du service : l’algorithme, ce qui est signé et où va la signature. Une « Clé d’API (facultatif) » l’accompagne dans l’« En-tête de la clé d’API ». |
| JWT signé | Un JWT de courte durée que Sallyport signe avec votre « Clé privée » selon le « Modèle JWT » : l’algorithme, les claims, la durée de vie et un échange quand le service troque le JWT contre un jeton. |
| OAuth 1.0a | Une signature sur chaque requête avec votre « Consumer key », « Consumer secret », « ID du jeton » et « Secret du jeton », avec la « Méthode de signature » choisie et un « Realm (facultatif) », comme l’ID de compte NetSuite. |
« Aperçu de l’injection » montre ce qui part avec l’appel. « Options de connexion avancées » ajoute des en-têtes et des paramètres de requête à chaque appel. Ce sont des réglages : n’y mettez pas de clés.
Un service qui demande un certificat client en plus de la clé le reçoit dans « Ajouter un certificat client », scellé avec la clé. Certains services, comme un serveur d’API Kubernetes, ont un certificat qu’aucune autorité publique n’a signé. Collez leur AC dans « Certificats d’AC de confiance », sous « Options de connexion avancées ». Seule cette connexion lui fait confiance, et elle n’atteint toujours que des adresses publiques.
« Nature des appels » distingue une lecture d’une modification. « REST » se fie à la méthode. « GraphQL » traite une query comme une lecture et une mutation comme une modification. « JSON-RPC » traite comme lectures les « Méthodes de lecture » que vous listez, et toute autre méthode comme une modification. « SQL dans le corps » lit la requête à l’« Emplacement de la requête », par exemple /statement pour Snowflake : un SELECT est une lecture, et DROP ou un DELETE sans WHERE est destructif.
Choisissez les agents qui utilisent une clé
La page de la clé liste les « Agents qui peuvent utiliser cette clé ». « Retirer » enlève la clé à un agent.
Pour la lui rendre, ouvrez l’agent dans Agents et allez à « Accès ». « Ajouter la connexion » ajoute une clé, et « Tout ajouter » ajoute toutes les clés de l’espace de travail.
Chaque ligne a « Demander à chaque appel » et une règle pour « Lecture », « Écriture » et « Destructive » : « Automatique », « Approbation requise » ou « Refusé ». Les nouvelles lignes exécutent chaque appel sans demander. Voir Approbations.
Vérifiez qu’une clé fonctionne
Quand le service a une vérification, Sallyport la lance en enregistrant la clé. Pour GitHub, c’est GET /user. Le résultat figure sous « Où va cette clé », sur la page de la clé, et « Vérifier à nouveau » la relance.
Remplacez une clé
Créez d’abord une nouvelle clé chez le fournisseur. Sur la page de la clé, cliquez sur « Remplacer la clé », saisissez la nouvelle valeur et cliquez sur « Enregistrer la nouvelle clé ».
La nouvelle version fonctionne tout de suite, et Sallyport la vérifie. L’ancienne version reste valable 24 heures pour que les appels en cours se terminent.
Révoquez ensuite l’ancienne clé chez le fournisseur ; « La révoquer chez … » ouvre la page. Cliquez sur « Je l’ai révoquée » pour le noter. Pour renommer une clé, cliquez sur son nom en haut de sa page. « Supprimer la clé », en bas, retire la clé et ses connexions ; la fenêtre nomme d’abord les agents qui les perdent.