Secrets
Présentation
Un secret stocke une valeur sensible — généralement une chaîne de connexion ou un identifiant — dont une sonde a besoin pour atteindre une ressource privée au sein d'un environnement. Contrairement aux variables, les secrets sont chiffrés au repos et leurs valeurs ne sont jamais affichées dans l'interface après leur création.
Les secrets sont utilisés par les sondes qui se connectent à des bases de données, des magasins clé-valeur ou des courtiers de messages via des agents privés.
Types supportés
| Type | Sonde |
|---|---|
| PostgreSQL | SQL Compatible |
| SQL Server | SQL Compatible |
| MySQL | SQL Compatible |
| MariaDB | SQL Compatible |
| Oracle | SQL Compatible |
| Redis | KVDB |
| RabbitMQ | DLQ |
Créer un secret
- Accédez à Paramètres → Environnements et sélectionnez votre environnement.
- Dans la section Secrets, cliquez sur Ajouter un secret.
- Remplissez les champs requis :
- Code — Un identifiant unique (lettres minuscules, chiffres, tirets et points). Ce code est référencé par vos sondes et ne peut pas être modifié après la création.
- Type — Le type de ressource (par ex. PostgreSQL, Redis).
- Valeur — La chaîne de connexion ou l'identifiant.
- Enregistrez. La valeur est immédiatement chiffrée et stockée.
⚠️ Les valeurs des secrets sont en écriture seule
Une fois enregistrée, la valeur d'un secret ne peut jamais être relue depuis l'interface. Seuls le code, le type et le numéro de version sont affichés. Pour modifier une valeur, mettez à jour le secret — Onagre créera automatiquement une nouvelle version.
Utiliser un secret dans une sonde
Lors de la configuration d'une sonde SQL Compatible, KVDB ou DLQ, sélectionnez l'environnement cible et le code du secret correspondant dans le champ Entrypoint. L'agent reçoit la chaîne de connexion déchiffrée au moment de l'exécution — vous n'avez jamais à copier manuellement les identifiants.
Versionnement
Chaque fois que vous mettez à jour la valeur d'un secret, Onagre crée une nouvelle version. Les versions précédentes sont conservées en interne pour la traçabilité. Les sondes utilisent toujours automatiquement la dernière version.
💡 Protection contre la suppression
Un secret ne peut pas être supprimé s'il est encore référencé par une sonde active. Désactivez ou réassignez d'abord la sonde.
Exemples de chaînes de connexion
Voici des exemples de chaînes de connexion pour chaque type supporté.
PostgreSQL
Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;
SQL Server
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
MySQL
Server=127.0.0.1;Port=3306;Database=myDataBase;User Id=myUsername;Password=myPassword;
MariaDB
Server=127.0.0.1;Port=3306;Database=myDataBase;User Id=myUsername;Password=myPassword;
Oracle
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;
Redis
redis0:6380,password=myPassword,ssl=True,abortConnect=False
Options de configuration Redis
RabbitMQ
amqp://user:password@host:port/vhost
Spécification URI AMQP
Résumé
| Aspect | Détails |
|---|---|
| Stockage | Chiffré au repos (AES-GCM 256 bits) |
| Visibilité | Écriture seule — jamais affiché après la création |
| Versionnement | Nouvelle version créée à chaque mise à jour |
| Suppression | Protégée si référencé par une sonde active |
| Portée | Isolé par environnement |
| Transmission | Déchiffré par le Hub et envoyé aux agents via TLS |
| Détails de sécurité | Voir Sécurité |