2009-09-04 48 views

回答

1

這些SSMS類別是各種服務器端功能的集合。舉例來說,'安全'選項卡顯示'登錄','服務器角色'和'憑證'。考慮了「登錄」節點:

  • 顯示現有登錄,即過sys.server_principals並且在該目錄視圖中的對象的可見性的視圖被限制爲實體(登錄),在其當前用戶具有所有權或具有view definition權限。
  • 允許添加新的登錄信息,也就是說CREATE LOGIN,這又需要​​或ALTER LOGIN權限。
  • 允許刪除登錄,這意味着DROP LOGIN,這需要​​。

現在你可以在理論上否認VIEW DEFINITION上登錄,拒絕ALTER ANY LOGIN和拒絕ALTER LOGIN用戶(一個或多個),但你將無法否認所有權登錄,所以用戶仍然會看到那裏(自己的登錄)。所以這是一場失敗的戰鬥。您可以將類似的推理應用於您要隱藏的SSMS中的任何其他面板,並且您將達到類似的結果。

這就是說,你是從錯誤的角度來接近這個。安全從不依靠DENY,總是依靠GRANT。你的用戶不應該有任何不必要的權利,期限。你不應該明確否認任何事情,只是在某些特殊情況下。

+0

感謝Remus。我知道這個用戶的有效權限將阻止他們訪問這些資源,但通常我只是不喜歡他們看到他們無法訪問的系統中的所有內容... 我會採取你的建議,只是讓它成爲:) – Scott 2009-09-04 21:13:07