
kviklet v0.8.0
Flux de révision/approbation similaire à une Pull Request pour les requêtes de base de données. Pour un accès Engineering conforme mais fluide à la production.
Kviklet
Kviklet.dev | Notes de version | Discord
Accès sécurisé aux environnements de production sans nuire à la productivité des développeurs.

Kviklet (prononcé Quick-let) applique le principe des quatre yeux à l'accès aux bases de données de production, avec un workflow de revue et d'approbation semblable à celui d'une pull request pour des instructions SQL individuelles ou des sessions de base de données à durée limitée. Les ingénieurs peuvent examiner et approuver les demandes les uns des autres sans faire passer chaque requête par un DBA ou une équipe d'exploitation.
Kviklet est auto-hébergé et s'exécute sous forme de conteneur Docker avec une base de données PostgreSQL pour l'état de l'application. Son interface web permet de soumettre, examiner et exécuter des demandes. Une licence entreprise optionnelle débloque l'authentification SAML, les exigences de revue basées sur les rôles, la synchronisation des rôles, les clés API, le proxy de base de données et le serveur MCP pour les agents IA. Demandez une licence entreprise sur kviklet.dev.
Les bases de données prises en charge sont Postgres, MySQL, MariaDB, MS SQL Server et MongoDB.
Modèle d'accès
Nous recommandons de connecter Kviklet à votre fournisseur d'identité existant. Kviklet prend en charge le SSO via OIDC (Google, Keycloak, etc.) ou SAML (entreprise uniquement), ainsi que l'authentification LDAP (Active Directory, etc.).
Les utilisateurs créent ensuite des demandes (requests) pour des connexions (connections) qui correspondent à un utilisateur de base de données spécifique. Ces demandes sont soit :
- Requête unique : une instruction SQL spécifique soumise pour revue.
- Accès temporaire : une session à durée limitée dans laquelle vous pouvez exécuter plusieurs instructions.
Selon la configuration, les demandes sont examinées et approuvées par d'autres utilisateurs avant que Kviklet n'autorise l'exécution.
Kviklet se connecte à la base de données au nom de l'utilisateur. Le mot de passe de la base de données de la connexion n'est jamais montré à l'utilisateur.
Un administrateur peut configurer quel rôle a accès à quelle connexion et quels contrôles de revue sont requis pour l'exécution. L'accès au niveau de la base de données est géré via les mécanismes RBAC de la base de données sous-jacente. Par exemple, il est possible de créer un rôle en lecture seule pour une connexion en lecture seule et d'y associer des exigences de revue moins nombreuses que pour une connexion en écriture.
Kviklet enregistre les instructions exécutées et les associe à l'utilisateur et à la demande d'accès. Pour une couverture complète de l'accès manuel à la base de données, restreignez les connexions directes et faites passer tout accès manuel par Kviklet. Les ingénieurs n'ont pas besoin de recevoir ni de partager les identifiants de la base de données sous-jacente.
Les fonctionnalités entreprise supplémentaires incluent :
- SAML : prise en charge de l'authentification SAML.
- Proxy (Postgres, MariaDB, MySQL) : utilisez votre client de base de données préféré via une session d'accès temporaire approuvée avec un mot de passe temporaire. Les instructions exécutées sont enregistrées dans le journal d'audit de Kviklet.
- Contrôles de revue basés sur les rôles : exiger l'approbation de rôles spécifiques avant l'exécution.
- Synchronisation des rôles : synchroniser automatiquement les rôles des utilisateurs à partir des groupes de votre fournisseur d'identité.
- Clés API : accès programmatique à l'API Kviklet.
- Serveur MCP : connectez des agents IA comme Claude Code ou Codex à Kviklet. Ils agissent avec les propres permissions de l'utilisateur et passent par les mêmes revues.
Plus de captures d'écran
Demandes
Toutes les demandes de données sont regroupées au même endroit. Comme des PR ouvertes pour vos bases de données de production :

Sessions en direct
Une demande d'accès temporaire approuvée ouvre une session SQL en direct directement dans le navigateur :

Journal d'audit
Chaque instruction exécutée est enregistrée — qu'elle ait été exécutée comme une requête unique revue, dans une session en direct, ou via le proxy de base de données :

Fonctionnalités par type de base de données/connexion
La plupart des fonctionnalités sont disponibles pour toutes les bases de données (SSO, LDAP, RBAC, flux de révision/approbation, journal d'audit, etc.). Mais certaines fonctionnalités sont restreintes, soit parce qu'elles n'ont simplement pas encore été développées, soit parce qu'elles n'ont aucun sens pour cet usage spécifique. Le tableau suivant indique quelles fonctionnalités sont disponibles pour quel type de base de données :
| Base de données | Révision des requêtes | Accès temporaire | Proxy (Beta) | Plan d'exécution |
|---|---|---|---|---|
| Postgres | ✓ | ✓ | ✓ | ✓ |
| MySQL | ✓ | ✓ | ✓ | ✓ |
| MariaDB | ✓ | ✓ | ✓ | ✓ |
| SQL Server | ✓ | ✓ | ✗ | ✓ |
| MongoDB | ✓ | ✓ | ✗ | ✗ |
| Kubernetes | ✓ | ✗ | ✗ | ✗ |
Installation
Kviklet est livré sous forme d'un simple conteneur Docker.
Vous pouvez trouver les versions disponibles dans les Releases. Nous recommandons de mettre régulièrement à jour la version que vous utilisez, car nous continuons à développer de nouvelles fonctionnalités.
La dernière version actuelle est ghcr.io/kviklet/kviklet:0.10.0, vous pouvez également utiliser :main, mais il peut arriver de temps en temps que nous fusionnions accidentellement quelque chose de bogué. Bien que nous essayions de l'éviter.
Démarrage rapide
Si vous voulez simplement essayer comment cela fonctionne :
- Voici un docker-compose.yaml minimal :
Cliquez pour développer le contenu du compose