# Veritabanı erişim denetimi nedir?

> Veritabanı erişim denetimi kimin veritabanına ulaşacağına, orada ne yapabileceğine ve sonuçta neyi görebileceğine karar verir. Mühendislik ekipleri için rehber.

- Güncelleme: 2026-10-13
- Kaynak: https://queryproxy.com/tr/veritabani-erisim-denetimi-nedir/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
Veritabanı erişim denetimi, bir kurumun şu üç şeye karar verme biçimidir: **kim
veritabanına ulaşabilir**, **oraya ulaştığında ne yapabilir** ve **sonuçta neyi
görebilir**. Çoğu ekibin birincisine tam, ikincisine kısmi, üçüncüsüne ise hiç
cevabı yoktur.

## Üç katman

### Kim bağlanabilir

Herkesin ilk kurduğu katman budur: ağ kuralları, bir bastion sunucu ya da VPN,
SSH anahtarları ve parola yöneticisinde tutulan kimlik bilgileri. Gerçek bir
soruyu cevaplar ve iyi cevaplar. Sınırı, işinin bağlantı kurulduğu anda bitmesidir.

### Ne yapabilir

Veritabanının kendi izin sistemi burada yaşar — `GRANT`, roller ve motorun
desteklediği yerlerde satır düzeyi güvenlik. Hem gerçekten güçlü hem de gerçekten
kabadır. Yalnızca okuma yetkisi veren bir rol, her satırın her kolonunda `SELECT`'e
izin verir. `UPDATE`'e izin veren bir rol, dikkatli bir tek satır değişikliğiyle
tüm tabloyu yeniden yazan `WHERE`'siz bir ifadeyi ayırt edemez.

### Neyi görebilir

Çoğu ekibin atladığı katman. Doğru kapsamlanmış bir okuma bile gerçek e-posta
adreslerini, gerçek telefon numaralarını ve gerçek kart numaralarını döndürür — bir
dizüstü bilgisayara, bir terminal geçmişine, bazen de çekildiği olaydan daha uzun
yaşayan bir tabloya.

## Katmanlar neden toplamda yetmiyor

Boşluk bir yapılandırma hatası değil, yapısaldır. Ağ denetimleri SQL okuyamaz.
Veritabanı yetkileri niyeti değerlendiremez. Hiçbiri sonucu maskeleyemez.

Dolayısıyla yaygın düzen — bir bastion, bir salt okunur rol ve kasadaki bir
kimlik bilgisi — gerçek bir boşluk bırakır: meşru bir gerekçesi olan, kimliği
doğrulanmış bir mühendis meşru görünen bir sorgu çalıştırır, maskesiz üretim
verisi alır ve geriye kalan tek kayıt bir bağlantının kurulduğudur.

## Bu boşluğu kapatan uygulamalar

**Gerçekten uygulanan en az yetki.** Okuma yeterliyse yalnızca okuma; tüm örnek
yerine tek şema; günlük ihtiyacı olmayana kalıcı üretim erişimi yok.

**Paylaşılan kimlik bilgisi yok.** İki kişinin bildiği bir parola, sahibi olmayan
bir paroladır. Her eylem bir kişiye kadar izlenebilmelidir.
[Paylaşılan parola olmadan üretim veritabanı erişimi](/tr/blog/paylasilan-parola-olmadan-uretim-veritabani-erisimi/)
yazısı alternatifi gösterir.

**Yalnızca kimliği değil ifadeyi de inceleyin.** SQL'i çalışmadan önce parse
etmek, kimlik doğrulamanın asla yakalayamayacağı `WHERE`'siz `UPDATE`'i ve sınırsız
`SELECT`'i yakalar.

**İkinci bir kişinin onayı.** Kod incelemesiyle aynı mantık: ucuzdur ve yazarın
kendi işinde göremediğini yakalar.

**Çıkışta maskeleyin.** Kişisel veri sonuçlar depolamaya akarken maskeleniyorsa,
sızdırılacak maskesiz bir kopya hiç var olmaz.

**Değiştirilemez biçimde kaydedin.** Kim istedi, kim onayladı, ne çalıştı, ne kadar
sürdü, neye dokundu — ekleme ve okumaya izin veren ama düzenlemeye izin vermeyen
bir depoda.

## Veritabanı motoruna göre

Fikir her motorda aynıdır, ama motorun kendi sunduğu şey ve bir korumanın neyi
engellemesi gerektiği farklıdır. Motora özgü sayfalar
[PostgreSQL](/tr/postgresql-erisim-denetimi/),
[MySQL ile MariaDB](/tr/mysql-mariadb-erisim-denetimi/) ve
[SQL Server](/tr/sql-server-erisim-denetimi/) konularını kapsar. SQLite hedefleri
de desteklenir: [SQL korumaları referansı](/tr/docs/sql-korumalari/#sqlite)
korumanın `ATTACH`, `DETACH`, `VACUUM ... INTO` ve `load_extension(` ifadelerini
engellediğini listeler; bir ayar da bağlantının hangi dosyaları açabileceğini
sınırlayabilir. QueryProxy'nin bir veritabanına ulaşmanın diğer yollarıyla nasıl
karşılaştığını görmek için [karşılaştırmaları](/tr/compare/) okuyun.

## Uyum

Denetçiler veritabanı erişimi için hep aynı soruyu sorar: veriye kim ulaşabilirdi,
bir değişikliği kim onayladı ve bunu gösterebiliyor musunuz? QueryProxy bu kanıtın
üretilmesine yardım eder; kimsenin denetimi geçmesini sağlamaz. Aşağıdaki her sayfa,
ilgili olduğu kontrolleri ve kurumunuzda kalan işleri listeler:

- [SOC 2 ve veritabanı erişim denetimi](/tr/soc-2-veritabani-erisim-denetimi/)
- [PCI DSS ve veritabanı erişim denetimi](/tr/pci-dss-veritabani-erisim-denetimi/)
- [ISO 27001 ve veritabanı erişim denetimi](/tr/iso-27001-veritabani-erisim-denetimi/)
- [GDPR ve veritabanı erişimi](/tr/gdpr-veritabani-erisimi/)
- [KVKK ve veritabanı erişim denetimi](/tr/kvkk-veritabani-erisim-denetimi/)

## QueryProxy nerede duruyor

QueryProxy ikinci ve üçüncü katmanları uygular ve birincisine zaten sahip
olduğunuzu varsayar. Geliştiriciler üretim kimlik bilgilerini hiç ellerinde
tutmaz; bir DBA'in kendilerine yetki verdiği bağlantılara SQL gönderirler.
İfadeler çalışmadan önce parse edilir. Bir DBA web kuyruğundan ya da bir Slack
kartından onaylar ve hiçbir DBA kendi talebini onaylayamaz — bunu yalnızca bir
yönetici geçersiz kılabilir ve bu geçersiz kılma denetim günlüğünde işaretlenir. Sonuçlar sınırlandırılmış,
diske değmeden kurallarınıza göre maskelenmiş ve uygulamanın düzenlemediği ya da
silmediği, yalnızca eklenen bir denetim günlüğüne kaydedilmiş olarak döner.

Ağ denetimlerinizin ya da veritabanınızın kendi yetkilerinin yerini almaz. İkisinin
arasında durup hiçbirinin soramadığı soruyu sorar: *bu ifade çalışmalı mı ve buna
kim daha katılıyor?*

Bir talebin uçtan uca nasıl ilerlediği için [girişi](/tr/docs/) okuyun ya da
alışılmış kurulumla farkı için [QueryProxy ile bastion sunucu
karşılaştırmasına](/tr/compare/bastion-host/) bakın.

Denetim ve uyum ekipleri için: QueryProxy'nin veri güvenliği tedbirlerine hangi
kanıtı üretmeye yardım ettiği [KVKK ve veritabanı erişim
denetimi](/tr/kvkk-veritabani-erisim-denetimi/) sayfasında anlatılır.

## Sık sorulanlar

### Veritabanı erişim denetimi nedir?

Veritabanı erişim denetimi, bir veritabanına kimin bağlanabileceğine, hangi işlemleri yapabileceğine ve sonuçta hangi veriyi görebileceğine karar veren kurallar ve mekanizmalar bütünüdür. Veritabanının kendi GRANT sistemini, ağ yolunu ve önündeki onay ya da maskeleme katmanını kapsar.

### Erişim denetimi ile kimlik doğrulama aynı şey mi?

Hayır. Kimlik doğrulama birinin kim olduğunu belirler. Erişim denetimi ise o kimliğin bundan sonra ne yapabileceğine karar verir. Bir sistem kimliği kusursuz doğrulayıp yine de her mühendisin üretimde DELETE çalıştırmasına izin verebilir, çünkü bunlar ayrı sorulardır.

### En az yetki ilkesi nedir?

Her kimliğe, işini yapmasına yetecek en dar izin kümesini vermek; ihtiyacını da kapsayan geniş bir rolü değil. Veritabanı diliyle bu, okuma yeterliyse yalnızca okuma, tüm örnek yerine tek bir şema ve günlük olarak ihtiyaç duymayan kimseye kalıcı üretim erişimi vermemek demektir.

### Rol tabanlı erişim denetimi neden tek başına yetmiyor?

Roller kabadır. Yalnızca okuma yetkisi olan bir rol bile her satırın her kolonunda SELECT'e izin verir, kişisel veriler dahil; UPDATE'e izin veren bir rol ise dikkatli bir tek satır güncellemesiyle tabloyu baştan yazan WHERE'siz bir ifadeyi ayırt edemez. Roller kimin işlem yapabileceğini söyler; belirli bir ifadeyi inceleyemez.
