มีความเสี่ยงใด ๆ หรือไม่ในการให้สิทธิ์ผู้ใช้ SQL Server SHOWPLAN


23

ฉันกำลังปรับแต่งประสิทธิภาพบางอย่างบนฐานข้อมูล SQL Server 2008 ขนาดใหญ่และกลุ่มไอทีไม่ต้องการให้สิทธิ์ SHOWPLAN ในอดีต "แสดงแผนการดำเนินการ" เป็นวิธีที่มีประสิทธิภาพที่สุดในการทำความเข้าใจประสิทธิภาพของคำสั่งและขั้นตอนต่างๆ

มีความเสี่ยงอะไรบ้างในการให้สิทธิ์นี้ มีเหตุผลที่ถูกต้องสำหรับข้อ จำกัด นี้ในสำเนาการพัฒนาของฐานข้อมูลหรือไม่?

หมายเหตุ: กลุ่ม SQL IT นี้มีฐานข้อมูลมากกว่า 200 รายการภายใต้อินสแตนซ์ SQL Server เดียว ขอบคุณ

คำตอบ : ฉันกำลังขาดการตอบสนองหมายความว่าไม่มีความเสี่ยงด้านความปลอดภัยที่สำคัญนอกเหนือจากที่ระบุไว้ด้านล่าง โดยทั่วไปการ จำกัด สิ่งนี้ไว้ในฐานข้อมูลการพัฒนานั้นเป็นการต่อต้าน

ฉันจะอัปเดตสิ่งนี้หากมีคำตอบที่ดีกว่า ขอบคุณสำหรับความคิดเห็นของคุณ!

คำตอบ:


19

ดูที่Showplan Securityใน Books Online ซึ่งพูดว่า:

ผู้ใช้ที่ได้SHOWPLAN, ALTER TRACEหรือVIEW SERVER STATEได้รับอนุญาตสามารถดูคำสั่งที่ได้รับการบันทึกในการส่งออก Showplan ข้อความค้นหาเหล่านี้อาจมีข้อมูลที่ละเอียดอ่อนเช่นรหัสผ่าน ดังนั้นเราขอแนะนำให้คุณให้สิทธิ์เหล่านี้แก่ผู้ใช้ที่ได้รับอนุญาตให้ดูข้อมูลที่ละเอียดอ่อนเช่นสมาชิกของ บทบาทฐานข้อมูลถาวรdb_ownerหรือสมาชิกของบทบาทเซิร์ฟเวอร์ถาวรsysadmin เราขอแนะนำให้คุณบันทึกเฉพาะไฟล์ Showplan หรือไฟล์ติดตามที่มีเหตุการณ์ที่เกี่ยวข้องกับ Showplan ไปยังตำแหน่งที่ใช้ระบบไฟล์ NTFS และคุณ จำกัด การเข้าถึงผู้ใช้ที่ได้รับอนุญาตให้ดูข้อมูลที่ละเอียดอ่อน

ตัวอย่างเช่นพิจารณาแบบสอบถามต่อไปนี้:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

หากผู้ใช้ที่เป็นอันตรายผลิตออก Showplan สำหรับชุดของคำสั่งเช่นตัวอย่างนี้และแทนที่ค่า "10" ในกริยาที่มีค่าคงที่ที่แตกต่างกันในแต่ละครั้งที่ผู้ใช้จะสามารถสรุปการกระจายข้อมูลโดยประมาณของค่าคอลัมน์สำหรับcolumn_1ในtable_1โดยการอ่าน จำนวนแถวโดยประมาณ

ความเสี่ยงนี้ดูเหมือนเล็กน้อยโดยเฉพาะอย่างยิ่งเมื่อเป็นเซิร์ฟเวอร์การพัฒนาซึ่งการสืบค้นทั้งหมดจะมาจาก devs และบุคลากรด้านไอทีไม่ใช่ผู้ใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.