Üretim verisine erişim, üretim parolası dağıtmadan.
QueryProxy, ekibinizle veritabanlarınızın arasında durur. Geliştiriciler SQL gönderir, DBA’ler web’den ya da Slack’ten onaylar; sonuçlar sınırlanmış, maskelenmiş ve baştan sona denetlenmiş olarak döner.
$ docker run -p 7432:7432 queryproxy/queryproxyQueryProxy nedir?
QueryProxy, açık kaynak ve kendi sunucunuzda çalışan bir veritabanı erişim denetimi ve sorgu onay portalıdır: mühendislik ekibinizle üretim veritabanlarınızın arasında durur, böylece geliştiriciler üretim parolalarını hiç ellerine almadan gerçek veriyle çalışabilir.
Parola paylaşmak ya da geçici tüneller açmak yerine her okuma ve her yazma tek bir yoldan ilerler: korumalı SQL düzenleyicide gönderilir, çalıştırılmadan önce parse edilir, bir DBA tarafından web kuyruğundan ya da Slack’ten onaylanır, ardından asenkron çalıştırılır; sonuçlar sınırlandırılmış, kurallarınıza göre maskelenmiş ve yalnızca eklenen bir denetim günlüğüne yazılmış olarak döner. Kendi sunucularınızda, AGPL-3.0 altında çalışır ve tek bir docker run ile başlar.

Nasıl çalışır
Adım adım SQL sorgu onay akışı
Her sorgu aynı güvenli yoldan geçer
Paylaşılan parolalar, geçici tüneller, "şunu benim için çalıştırır mısın?" mesajları yok — her okuma ve yazma için tek akış.
Gönder
Geliştiriciler, DBA’in kendilerine tanımladığı bağlantılar üzerinde korumalı bir editörde SQL yazar — kimlik bilgileri kasadan asla çıkmaz.
Denetle
AST denetleyicisi WHERE’siz UPDATE/DELETE’i reddeder, LIMIT ekler ve sınırlar, sunucu düzeyinde kod çalıştırma ya da dosya erişimi veren komutları doğrudan engeller.
Onayla
DBA’ler web kuyruğundan ya da doğrudan Slack / Teams’ten karar verir. Kendi sorgusunu onaylamak engellidir (admin geçersiz kılması işaretlenir); her karar denetim günlüğüne yazılır, sohbet geri çağrıları HMAC ile imzalanır.
Çalıştır
Kuyruk işçisi sonuçları satır satır akıtır, kurallarınızla eşleşen değerleri diske değmeden maskeler ve olan biten her şeyi denetim günlüğüne yazar.

Özellikler
Mühendislik ekipleri için veritabanı erişim denetimi
"Bunu çalıştırabilir miyim?" ile sonuç arasındaki her şey
Parse ederek uygulanan SQL korumaları
İfadeler desenle değil, gerçekten çözümlenerek denetlenir. WHERE’siz yıkıcı sorgular veritabanına asla ulaşmaz; başıboş SELECT’ler sabit bir üst sınırda kesilir.
Onaylar, ekibinizin yaşadığı yerde
Slack’te etkileşimli Approve / Reject düğmeleri; Teams’te talebe doğrudan bağlanan bir kart ve sohbetten karar veren akışlar için HMAC doğrulamalı bir action endpoint. Her geri çağrı HMAC-SHA256 ile doğrulanır ve yalnızca o talebe bağlı, tek kullanımlık bir token taşır — sahte ya da tekrarlanmış bir tıklama hiçbir şeyi değiştirmez.
Dinamik veri maskeleme
Kolon deseni ve içerik regex kuralları; e-postaları, kartları ve gizli değerleri sonuçlar yazılırken maskeler — kurallarınızla eşleşen değerler sonuç saklanmadan önce maskelenir; saklanan sonuç onları hiçbir zaman maskesiz içermez.
İzole takımlar ve roller
Takım başına DBA, Developer ve Auditor rolleri, bunların üstünde sistem genelinde bir Admin. Bağlantılar, talepler ve denetim izleri takım sınırını asla aşmaz; her bağlantıya erişim geliştirici bazında verilir.
Asenkron ve bellek dostu
Onaylanan sorgular istek döngüsünde değil, bir işçide çalışır. Cursor akışı sayesinde sonuç ister on satır olsun ister on bin, bellek kullanımı sabit kalır.
Yalnızca eklenen denetim günlüğü
Kim istedi, kim onayladı, ne çalıştı, ne kadar sürdü, neye dokundu. Uygulama kayıtları yalnızca ekler ve okur — ne düzenler ne siler; denetçiler filtreleyebilir, CSV olarak dışa aktarabilir.

Güvenlik
Üretim verisinin korunması, tasarım gereği
Güvenlik, bu ürünün var olma nedeni.
QueryProxy, kimsenin üretime kalıcı erişime ihtiyaç duymaması için var. Onu en az yetkili, salt okunur bir veritabanı kullanıcısıyla birlikte kullanın: SQL koruması derinlemesine savunmanın bir katmanıdır, veritabanı yetkilerinin yerini tutmaz.
Bir açık mı buldunuz?Güvenlik politikamıza.
AES-256 ile şifreli kimlik bilgileri
Sunucular, kullanıcı adları ve parolalar bekleme hâlinde şifrelidir — günlüklere veya hata mesajlarına asla düşmez.
İmzalı sohbet geri çağrıları
Her Slack ve Teams aksiyonunda HMAC-SHA256, ±5 dakikalık tekrar penceresi ve talep başına tek kullanımlık bir aksiyon token’ı. İmzalama secret’ını yalnızca sistem yöneticisi girebilir.
Kendine onay yok
Kimse kendi sorgusuna yeşil ışık yakamaz. Admin geçersiz kılmaları vardır — ve denetim günlüğünde işaretlenir.
İki adımlı doğrulama
Kurtarma kodlu, isteğe bağlı TOTP; rol bazında zorunlu kılabileceğiniz kurulum genelinde bir gereksinim.
Yazım anında maskeleme
Maskeleme sonuç akışının içinde çalışır — kurallarınızla eşleşen değerler sonuç deposuna hiçbir zaman maskesiz yazılmaz.
Yalnızca eklenen denetim izi
Uygulama denetim kayıtlarını ekler ve okur; güncelleme ve silme hata fırlatır. Bu, veritabanı tarafından değil uygulama katmanında sağlanır.
Her yerde hız sınırı
Giriş ve webhook uçları kısıtlanır; başarısız girişler otomatik olarak yavaşlatılır.
Hızlı başlangıç
QueryProxy’yi Docker ile iki dakikada kurun
Kahveniz soğumadan ayakta
Tek bir konteyner portalı, kuyruk işçisini ve zamanlayıcıyı başlatır. Varsayılan SQLite, sıfır harici servis — büyüdüğünüzde ortam değişkenleriyle MySQL/PostgreSQL ve Redis’e geçersiniz.
- Redis yok, harici kuyruk yok — varsayılan olarak veritabanı tabanlı
- Dokümanlar Slack ve Teams kurulumunu adım adım anlatır
- İsteğe bağlı demo takım — her rolü iki ortam değişkeniyle deneyin
$ docker run -d --name queryproxy \ -p 7432:7432 -v queryproxy-data:/var/www/html/storage/app \ -e [email protected] \ -e QUERYPROXY_ADMIN_PASSWORD=... queryproxy/queryproxy $ open http://localhost:7432 ✓ portal · işçi · zamanlayıcı tek konteynerde çalışıyor
SSS
Sık sorulan sorular
- QueryProxy nedir?
- QueryProxy, açık kaynak ve kendi sunucunuzda çalışan bir veritabanı erişim denetimi ve sorgu onay portalıdır. Geliştiriciler korumalı bir düzenleyiciden SQL gönderir, bir DBA bunu web’den ya da Slack’ten onaylar veya reddeder; onaylanan sorgu asenkron çalışır ve sonuçlar sınırlandırılmış, maskelenmiş ve denetlenmiş olarak döner.
- QueryProxy ücretsiz mi?
- Evet. QueryProxy, AGPL-3.0 lisansıyla ücretsiz ve açık kaynaktır; ücretli sürümü ve kullanıcı başına fiyatlandırması yoktur. Kendi altyapınızda çalıştırdığınız için tek maliyet, üzerinde çalıştığı sunucudur.
- Hangi veritabanlarını destekliyor?
- PostgreSQL, MySQL, MariaDB, Microsoft SQL Server ve SQLite. SQL Server sürücüsü kodda vardır ama yayımlanan Docker imajı onsuz gelir; SQL Server için Microsoft’un ODBC sürücüsünü içeren özel bir imaj gerekir. Bağlantılar takım bazında bir DBA tarafından tanımlanır ve her geliştiriciye veritabanı sunucusunun tamamı yerine belirli bağlantılar için yetki verilir.
- Geliştiriciler üretim parolalarını görüyor mu?
- Hayır. Kimlik bilgileri uygulamada AES-256 ile şifreli saklanır; tarayıcıya gönderilmez, loglara yazılmaz ve hata mesajlarında görünmez. Geliştirici bağlantıyı adıyla seçer, sorguyu onun adına QueryProxy çalıştırır.
- Bastion sunucudan veya VPN’den farkı ne?
- Bastion sunucu veritabanına kimin ulaşacağını denetler; ulaşan kişinin ne çalıştırdığını göremez. QueryProxy ifadenin kendisini inceler — WHERE’siz UPDATE ve DELETE’i reddeder, kontrolsüz SELECT’leri sınırlar, sonuçtaki kişisel veriyi maskeler — ve her onayın kim tarafından verildiğini kaydeder. İkisi sorunun farklı yarılarını çözer ve çoğu zaman birlikte kullanılır.
- Sorgular Slack veya Microsoft Teams üzerinden onaylanabilir mi?
- Evet. Slack’te talep, Approve ve Reject düğmeleri olan etkileşimli bir kart olarak gelir. Teams’te kart, talebe giden bir bağlantı taşır ve kararlar HMAC doğrulamalı bir action endpoint üzerinden — tipik olarak bir Power Automate akışıyla — verilir. Her geri çağrı HMAC-SHA256 imzası, tekrar oynatma penceresi ve yalnızca o talebe bağlı tek kullanımlık bir token ile doğrulanır; dolayısıyla sahte ya da tekrarlanmış bir tıklama hiçbir şeyi değiştirmez. Sohbetten onaylamak, web kuyruğundan onaylamakla aynı anlama gelir.
- Docker olmadan çalışır mı?
- Evet. QueryProxy standart bir Laravel uygulamasıdır ve PHP 8.3 veya üzeri, Composer ve Node.js 20.19+ ya da 22.12+ bulunan her sunucuya elle kurulabilir. Tek bir docker run en hızlı yoldur — tek konteyner portalı, kuyruk işçisini ve zamanlayıcıyı başlatır.
- Veriler saklanmadan önce mi maskeleniyor?
- Evet. Maskeleme, satırlar yazılırken sonuç akışının içinde çalışır; kurallarınızla eşleşen bir değer sonuç deposuna hiçbir zaman maskesiz ulaşmaz. Kurallar *email* veya *card* gibi kolon desenleriyle ya da içerik regexleriyle eşleşir. Yeni takımlar varsayılan kurallarla başlar; mevcut takımlar kendi kurallarını ekler ve hiçbir kuralın kapsamadığı kolon olduğu gibi döner.
Her üretim sorgusunun önüne bir onay koyun.
Ücretsiz, açık kaynak, kendi sunucunuzda. Yıldızlayın, çatallayın, bu gece çalıştırın.