Назад к обновлениям
New releaseAug 19, 2026

kviklet v0.8.0

Процесс рецензирования/утверждения запросов к базе данных по аналогии с Pull Request. Для соответствующего требованиям, но при этом беспрепятственного доступа инженеров к продакшену.

Поделиться

Kviklet

Kviklet.dev | Примечания к выпуску | Discord

Безопасный доступ к производственным средам без ущерба для продуктивности разработчиков.

Kviklet Kviklet

Kviklet (произносится Quick-let) применяет принцип «четырёх глаз» к доступу к производственным базам данных, с рабочим процессом проверки и утверждения, подобным pull request, для отдельных SQL-запросов или сессий базы данных с ограничением по времени. Инженеры могут проверять и утверждать запросы друг друга, не направляя каждый запрос через DBA или команду эксплуатации.

Kviklet разворачивается самостоятельно и работает как Docker-контейнер с базой данных PostgreSQL для хранения состояния приложения. Его веб-интерфейс позволяет отправлять, проверять и выполнять запросы. Дополнительная корпоративная лицензия открывает аутентификацию SAML, требования к проверке на основе ролей, синхронизацию ролей, API-ключи, прокси базы данных и MCP-сервер для ИИ-агентов. Запросите корпоративную лицензию на kviklet.dev.

Поддерживаемые базы данных: Postgres, MySQL, MariaDB, MS SQL Server и MongoDB.

Модель доступа

Мы рекомендуем подключить Kviklet к вашему существующему провайдеру идентификации. Kviklet поддерживает SSO через OIDC (Google, Keycloak и др.) или SAML (только для корпоративной версии), а также аутентификацию LDAP (Active Directory и др.).
Затем пользователи создают запросы для подключений, которые сопоставлены с конкретным пользователем базы данных. Эти запросы бывают двух типов:

  • Одиночный запрос: конкретный SQL-запрос, отправленный на проверку.
  • Временный доступ: сессия с ограничением по времени, в рамках которой можно выполнить несколько запросов.

В зависимости от конфигурации запросы проверяются и утверждаются другими пользователями, прежде чем Kviklet разрешит выполнение.

Kviklet подключается к базе данных от имени пользователя. Пароль базы данных подключения никогда не показывается пользователю.

Администратор может настроить, какая роль имеет доступ к какому подключению и какие этапы проверки требуются для выполнения. Доступ на уровне базы данных управляется через механизмы RBAC самой базы данных. Например, можно создать роль только для чтения для подключения только для чтения и назначить для него меньше требований к проверке, чем для подключения для записи.

Kviklet записывает выполненные запросы и связывает их с пользователем и запросом на доступ. Для полного охвата ручного доступа к базе данных ограничьте прямые подключения и направляйте любой ручной доступ через Kviklet. Инженерам не нужно получать или передавать учётные данные базовой базы данных.

Дополнительные корпоративные функции включают:

  • SAML: Поддержка аутентификации SAML.
  • Прокси (Postgres, MariaDB, MySQL): Используйте предпочитаемый клиент базы данных через утверждённую сессию временного доступа с временным паролем. Выполненные запросы записываются в журнал аудита Kviklet.
  • Этапы проверки на основе ролей: Требовать утверждения от определённых ролей перед выполнением.
  • Синхронизация ролей: Автоматическая синхронизация ролей пользователей из групп вашего провайдера идентификации.
  • API-ключи: Программный доступ к API Kviklet.
  • MCP-сервер: Подключение ИИ-агентов, таких как Claude Code или Codex, к Kviklet. Они действуют с правами самого пользователя и проходят те же проверки.
Дополнительные скриншоты

Запросы

Все запросы на доступ к данным находятся в одном месте. Как открытые PR для ваших производственных баз данных:

Requests Requests

Живые сессии

Утверждённый запрос на временный доступ открывает живую SQL-сессию прямо в браузере:

Live Session Live Session

Журнал аудита

Каждый выполненный запрос записывается — независимо от того, выполнялся ли он как проверенный одиночный запрос, в живой сессии или через прокси базы данных:

audit log audit log

Функции по типу базы данных/подключения

Большинство функций доступно для всех баз данных (SSO, LDAP, RBAC, процесс проверки/утверждения, журнал аудита и т. д.). Но некоторые функции ограничены — либо потому, что они ещё просто не реализованы, либо потому, что они не имеют смысла для конкретного назначения. В следующей таблице показано, какие функции доступны для какого типа базы данных:

База данныхПроверка запросовВременный доступПрокси (бета)План выполнения
Postgres✓✓✓✓
MySQL✓✓✓✓
MariaDB✓✓✓✓
SQL Server✓✓✗✓
MongoDB✓✓✗✗
Kubernetes✓✗✗✗

Установка

Kviklet поставляется как простой docker-контейнер. Доступные версии можно найти в разделе Releases. Мы рекомендуем регулярно обновлять используемую версию, так как мы продолжаем добавлять новые функции.
Последняя на данный момент — ghcr.io/kviklet/kviklet:0.10.0, также можно использовать :main, но иногда может случиться, что мы случайно смёржим что-то с ошибками. Хотя мы стараемся этого избегать.

Быстрый старт

Если вы просто хотите попробовать, как это работает:

  1. Вот минимальный docker-compose.yaml:

    Нажмите, чтобы развернуть содержимое compose
    services:
      postgres:
        image: postgres:16
        restart: always
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: postgres
          POSTGRES_DB: postgres
        ports:
          - "5432:5432"
        volumes:
          - ./postgres-data:/var/lib/postgresql/data
    #      - ./sample_data.sql:/docker-entrypoint-initdb.d/init.sql
    
      kviklet-postgres:
        image: postgres:16
        restart: always
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: postgres
          POSTGRES_DB: kviklet
        ports:
          - "5433:5432"
        volumes:
          - ./kviklet-postgres-data:/var/lib/postgresql/data
    

Категории