0
我可以做這樣的事情拒絕特定用戶DB觀看:SQL Server 2005 - 拒絕查看「安全」,「服務器對象」,「複製」和「管理」?
DENY VIEW ANY DATABASE TO Myuser
但是,有沒有辦法也否認了「安全」,「服務器對象」,「複製」和「管理」,從遠程用戶在通過SSMS登錄時是否正在查看?
謝謝。
我可以做這樣的事情拒絕特定用戶DB觀看:SQL Server 2005 - 拒絕查看「安全」,「服務器對象」,「複製」和「管理」?
DENY VIEW ANY DATABASE TO Myuser
但是,有沒有辦法也否認了「安全」,「服務器對象」,「複製」和「管理」,從遠程用戶在通過SSMS登錄時是否正在查看?
謝謝。
這些SSMS類別是各種服務器端功能的集合。舉例來說,'安全'選項卡顯示'登錄','服務器角色'和'憑證'。考慮了「登錄」節點:
sys.server_principal
s並且在該目錄視圖中的對象的可見性的視圖被限制爲實體(登錄),在其當前用戶具有所有權或具有view definition權限。CREATE LOGIN
,這又需要或ALTER LOGIN
權限。DROP LOGIN
,這需要。現在你可以在理論上否認VIEW DEFINITION上登錄,拒絕ALTER ANY LOGIN和拒絕ALTER LOGIN用戶(一個或多個),但你將無法否認所有權登錄,所以用戶仍然會看到那裏(自己的登錄)。所以這是一場失敗的戰鬥。您可以將類似的推理應用於您要隱藏的SSMS中的任何其他面板,並且您將達到類似的結果。
這就是說,你是從錯誤的角度來接近這個。安全從不依靠DENY,總是依靠GRANT。你的用戶不應該有任何不必要的權利,期限。你不應該明確否認任何事情,只是在某些特殊情況下。
感謝Remus。我知道這個用戶的有效權限將阻止他們訪問這些資源,但通常我只是不喜歡他們看到他們無法訪問的系統中的所有內容... 我會採取你的建議,只是讓它成爲:) – Scott 2009-09-04 21:13:07