2009-09-04 2 views
0

私はこのような何か行うことによって、特定のユーザーDBの視聴を拒否することができます。「セキュリティ」、「サーバーオブジェクト」、「レプリケーション」、および「管理」のビューを拒否しますか?

DENY VIEW ANY DATABASE TO Myuser 

をしかし、またから「セキュリティ」、「サーバー・オブジェクト」、「レプリケーション」と「管理」を否定する方法がありますSSMS経由でログインするときにリモートユーザが閲覧していますか?

ありがとうございました。

答えて

1

これらのSSMSカテゴリは、さまざまなサーバーサイド機能の集約です。たとえば、「セキュリティ」タブを選択すると、「ログイン」、「サーバーの役割」および「資格情報」が表示されます。 「ログイン」ノードを考えてみましょう:ログインを既存の

  • ショー、それはsys.server_principals景色であり、このカタログビュー内のオブジェクトの可視性は、エンティティ(ログイン)に制限されている現在のユーザーは所有権を持っているか持っていましたview definition以上の許可
  • 新しいログインを追加することができます。つまり、CREATE LOGINを意味し、これには​​またはALTER LOGINのアクセス権が必要です。
  • ログインを削除することができます。つまり、DROP LOGINを意味し、これには​​が必要です。

今、あなたは理論的には、ログインのビュー定義を拒否ALTERどれでもLOGINを否定し、ユーザ(複数可)にALTER LOGINを拒否していますが、ログインの所有権を拒否することができませんでした、ユーザーはそこに何かが表示されます(自分のログイン)。だから、それは失われた戦いです。隠すSSMSの他のパネルにも同様の推論を適用すると、同様の結果が得られます。

これは間違った角度から近づいています。セキュリティ決してはDENYに依存し、常にGRANTに依存しています。あなたのユーザーは、不必要な権利、期間を持つべきではありません。あなたは明白に何かを否定する必要はありません、いくつかの特別な状況をもたらす。

+0

ありがとうございます。私はこのユーザーの有効なアクセス許可がこれらのリソースへのアクセスを妨げることになると認識していますが、一般的に私はアクセスできないシステム内のすべてを見ているという考えが嫌いです... 私はあなたの助言を取るとちょうどそれを残す:) – Scott

関連する問題