Kullanıcılara SQL Server SHOWPLAN izni verme riski var mı?


23

Büyük bir SQL server 2008 veritabanında performans ayarlaması yapıyorum ve BT grubu SHOWPLAN'a izin vermek istemiyor. Geçmişte, "Yürütme Planını Göster", bireysel sorguların ve prosedürlerin performansını anlamak için en etkili yol olmuştur.

Bu izni vermede doğabilecek riskler nelerdir? Bu kısıtlamanın veritabanının geliştirme kopyasında meşru bir gerekçesi var mı?

Not: Bu SQL BT grubu, tek bir SQL Server örneği altında 200+ veritabanına sahiptir. Teşekkürler.

Cevap : Aşağıda belirtilenlerden başka önemli güvenlik risklerinin olmadığı anlamına gelmediği için cevap eksikliği alıyorum. Temel olarak, bunu bir geliştirme veritabanında kısıtlamak verimsizdir.

Daha iyi bir cevapla karşılaşırsanız bunu güncelleyeceğim. Yorumlarınız için teşekkürler!

Yanıtlar:


19

Books Online'daki Showplan Güvenliği'ne bir göz atın ;

Sahip kullanıcılar SHOWPLAN, ALTER TRACEveya VIEW SERVER STATEizin gösterim planı çıktıda yakalanır sorguları görebilirsiniz. Bu sorgular, şifreler gibi hassas bilgiler içerebilir. Bu nedenle, bu izinleri yalnızca db_owner sabit veritabanı rolü üyeleri veya sysadmin sabit sunucu rolü üyeleri gibi hassas bilgileri görüntülemeye yetkili olan kullanıcılara vermenizi öneririz . Ayrıca, Showplan dosyalarını yalnızca Showplan ile ilgili olayları içeren dosyaları kaydetmenizi veya NTFS dosya sistemini kullanan bir yere kaydetmenizi ve hassas bilgileri görüntülemeye yetkili olan kullanıcılara erişimi kısıtlamanızı öneririz.

Örneğin, aşağıdaki sorguyu göz önünde bulundurun:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Kötü niyetli bir kullanıcının bu örnekte olduğu gibi sorgu kümesi için gösterim planı çıktı üretir ve farklı sabitleri ile yüklemi her "10" yerine, kullanıcı için sütun değerleri yaklaşık veri dağıtım anlaması olabilir column_1 içinde table_1 okuyarak tahmini satır sayar.

Bu risk özellikle bu tüm sorguları olacak bir gelişme sunucusudur verilen önemsiz görünüyor gelen devs ve BT insanlar değil, kullanıcıları.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.