ユーザーにSQL Server SHOWPLAN権限を付与することにリスクはありますか?


23

私は大規模なSQL Server 2008データベースでパフォーマンスチューニングを行っていますが、ITグループはSHOWPLAN権限を与えたくありません。これまで、「実行計画の表示」は、個々のクエリとプロシージャのパフォーマンスを理解する最も効果的な方法でした。

この許可を与えることにはどのようなリスクが伴いますか?データベースの開発コピーに対するこの制限の正当な正当性はありますか?

注:このSQL ITグループには、単一のSQL Serverインスタンスの下に200以上のデータベースがあります。ありがとう。

回答:以下に示すものを除き、重大なセキュリティリスクがないことを意味するように、応答がないと考えています。基本的に、開発データベースでこれを制限すると逆効果になります。

誰かがより良い答えを思いついた場合、私はこれを更新します。コメントしてくれてありがとう!

回答:


19

Books OnlineのShowplan Securityご覧ください。

、、または権限を持つユーザーはSHOWPLAN、Showplan出力でキャプチャされたクエリを表示できます。これらのクエリには、パスワードなどの機密情報が含まれる場合があります。したがって、これらのアクセス許可は、db_owner固定データベースロールのメンバーやsysadmin固定サーバーロールのメンバーなど、機密情報を表示する権限があるユーザーにのみ付与することをお勧めします 。また、Showplan関連のイベントを含むShowplanファイルまたはトレースファイルのみをNTFSファイルシステムを使用する場所に保存し、機密情報を表示する権限があるユーザーにアクセスを制限することをお勧めします。ALTER TRACEVIEW SERVER STATE

たとえば、次のクエリを検討してください。

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

悪意のあるユーザが、異なる定数を持つ述語でたびに、この例のようなクエリのセットのためのプラン表示出力を生成し、値を置き換え「10」場合、ユーザはの列の値のおおよそのデータ分布を推測できたCOLUMN_1のtable_1を読み取ることによって推定行数。

このリスクは特に、これは、すべてのクエリは次のようになり、開発サーバ、ある与えられた、無視できるようですから、開発者やITの人、いないユーザー。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.