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

  1. Accédez à Paramètres → Environnements et sélectionnez votre environnement.
  2. Dans la section Secrets, cliquez sur Ajouter un secret.
  3. 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.
  4. 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é