国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

SQL SERVER 權限設置

[復制鏈接]
樓主
山海致遠 發(fā)表于 2014-11-11 00:39:31 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
概述      對數(shù)據(jù)庫系統(tǒng)而言,保證數(shù)據(jù)的安全性永遠都是最重要的問題之一。一個好的數(shù)據(jù)庫環(huán)境,必須明確每個用戶的職責,并分配其對應的權限。同時出現(xiàn)問題了也可以找到根源。
你是否會有這樣的需求:
  • 給某個用戶查詢所有數(shù)據(jù)庫的權限
  • 給某個用戶只有備份數(shù)據(jù)庫的權限
  • 給一個用戶只有指定數(shù)據(jù)庫的權限
  • 給一個用戶只有某個表的權限
  • 給一個用戶只有查看某些對象(例如:視圖)的權限
  • 給一個用戶只有執(zhí)行一些存儲過程的權限

目錄
  • 元素
    • 登入名
    • 角色
    • 用戶
    • 架構
  • 權限分配
    • 新建登入名
    • 給用戶分配數(shù)據(jù)庫查看權限
    • 給用戶查詢某個對象的權限
    • 授予用戶架構的權限
  • 查詢權限
  • 回收權限
  • 總結
元素文章可能會有些枯燥,還望耐心,相信應該有你想要的。
登入名
只有擁有了登入名才能訪問實例(sql server).
角色
角色是一類權限的組合。
  • 數(shù)據(jù)庫角色的擁有者可以是用戶也可以是數(shù)據(jù)庫角色本身,管理員可以創(chuàng)建數(shù)據(jù)庫角色,也可以勉強將數(shù)據(jù)庫角色理解為一組相同權限的用戶,為什么這么說呢,因為數(shù)據(jù)庫角色和數(shù)據(jù)庫用戶不允許存在同名。 SQL SERVER 權限設置 071505087377384.png
注意:不要將用戶創(chuàng)建的數(shù)據(jù)庫角色添加到固定的服務器數(shù)據(jù)庫角色當中去,否則將導致固定的數(shù)據(jù)庫角色的權限升級。
  • 服務器角色的擁有者只有登入名,服務器角色是固定的,用戶無法創(chuàng)建服務器角色。 SQL SERVER 權限設置 071507313468050.png
注意:一般不建議給用戶直接分配服務器角色,因為服務器角色是全局的,也就是說你擁有了服務器級別的權限,一般建議給用戶分配數(shù)據(jù)庫,然后給對應的數(shù)據(jù)庫分配數(shù)據(jù)庫角色權限。
用戶
      用戶是數(shù)據(jù)庫級的概念,數(shù)據(jù)庫用戶必須綁定具體的登入名,你也可以在新建登入名的時候綁定此登入名擁有的數(shù)據(jù)庫,當你綁定登入名數(shù)據(jù)庫后,數(shù)據(jù)庫默認就創(chuàng)建了此登入名同名的數(shù)據(jù)庫用戶,登入名與數(shù)據(jù)庫用戶之間就存在關聯(lián)關系,數(shù)據(jù)庫用戶是架構和數(shù)據(jù)庫角色的擁有者,即你可以將某個架構分配給用戶那么該用戶就擁有了該架構所包含的對象,你也可以將某個數(shù)據(jù)庫角色分配給用戶,此用戶就擁有該數(shù)據(jù)庫角色的權限。
架構
      架構是對象的擁有者,架構本身無權限,架構包含數(shù)據(jù)庫對象:如表、視圖、存儲過程和函數(shù)等,平時最常見的默認架構dbo.,如果沒指定架構默認創(chuàng)建數(shù)據(jù)庫對象都是以dbo.開頭,架構的擁有者是數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色、應用程序角色。用戶創(chuàng)建的架構和角色只能作用于當前庫。

理解了這些概念之后接下來就可以實踐了,接下來我們測試的都是服務器角色選擇public,只測試對數(shù)據(jù)庫權限的控制。
權限分配新建登入名
新建一個登入名person,只給登入名服務器角色分配public權限,不分配數(shù)據(jù)庫
SQL SERVER 權限設置 071530522991852.png SQL SERVER 權限設置 071531005035945.png
接下來用person登入實例,person用戶無法訪問任何數(shù)據(jù)庫,由于我們未給用戶分配任何數(shù)據(jù)庫。
SQL SERVER 權限設置 071542574872269.png
給用戶分配數(shù)據(jù)庫查看權限
只允許用戶查看AdventureWorks2008R2數(shù)據(jù)庫
SQL SERVER 權限設置 071614168786171.png
此時用戶可以查詢所有對象,但無法修改對象。
給用戶查詢某個對象的權限      如果覺得給用戶查看權限太大了,將da_datareader數(shù)據(jù)庫角色權限回收,你會發(fā)現(xiàn)用戶可以訪問數(shù)據(jù)庫,但是看不到任何對象。
    SQL SERVER 權限設置 071624410652680.png
只給用戶查看Person.Address表
USE AdventureWorks2008R2;GRANT SELECT ON OBJECT::Person.Address TO person;--或者使用USE AdventureWorks2008R2;GRANT SELECT ON Person.Address TO RosaQdM;GO
SQL SERVER 權限設置 071636249249512.png
擴展功能
--以下都是賦予用戶對表的dml權限[url=] SQL SERVER 權限設置 copycode.gif [/url]
---授予用戶person對表Person.Address的修改權限USE AdventureWorks2008R2;GRANT UPDATE ON Person.Address TO person;GO---授予用戶person對表Person.Address的插入權限USE AdventureWorks2008R2;GRANT INSERT ON Person.Address TO person;GO---授予用戶person對表Person.Address的刪除權限USE AdventureWorks2008R2;GRANT DELETE ON Person.Address TO person;

--授予用戶存儲過程dbo.prc_errorlog的執(zhí)行權限
GRANT EXECUTE ON dbo.prc_errorlog TO person
[url=][/url]

[url=][/url]
標量函數(shù)權限:EXECUTE、REFERENCES。
表值函數(shù)權限:DELETE、INSERT、REFERENCES、SELECT、UPDATE。
存儲過程權限:EXECUTE。
表權限:DELETE、INSERT、REFERENCES、SELECT、UPDATE。
視圖權限:DELETE、INSERT、REFERENCES、SELECT、UPDATE。
[url=][/url]

授予用戶架構的權限
新建數(shù)據(jù)庫角色db_persons
SQL SERVER 權限設置 071750216591898.png
新增架構
數(shù)據(jù)庫-安全性-架構
SQL SERVER 權限設置 071754576129392.png
架構包含數(shù)據(jù)庫對象
創(chuàng)建架構persons表
---創(chuàng)建架構persons的表CREATE TABLE Persons.sutdent(id int not null)
你會發(fā)現(xiàn)用戶同時有了Persons.sutdent表的查看權限,因為用戶是數(shù)據(jù)庫角色db_person的所有者,而db_person又是架構persons的所有者。
SQL SERVER 權限設置 071816101285532.png
創(chuàng)建一些persons架構的視圖,存儲過程
[url=][/url]
---創(chuàng)建視圖USE AdventureWorks2008R2GOCREATE VIEW Persons.vwsutdentASSELECT * FROM Persons.sutdentGOUSE AdventureWorks2008R2GO---創(chuàng)建存儲過程CREATE PROCEDURE Persons.SP_sutdent(@OPTION NVARCHAR(50))ASBEGIN    SET NOCOUNT ON    IF @OPTION='Select'    BEGIN    SELECT * FROM Persons.sutdent    ENDEND [url=][/url]

SQL SERVER 權限設置 071829405495244.png

詳細的GRANT功能可以查詢2008r2連接叢書:

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

手機版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 02:10

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表