Apakah ada risiko untuk memberikan izin kepada pengguna SQL Server SHOWPLAN?

23

Saya sedang melakukan beberapa tuning kinerja pada database SQL server 2008 besar, dan grup TI tidak mau memberikan izin SHOWPLAN. Di masa lalu, "Tampilkan Rencana Eksekusi" telah menjadi cara paling efektif untuk memahami kinerja permintaan dan prosedur individual.

Risiko apa yang melekat pada pemberian izin ini? Apakah ada justifikasi yang sah untuk pembatasan ini pada salinan pengembangan database?

Catatan: Grup IT SQL ini memiliki 200+ basis data dalam satu contoh SQL Server. Terima kasih.

Jawaban : Saya menganggap kurangnya tanggapan berarti tidak ada risiko keamanan yang signifikan, selain yang disebutkan di bawah ini. Pada dasarnya, membatasi ini pada database pengembangan adalah kontraproduktif.

Saya akan memperbarui ini jika ada yang memberikan jawaban yang lebih baik. Terima kasih atas komentar Anda!

RaoulRubin
sumber

Jawaban:

19

Lihatlah Showplan Security di Books Online, yang mengatakan:

Pengguna yang memiliki SHOWPLAN,, ALTER TRACEatau VIEW SERVER STATEizin dapat melihat kueri yang ditangkap dalam output Showplan. Pertanyaan ini mungkin berisi informasi sensitif seperti kata sandi. Oleh karena itu, kami menyarankan Anda hanya memberikan izin ini kepada pengguna yang berwenang untuk melihat informasi sensitif, seperti anggota peran basis data tetap db_owner , atau anggota peran server tetap sysadmin . Kami juga menyarankan Anda hanya menyimpan file Showplan atau melacak file yang berisi acara terkait Showplan ke lokasi yang menggunakan sistem file NTFS, dan bahwa Anda membatasi akses ke pengguna yang berwenang untuk melihat informasi sensitif.

Misalnya, perhatikan permintaan berikut:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Jika pengguna jahat menghasilkan output Showplan untuk serangkaian pertanyaan seperti contoh ini, dan mengganti nilai "10" dalam predikat dengan konstanta yang berbeda setiap kali, pengguna dapat menyimpulkan perkiraan distribusi data dari nilai kolom untuk kolom_1 dalam tabel_1 dengan membaca perkiraan jumlah baris.

Risiko ini memang tampak dapat diabaikan, terutama mengingat ini adalah server pengembangan, di mana semua pertanyaan akan berasal dari pengembang dan orang-orang TI, bukan pengguna.

Paul White mengatakan GoFundMonica
sumber