Bugün, çalıştığım bir firmaya hizmet veren başka bir firmadaki bir arkadaştan şöyle bir e-posta aldım:
"Ekrem Bey Merhaba,
SQL bağlantısı için izin istiyoruz. Bir de dün açılan X_user yetkisi yeterli olmadı sanırım. X veritabanı için mi sysadmin hakkıyla bağlantı izni rica ediyoruz."
Kendi içimde verdiğim ilk ilkel tepkiyi pas geçiyorum, medeni tepkimin yansıması aşağıdaki gibi oldu:
"Merhabalar,
…
"sysadmin" yetkisi yapacağınız işin boyutunu çok aşan bir yetki ve bu yetkiyi size tabii ki veremeyiz. Dün arkadaşınıza verdiğim yetkiyi verdim yine X_user'a, işlemlerinizi kendi kullanıcınız olan bu kullanıcıyla yapabilirsiniz. Eğer bir yetki sorunuyla karşılaşırsanız bana danışın lütfen."
Ardından yine aynı firmada çalışan, ama başka bir arkadaştan şöyle bir e-posta geldi:
Büyük bir ihtimalle dün X beye verdiğiniz yetki ile işlemleri yapamadığı için sorun oldu. Aşağıda sizin sunucuya bağlanıp tablonun dizaynını açtığımdaki görüntü ve hata mesajı var (Görüldüğü gibi kolonlar yok)."
Yukarıdaki e-postayı gönderen arkadaş aşağıdaki ekran görüntüsünü eklemiş:
|Designer|
"Designer için db_owner yetkisi gerekli, sizde bu yetki yok, ama yeni alan eklemeniz için gerekli yetkiler var. Bu işlemler Designer kullanarak yapılmamalı, çok tehlikeli. Misal Designer, yerli yersiz bazı işlemler için tüm tabloyu silip sıfırdan oluşturma yöntemini uyguluyor.
Bunun yerine yapacağınız işlemleri kod ile yapmalısınız.
ALTER TABLE ... ADD
" ... gibi
5 dakika sonrasında aynı arkadaşlardan gelen e-posta şöyle:
"Tamamdır Ben düzeltmeleri yapabildim Ekrem Bey. işim bitti. Bilginize."
Diyeceğim o ki arkadaşlar, sevgili yazılımcı arkadaşlarımız veritabanı yöneticilerini hep az yetki vermekle suçlar, yokuş yapmakla suçlar (yıllar oldu, beni Denizbank'ta hala "Yokuş Ekrem" diye ananlar varmış, geliyor kulağıma ha!); ama çoğu zaman aslında verilen yetkiler yeterlidir. Sırf birileri yetki istiyor diye hemen vermeyin onlara istedikleri yetkiyi. Talebi sorgulayın, her şeyi sorgulayın (biraz felsefe).
Fazla yetki sahibi olmak, büyük sorumluluk, çoğu zaman yazılımcılar ilk etapta bunun yükünü anlayamıyorlar. Ancak ne zaman bir veritabanını, tabloyu vs siliyorlar veya yanlış işler yapıyorlar, o zaman anlıyorlar fazla yetkinin sıkıntısını. Günlük kullanımlık aracınızın 1000 beygirlik olması gibidir "sysadmin" yetkisiyle üretim ortamında çalışmak. Bunun tehlikelerini lütfen yeri geldiğinde yazılımcılarınıza anlatın.
Ekrem Önsoy