我們的應用程序需要兩種類型的用戶(每一個應用程序的用戶需要進行數據庫訪問自己的憑據)授予角色SQL Server數據庫的用戶創建用戶並授予/改變的作用,但限制改變數據庫對象
- 聯繫
我們已經創建了一個用戶General User
具有下列權限一般用戶:
- 可以瀏覽存儲過程/函數,但不允許查看裏面
- 只能選擇表的代碼,但不能插入/更新/刪除存儲過程的執行外
我創建了一個角色並補充General User
它:
CREATE ROLE proc_executor
GRANT EXECUTE TO proc_executor
GRANT SELECT TO proc_executor
現在我需要用下面的權限Admin
角色:
- 持有
General User
所有角色,這已經是可用 - 創建新用戶,無論是數據庫和服務器
- 阿爾特角色添加新用戶
有用於Admin
一些限制。他們只能執行存儲過程並從表中選擇。
我的研究,人們已經建議增加角色像db_accessadmin
,db_securityadmin
,sp_addrolemember
(未找到),這是不足以創建新的用戶,並同時打破了限制。
允許創建用戶權限並且限制漫步存儲過程代碼似乎很棘手。 SA的許可持有我們,我們不能允許客戶玩數據庫。
任何人都可以幫我嗎?
你說什麼「我們從'sa'user'創建了用戶'General User'?用戶可以通過登錄創建,但不能通過「sa」登錄創建任何用戶 – sepupic
我們通過用戶(默認用戶)登錄並創建了另一個用戶,包括數據庫和服務器。 – aadhikari
創建用戶/登錄時如何登錄並不重要。你能確切地說明你做了什麼,而不是你做了什麼登錄。什麼登錄/用戶,你創建了什麼權限,或者你什麼都沒有創建,你的問題是用戶和創建什麼權限。 – sepupic