用戶賬戶及角色權(quán)限管理

一.SQL Server的安全機(jī)制

SQL Server的整個(gè)安全體系結(jié)構(gòu)從順序上可以分為認(rèn)證和授權(quán)兩個(gè)部分杖狼,其安全機(jī)制可以分為5個(gè)層級(jí)蝶涩。
(1)客戶機(jī)安全機(jī)制
(2)網(wǎng)絡(luò)傳輸?shù)陌踩珯C(jī)制
(3)實(shí)例級(jí)別安全機(jī)制
(4)數(shù)據(jù)庫(kù)級(jí)別安全機(jī)制
(5)對(duì)象級(jí)別安全機(jī)制
這些層級(jí)由高到低,所有的層級(jí)之間相互聯(lián)系嗽上,用戶只有用過了高一層的安全驗(yàn)證熄攘,才能繼續(xù)訪問數(shù)據(jù)庫(kù)中低一層級(jí)的內(nèi)容。

二.與數(shù)據(jù)庫(kù)安全相關(guān)的對(duì)象

在SQL Server中浅萧,與數(shù)據(jù)庫(kù)安全相關(guān)的對(duì)象主要有用戶哲思、角色、權(quán)限等帝簇,只有了解了這些對(duì)象的作用,才能靈活地設(shè)置和使用這些對(duì)象残揉,從而提高數(shù)據(jù)庫(kù)的安全性闪湾。
(1)數(shù)據(jù)庫(kù)用戶
能夠使用數(shù)據(jù)庫(kù)的用戶,可以為不同數(shù)據(jù)庫(kù)設(shè)置不同的用戶,從而提高數(shù)據(jù)庫(kù)訪問的安全性何暇。
(2)用戶權(quán)限
通過給用戶權(quán)限凛驮,每個(gè)數(shù)據(jù)庫(kù)用戶對(duì)回有不同的訪問權(quán)限,如:用戶只能查詢不能更新數(shù)據(jù)宏胯。用戶權(quán)限主要分為系統(tǒng)權(quán)限和對(duì)象權(quán)限兩種本姥。系統(tǒng)權(quán)限是指在某個(gè)數(shù)據(jù)庫(kù)上執(zhí)行某些操作的權(quán)限婚惫,或針對(duì)某一類對(duì)象進(jìn)行操作的權(quán)限,對(duì)象權(quán)限主要是針對(duì)數(shù)據(jù)庫(kù)對(duì)象執(zhí)行某些操作的權(quán)限艰管,如對(duì)表的增刪改查等蒋川。
(3)角色
角色相當(dāng)于Windows操作系統(tǒng)中的用戶組,可以集中管理數(shù)據(jù)庫(kù)或服務(wù)器的權(quán)限缸浦。使用角色具有以下有點(diǎn)懒构。

  • 權(quán)限管理更方便。將角色賦予多個(gè)用戶絮姆,實(shí)現(xiàn)不同用戶相同的授權(quán)。如果需要修改這些用戶的權(quán)限蚁阳,只需修改角色即可鸽照。
  • 角色權(quán)限可以激活和關(guān)閉矮燎。
  • 提高性能,使用角色減少了數(shù)據(jù)字典中授權(quán)記錄的數(shù)量澜沟,通過關(guān)閉角色使得在語(yǔ)句執(zhí)行過程中減少了權(quán)限的確認(rèn)峡谊。

(4)數(shù)據(jù)庫(kù)對(duì)象
數(shù)據(jù)庫(kù)對(duì)象包括表、索引濒析、視圖啥纸、觸發(fā)器、規(guī)則和存儲(chǔ)過程馒索,創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的用戶是數(shù)據(jù)庫(kù)對(duì)象的所有者名船,數(shù)據(jù)庫(kù)對(duì)象可以授予其他用戶使用其擁有對(duì)象的權(quán)力渠驼。
(5)系統(tǒng)管理員
系統(tǒng)管理員是負(fù)責(zé)管理SQL Server全面性能和綜合應(yīng)用的管理員,簡(jiǎn)稱sa百揭。系統(tǒng)管理員的工作包括安裝SQL Server蜓席、配置服務(wù)器、管理和監(jiān)視磁盤空間祈秕、內(nèi)存和連接的使用、創(chuàng)建設(shè)備和數(shù)據(jù)庫(kù)志鞍、確認(rèn)用戶和授權(quán)許可等方仿。
(6)許可系統(tǒng)
使用許可可以增加SQL Server數(shù)據(jù)庫(kù)的安全性仙蚜,SQL Server許可系統(tǒng)指定那些用戶被授予使用那些數(shù)據(jù)庫(kù)對(duì)象的操作,指定許可的能力由每個(gè)用戶的狀態(tài)決定黍翎。

三.登陸賬戶的管理

1.創(chuàng)建登陸賬戶

--需要在本地用戶和組中創(chuàng)建DataBaseAdmin這個(gè)用戶艳丛,才能在數(shù)據(jù)庫(kù)該登陸用戶
CREATE LOGIN [DESKTOP-D17RDQA\DataBaseAdmin] FROM WINDOWS
WITH DEFAULT_DATABASE=my_db;
--創(chuàng)建登陸賬戶
CREATE LOGIN dba WITH PASSWORD='abc1234@',
default_database=my_db

2.修改登陸賬戶

--將DBAdmin登陸名修改為NewAdmin
ALTER LOGIN DBAdmin WITH NAME=BD_Admin

3.刪除登陸賬戶

DROP LOGIN BD_Admin

4.在數(shù)據(jù)庫(kù)中添加用戶

--在數(shù)據(jù)庫(kù) my_db 中建立一個(gè)“數(shù)據(jù)庫(kù)用戶”氮双,賦予這個(gè)“數(shù)據(jù)庫(kù)用戶”
-- 某些訪問權(quán)限霎匈,并且把登陸帳戶“dba” 和這個(gè)“數(shù)據(jù)庫(kù)用戶” 映射起來铛嘱。
CREATE USER dba FOR LOGIN dba WITH default_schema=my_db

四.SQL Server的角色管理

使用登陸賬戶可以連接到服務(wù)器,但是如果不為登陸賬戶分配權(quán)限球匕,則依然無法對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行訪問和管理帖烘。
按照角色的作用范圍,可以將其分為4類:固定服務(wù)器角色照卦、數(shù)據(jù)庫(kù)角色乡摹、自定義數(shù)據(jù)庫(kù)角色和應(yīng)用程序角色聪廉,角色相當(dāng)于Windows操作系統(tǒng)中的用戶組故慈,可以集中管理數(shù)據(jù)庫(kù)或服務(wù)器的權(quán)限图云。
1.固定服務(wù)器角色
(1)服務(wù)器角色中添加了SQL Server登陸名竣况、Windows賬戶和WIdows組。固定服務(wù)器角色的每個(gè)成員都可以向其所屬角色添加其他登陸名情萤。

固定服務(wù)器角色 說明
sysadmin 執(zhí)行SQL Server中的任何動(dòng)作
serveradmin 配置服務(wù)器設(shè)置
setupadmin 安裝復(fù)制和管理擴(kuò)展過程
securityadmin 管理登錄和CREATE DATABASE的權(quán)限以及閱讀審計(jì)
processadmin 管理SQL Server進(jìn)程
dbcreator 創(chuàng)建和修改數(shù)據(jù)庫(kù)
diskadmin 管理磁盤文件

(2)給登陸賬戶添加固定服務(wù)器角色

--exec sp_addsrvrolemember '登陸賬戶','固定服務(wù)器角色'
exec sp_addsrvrolemember 'dba','sysadmin'

2.固定數(shù)據(jù)庫(kù)角色
(1)數(shù)據(jù)庫(kù)角色是針對(duì)某個(gè)具體數(shù)據(jù)庫(kù)的權(quán)限分配的筋岛,數(shù)據(jù)庫(kù)用戶可以作為數(shù)據(jù)庫(kù)角色的 成員晒哄,繼承數(shù)據(jù)庫(kù)角色的權(quán)限,數(shù)據(jù)庫(kù)管理人員也可以通過管理角色的權(quán)限來管理數(shù)據(jù)庫(kù)用戶的權(quán)限柒傻。

固定數(shù)據(jù)庫(kù)角色 說 明
db_owner 可以執(zhí)行數(shù)據(jù)庫(kù)中技術(shù)所有動(dòng)作的用戶
db_accessadmin 可以添加较木、刪除用戶的用戶
db_datareader 可以查看所有數(shù)據(jù)庫(kù)中用戶表內(nèi)數(shù)據(jù)的用戶
db_datawriter 可以添加伐债、修改或刪除所有數(shù)據(jù)庫(kù)中用戶表內(nèi)數(shù)據(jù)的用戶
db_ddladmin 可以在數(shù)據(jù)庫(kù)中執(zhí)行所有DDL操作的用戶
db_securityadmin 可以管理數(shù)據(jù)庫(kù)中與安全權(quán)限有關(guān)所有動(dòng)作的用戶
db_backoperator 可以備份數(shù)據(jù)庫(kù)的用戶(并可以發(fā)布DBCC和CHECKPOINT語(yǔ)句峰锁,這兩個(gè)語(yǔ)句一般在備份前都會(huì)被執(zhí)行)
db_denydatareader 不能看到數(shù)據(jù)庫(kù)中任何數(shù)據(jù)的用戶
db_denydatawriter 不能改變數(shù)據(jù)庫(kù)中任何數(shù)據(jù)的用戶

(2)給用戶添加固定數(shù)據(jù)庫(kù)角色
--為當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)角色添加數(shù)據(jù)庫(kù)用戶、數(shù)據(jù)庫(kù)角色祖今、Windows 登錄名或 Windows 組校坑。

--通過加入數(shù)據(jù)庫(kù)角色,賦予數(shù)據(jù)庫(kù)用戶“db_owner”權(quán)限
EXEC sp_addrolemember 'db_owner','dba'

3.應(yīng)用程序角色
應(yīng)用程序角色能夠其自身千诬、類似用戶的權(quán)限來運(yùn)行耍目,它是一個(gè)數(shù)據(jù)庫(kù)主體。只允許通過特定應(yīng)用程序連接的用戶訪問特定數(shù)據(jù)徐绑。
與服務(wù)器角色和數(shù)據(jù)庫(kù)角色不同邪驮,SQL Server中的應(yīng)用程序角色在默認(rèn)情況下不包含任何成員,并且應(yīng)用程序角色必須激活后才能發(fā)揮作用傲茄。當(dāng)激活某個(gè)應(yīng)用程序角色之后毅访,連接將失去用戶權(quán)限沮榜,轉(zhuǎn)而獲得應(yīng)用程序權(quán)限。
應(yīng)用程序角色的特殊之處

  • 應(yīng)用程序角色使應(yīng)用程序能夠用其自身的蟆融、類似用戶的特權(quán)來運(yùn)行。使用
    應(yīng)用程序角色可以只允許通過特定應(yīng)用程序連接的用戶訪問特定數(shù)據(jù)守呜。
  • 與數(shù)據(jù)庫(kù)角色不同的是型酥,應(yīng)用程序角色默認(rèn)情況下不包含任何成員,而且是非活動(dòng)
    的查乒,必須激活之后才能發(fā)揮作用弥喉。
  • 應(yīng)用程序角色有密碼,只有擁有應(yīng)用程序角色并且擁有正確密碼的用戶才
    可以激活該角色玛迄。
  • 當(dāng)激活某個(gè)應(yīng)用程序角色之后由境,用戶會(huì)失去自己原有的權(quán)限,轉(zhuǎn)而擁有應(yīng)
    用程序角色的權(quán)限蓖议。
    1.創(chuàng)建應(yīng)用角色
--創(chuàng)建名稱為App_User的應(yīng)用程序角色
CREATE APPLICATION ROLE App_User
WITH PASSWORD='123pwd'

2.激活應(yīng)用角色

EXECUTE sp_setapprole 應(yīng)用角色名稱,應(yīng)用角色密碼
EXECUTE sp_setapprole 'FinancialRole','123pwd'
--激活應(yīng)用角色后虏杰,連接將失去用戶權(quán)限,轉(zhuǎn)而獲得應(yīng)用程序權(quán)限勒虾。
--只能對(duì)有應(yīng)用角色的數(shù)據(jù)庫(kù)進(jìn)行激活嘹屯,激活后在‘執(zhí)行’處只能看到擁有應(yīng)用角色的數(shù)據(jù)庫(kù)
--使用SQL語(yǔ)句將提示無權(quán)限
SELECT * FROM employee
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市从撼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钧栖,老刑警劉巖低零,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拯杠,居然都是意外死亡掏婶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門潭陪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雄妥,“玉大人,你說我怎么就攤上這事依溯±涎幔” “怎么了?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵黎炉,是天一觀的道長(zhǎng)枝秤。 經(jīng)常有香客問我,道長(zhǎng)慷嗜,這世上最難降的妖魔是什么淀弹? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任丹壕,我火速辦了婚禮,結(jié)果婚禮上薇溃,老公的妹妹穿的比我還像新娘菌赖。我一直安慰自己,他們只是感情好沐序,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布琉用。 她就那樣靜靜地躺著,像睡著了一般薄啥。 火紅的嫁衣襯著肌膚如雪辕羽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天垄惧,我揣著相機(jī)與錄音刁愿,去河邊找鬼。 笑死到逊,一個(gè)胖子當(dāng)著我的面吹牛铣口,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播觉壶,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼脑题,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了铜靶?” 一聲冷哼從身側(cè)響起叔遂,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎争剿,沒想到半個(gè)月后已艰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚕苇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年哩掺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩笤。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚼吞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹬碧,到底是詐尸還是另有隱情舱禽,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布锰茉,位于F島的核電站呢蔫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜片吊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一绽昏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俏脊,春花似錦全谤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至漫萄,卻和暖如春卷员,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腾务。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工毕骡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岩瘦。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓未巫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親启昧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叙凡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359