點擊查看:2015計算機等級考試四級數(shù)據(jù)庫工程師復習匯總
第14章 安全管理
14.1 安全控制
14.1.1 安全控制模型
身份驗證 操作權控制 文件操作控制 加密存儲與冗余
14.1.2 數(shù)據(jù)庫權限的種類及用戶的分類
1、 權限的種類
(1) 對DBMS進行維護的權限;
(2) 對數(shù)據(jù)庫中的對象和數(shù)據(jù)進行操作的權限。
(A) 對數(shù)據(jù)庫對象的權限,包括創(chuàng)建、刪除和修改數(shù)據(jù)庫對象;
(B) 對數(shù)據(jù)庫數(shù)據(jù)的操作權限,包括對表、視圖數(shù)據(jù)的增、刪、改、查權限。
2、 數(shù)據(jù)庫用戶的分類
(1) 數(shù)據(jù)庫系統(tǒng)管理員(sa):在數(shù)據(jù)庫中具有全部的權限;
(2) 數(shù)據(jù)庫對象擁有者:對其所擁有的對象具有一切權限;
(3) 普通用戶:只具有對數(shù)據(jù)庫數(shù)據(jù)的增、刪、改、查權限。
14.2 SQL Server 的安全控制
1、 用戶訪問SQL Server 數(shù)據(jù)庫中的數(shù)據(jù)中,必須經(jīng)過三個認證過程
(1) 身份認證:驗證用戶是否有連接到數(shù)據(jù)庫服務器的“連接權”;
(2) 驗證用戶是否數(shù)據(jù)庫的合法用戶;
(3) 驗證數(shù)據(jù)庫用戶是否具有要進行的操作的操作權限。
2、 SQL Server的用戶有兩種類型:
(1) Windows授權用戶:來自Windows的用戶或組;
(2) SQL授權用戶:來自于非Windows的用戶,也將這種用戶稱為SQL用戶。
3、 SQL Server 為不同用戶類型提供不同的安全認證模式:
(1) Windows 身份驗證模式:允許Windows NT或Windows 2000用戶連接到SQL Server,在這種模式下,SQL Server將通過Windows來獲得用戶信息,并對賬號和密碼進行重新驗證,當使用Windows身份驗證模式時,用戶必須先登錄到Windows,然后再登錄到SQL Server;
(2) 混合驗證模式:表示SQL Server接受Windows授權用戶和SQL授權用戶。
14.3 管理SQL Server 登錄賬戶
14.3.1 系統(tǒng)內置的登錄賬戶
1、 BUILTIN\Administrators:是一個Windows組賬戶,表示所有的Windows Administrators(系統(tǒng)管理員)組中的用戶都可以登錄到SQL Server,此組中的成員同是具有SQL Server的系統(tǒng)管理員權限;
2、 Sa:SQL Server驗證模式的系統(tǒng)管理員賬戶;
3、 域名\Administrators: Windows的系統(tǒng)管理員同時也是SQL Server的合法用戶,并且具有SQL Server的系統(tǒng)管理員權限。
14.3.2 建立登錄賬戶
1、 使用企業(yè)管理器建立登錄賬戶
2、 使用系統(tǒng)存儲過程建立登錄賬戶
(1) 建立SQL Server身份驗證的登錄賬戶:
sp_addlogin [@loginame=]’login’[,[@passwd=]’password’][,[@defdb=]’database’]
其中:
(A)[@loginame=]’login’:登錄賬戶名;
(B)[@passwd=]’password’:登錄密碼;
(C)[@defdb=]’database’:連接的數(shù)據(jù)庫。
(2) 建立Windows身份驗證的登錄賬戶
sp_grantlogin [@loginame=]’login’
其中:[@loginame=]’login’為要添加的Windows NT用戶或組的名稱,Windows NT組和用戶必須用Windows NT域名限定,格式為“域\用戶”
14.3.3 刪除登錄賬戶
1、 使用企業(yè)管理器刪除登錄賬戶;
2、 使用系統(tǒng)存儲過程刪除登錄賬戶:
(1)刪除SQL Server身份驗證的登錄賬戶:
sp_droplogin [@loginame=]’login’
其中:[@loginame=]’login’:將被刪除的登錄賬戶名;
(2)刪除Windows身份驗證的登錄賬戶
sp_revokelogin [@loginame=]’login’
其中:[@loginame=]’login’為要刪除的Windows NT用戶或組的名稱,Windows NT組和用戶必須用Windows NT域名限定,格式為“域\用戶”
14.4 管理數(shù)據(jù)庫用戶
14.4.1 建立數(shù)據(jù)庫用戶
1、 使用企業(yè)管理器建立數(shù)據(jù)庫用戶;
2、 使用系統(tǒng)存儲過程建立數(shù)據(jù)庫用戶:
sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]
其中:
(1)[@ loginame=]’login’:登錄賬戶名,login必須是已有的SQL Server登錄賬戶或Windows NT用戶名
(2)[@name_in_db=]’user’:新數(shù)據(jù)庫用戶名,如沒有指定,則user與login名相同;
(3)[@grpname=]’group’:角色名,新用戶自動地成為此角色的成員,group必須是當前數(shù)據(jù)庫已有的角色。
14.4.2 刪除數(shù)據(jù)庫用戶
1、使用企業(yè)管理器刪除數(shù)據(jù)庫用戶;
2、使用系統(tǒng)存儲過程建立數(shù)據(jù)庫用戶:
sp_dropuser[@name_in_db=]’user’
14.5 管理權限
14.5.1 SQL Server權限種類
1、 對象權限:指用戶對數(shù)據(jù)庫中的表、視圖等對象中數(shù)據(jù)的操作權限,相當于數(shù)據(jù)庫操作語言(DML)的語句權限;
2、 語句權限:相當于數(shù)據(jù)定義語言(DDL)的語句權限,專指是否允許執(zhí)行:CREATE TABLE、CREATE VIEW等與創(chuàng)建數(shù)據(jù)庫對象有關的操作;
3、 隱含權限:指數(shù)據(jù)庫管理系統(tǒng)預定義的服務器角色、數(shù)據(jù)庫角色、數(shù)據(jù)庫擁有者和數(shù)據(jù)庫對象擁有者所具有的權限
14.5.2 權限的管理
權限的管理包括:
(1) 授予權限:允許用戶或角色具有某種操作權;
(2) 收回權限:不允許用戶或角色具有某種操作權,或收回曾經(jīng)授予的權限;
(3) 拒絕訪問:拒絕某用戶或角色具有某種操作權限;
1、 使用企業(yè)管理器管理數(shù)據(jù)庫用戶權限;
2、 使用企業(yè)管理器管理語句權限;
3、 使用Transact-SQL語句管理對象權限
(1) GRANT語句:用于授權;
GRANT 對象權限名 [,…]ON{表名|視圖名|存儲過程名}
TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]
(2) REVOKE語句:用于收回權限;
REVOKE 對象權限名 [,…]ON{表名|視圖名|存儲過程名}
TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]
(3) DENY語句:用于拒絕權限。
DENY 對象權限名 [,…]ON{表名|視圖名|存儲過程名}
TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]
4、使用Transact-SQL語句管理語句權限
(1)授權語句:
GRANT 對象權限名 [,…] TO {數(shù)據(jù)庫用戶名|用戶角色名}[,…]
(2)收權語句;
REVOKE 對象權限名 [,…] FROM {數(shù)據(jù)庫用戶名|用戶角色名}[,…]
(3)拒絕權限。
DENY 對象權限名 [,…] TO {數(shù)據(jù)庫用戶名|用戶角色名}[,…]
14.6 角色
14.6.1 固定的服務器角色
是在服務器級上定義,這些角色具有完成特定服務器級管理活動的權限,用戶不能添加、刪除或更改固定的服務器角色。用戶的登錄賬戶可以添加到固定的服務器角色中,使其成為服務器角色中的成員,從而具有服務器角色的權限。
固定的服務器角色描述
Sysadmin可在SQL Server中進行任何活動,該角色的權限包含了所有其它固定的服務器角色權限
Serveradmin配置服務器范圍的設置
Setupadmin添加和刪除鏈接服務器,并執(zhí)行某些系統(tǒng)存儲過程
Securityadmin管理服務器登錄賬戶
Processadmin管理在SQL Server實例中運行的進程
Dbcreator創(chuàng)建、更改和刪除數(shù)據(jù)庫
Diskadmin管理磁盤文件
bulkadmin執(zhí)行BULK INSERT語句
固定的服務器角色的成員是系統(tǒng)的登錄賬戶,系統(tǒng)內置的
(1) BUILTIN\Administrators組;
(2) Sa
(3) 域名\Administrators
自動是sysadmin角色中的成員。
1、 添加固定的服務器角色成員
(1) 用企業(yè)管理器實現(xiàn);
(2) 用系統(tǒng)存儲過程實現(xiàn);
sp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’
其中:
[@loginame=]’login’:添加到固定服務器角色的登錄名稱;
[@rolename=]’role’:要將登錄添加到的固定服務器角色的名稱。
2、 刪除固定的服務器角色成員
14.6.2 固定的數(shù)據(jù)庫角色
是在數(shù)據(jù)庫級別上定義,用戶不能添加、刪除或更改固定的服務器角色。用戶的登錄賬戶可以添加到固定的數(shù)據(jù)庫角色中,使其成為成員,從而具有數(shù)據(jù)庫角色的權限。
固定的數(shù)據(jù)庫角色描述
Db_owner在數(shù)據(jù)庫中擁有全部權限
Db_accessadmin可以添加或刪除用戶ID
Db_securityadmin可以管理數(shù)據(jù)庫角色和角色成員,并管理數(shù)據(jù)庫中的語句權限和對象權限
Db_ddladmin可以建立、修改和刪除數(shù)據(jù)庫對象(運行所有的DDL語句)
Db_backupoperator可以進行數(shù)據(jù)庫的備份、恢復操作
Db_datareader可以查詢數(shù)據(jù)庫中所有用戶表中的數(shù)據(jù)
Db_datawriter可以更改數(shù)據(jù)庫中所有用戶表中的數(shù)據(jù)
Db_denydatareader不允許查詢數(shù)據(jù)庫中所有用戶表中的數(shù)據(jù)
Db_denydatawriter不允許更改數(shù)據(jù)庫中所有用戶表中的數(shù)據(jù)
public默認不具有任何權限,但用戶可對此角色進行授權
其中public角色是一個特殊的角色:
(1) 數(shù)據(jù)庫中的每個用戶都自動地是public角色成員,用戶不能從public角色中添加和刪除成員;
(2) 用戶可以對這個角色進行授權。
1、添加固定的數(shù)據(jù)庫角色成員
(1) 用企業(yè)管理器實現(xiàn);
(2) 用系統(tǒng)存儲過程實現(xiàn);
sp_addrolemember [@rolename=]’role’,[@membername=]’security_account’
其中:
[@rolename=]’role’:當前固定數(shù)據(jù)庫中的角色名稱;
[@membername=]’security_account’:添加到角色中的用戶名。
2、刪除固定的數(shù)據(jù)庫角色成員
14.6.3 用戶自定義的角色
屬于數(shù)據(jù)庫一級的角色,用戶可根據(jù)實際工作職能定義一系列角色,并給每個角色授予合適的權限。只需將數(shù)據(jù)庫用戶放置到合適的角色中即可。
1、建立用戶自定義庫角色
(1) 用企業(yè)管理器實現(xiàn);
(2) 用系統(tǒng)存儲過程實現(xiàn);
sp_addrole [@rolename=]’role’,[@ownername=]’owner’
其中:
[@rolename=]’role’:新的角色名稱;
[@ownername=]’owner’:新角色的所有者。
3、 為用戶定義的角色授權;
4、 添加和刪除用戶自定義角色成員
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |