如何創建僅允許讀取特定數據庫的某些視圖的MS SQL服務器用戶?MSSQL:只允許閱讀某些視圖的有限帳戶?
4
A
回答
11
下面是一個腳本,它創建一個新用戶並給他在特定視圖上僅選擇權限。
USE [master]
GO
CREATE LOGIN [LimitedUser] WITH PASSWORD=N'testPass',
DEFAULT_DATABASE=[master],
CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [TestDB]
GO
CREATE USER [LimitedUser] FOR LOGIN [LimitedUser]
GO
use [TestDB]
GO
GRANT SELECT ON [dbo].[myView] TO [LimitedUser]
GO
編輯
而不是做這個特定用戶的你可能要考慮使用替代的作用。
USE [TestDB]
GO
CREATE ROLE [LimitedRole]
GO
GRANT SELECT ON [dbo].[TestView] TO [LimitedRole]
GO
EXEC sp_addrolemember N'LimitedRole', N'LimitedUser'
GO
,如果你有一個Windows Authenitcation模式多個用戶,例如,你可能有很多用戶通過這種方式,都可以被授權訪問這個角色。通過這種方式添加/刪除視圖,您不必觸碰每個用戶。
2
這樣做的訣竅是不給任何明確的公共角色的權限。每個用戶都是不可撤銷的角色的成員,因此無法阻止任何DB的用戶擁有您向Public提供的任何權利。
從除此之外,您只需將用戶添加到相應的數據庫,並只給他們權利,你有興趣的對象
相關問題
- 1. 創建視圖只允許帳戶
- 2. wsHttpBinding,只允許某些帳戶訪問服務
- 3. 只允許某些用戶編輯ASPxGridView
- 4. 只允許某些事件
- 5. 只允許某些字符
- 6. 我可以只允許某些視圖在iframe中呈現嗎?
- 7. 只允許某些類型的屬性
- 8. 只允許PHP中的某些字符
- 9. 只允許某些操作併發
- 10. 允許NodeJS只控制某些目錄
- 11. RDiscount:只允許使用某些標籤
- 12. 檢查contraint只允許某些字符
- 13. C++ 11只允許繼承某些類
- 14. firebase只允許設置某些屬性
- 15. 這隻會允許某些擴展嗎?
- 16. 只允許某些人查看文件
- 17. 做fsockopen只允許某些服務器?
- 18. 只閱讀xls的某些專欄
- 19. 限制模板功能,只允許某些類型
- 20. 只允許用戶只讀訪問woocommerce
- 21. Rails的用戶PARAMS只允許某些特定屬性
- 22. 只允許HTML格式的某些用戶輸入
- 23. 只允許某些HTML標籤的用戶輸入
- 24. 允許用戶在C#中只輸入某些數字,只有整數?
- 25. MQTT訂閱#主題允許用戶閱讀所有消息嗎?
- 26. WordPress的,允許某些用戶查看某些頁面
- 27. 允許nginx的閱讀docker.sock
- 28. 如何讓某些表爲只讀但允許用戶創建新表?
- 29. 只允許具有許多權限的MySQL用戶選擇
- 30. 只允許某些IP地址在Laravel註冊用戶5.2
喬希:好答案。就像來自無辜旁觀者的奇怪查詢一樣,有沒有辦法通過創建登錄GUI界面以相同的路線結束? – TheTXI 2009-04-14 13:43:47