




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章數(shù)據(jù)庫安全性第四章數(shù)據(jù)庫安全性1第四章數(shù)據(jù)庫安全性問題提出數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享例:軍事秘密、國家機密、市場營銷策略、銷售計劃、客戶檔案、銀行儲蓄數(shù)據(jù)數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞1第四章數(shù)據(jù)庫安全性問題提出2第四章數(shù)據(jù)庫安全性數(shù)據(jù)庫中數(shù)據(jù)的共享是在DBMS統(tǒng)一嚴格的控制之下的共享,即只允許有合法使用權限的用戶訪問允許他存取的數(shù)據(jù)數(shù)據(jù)庫系統(tǒng)的安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標之一數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全性,包括計算機硬件、操作系統(tǒng)、網(wǎng)絡系統(tǒng)等的安全性,是緊密聯(lián)系相互支持的2第四章數(shù)據(jù)庫安全性數(shù)據(jù)庫中數(shù)據(jù)的共享是在DBMS統(tǒng)一嚴格3本章內容4.1SQLServer2019的安全機制4.2建立和管理用戶賬戶4.3權限管理4.4角色管理4.5數(shù)據(jù)庫架構3本章內容4.1SQLServer2019的安全機制4本章內容4.1SQLServer2019的安全機制4.2建立和管理用戶賬戶4.3權限管理4.4角色管理4.5數(shù)據(jù)庫架構4本章內容4.1SQLServer2019的安全機制54.1SQLServer2019的安全機制SQLServer2019的身份驗證模式指系統(tǒng)確認用戶的方式在SQLServer2019支持兩種身份驗證模式:Windows驗證模式和SQLServer驗證模式。54.1SQLServer2019的安全機制SQLS64.1SQLServer2019的安全機制SQLServer2019的身份驗證模式Windows身份驗證:用戶登錄Windows時進行身份驗證,登錄SQLServer時不再進行身份驗證。說明:必須將Windows賬戶加入到SQLServer中,才能采用Windows賬戶登錄SQLServer。SQLServer身份驗證:使用SQLServer中的帳號和密碼來登錄數(shù)據(jù)庫服務器,而這些帳號和密碼與Windows操作系統(tǒng)無關。64.1SQLServer2019的安全機制SQLS74.1SQLServer2019的安全機制SQLServer2019的安全性機制主要是通過SQLServer的安全性主體和安全對象來實現(xiàn)。SQLServer2019的安全性主體有3個級別服務器級別數(shù)據(jù)庫級別架構級別74.1SQLServer2019的安全機制SQLS84.1SQLServer2019的安全機制服務器級別安全對象:登錄名和固定服務器角色等。登錄名用于登錄數(shù)據(jù)庫服務器,而固定服務器角色用于給登錄名賦予相應的服務器權限。SQLServer2019中的登錄名包括Windows登錄名和SQLServer登錄名。Windows登錄名對應Windows驗證模式,該驗證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。SQLServer登錄名對應SQLServer驗證模式,在該驗證模式下,能夠使用的賬戶類型主要是SQLServer賬戶。84.1SQLServer2019的安全機制服務器級別94.1SQLServer2019的安全機制數(shù)據(jù)庫級別安全對象:用戶和角色等。用戶安全對象是用來訪問數(shù)據(jù)庫的。如果某人只擁有登錄名,而沒有在相應的數(shù)據(jù)庫中為其創(chuàng)建登錄名所對應的用戶,則該用戶只能登錄數(shù)據(jù)庫服務器,而不能訪問相應的數(shù)據(jù)庫。創(chuàng)建登錄名所對應的數(shù)據(jù)庫用戶,系統(tǒng)為該用戶自動具有public角色。該用戶登錄數(shù)據(jù)庫后只擁有一些公共的權限,如果想讓該用戶擁有一些特殊權限,可將其添加到相應的角色中。94.1SQLServer2019的安全機制數(shù)據(jù)庫級別104.1SQLServer2019的安全機制架構級別安全對象:表、視圖、函數(shù)和存儲過程等。架構的作用是將數(shù)據(jù)庫中的所有對象分成不同的集合,這些集合沒有交集,每一個集合就稱為一個架構。數(shù)據(jù)庫中的每一個用戶都會有自己的默認架構。這個默認架構可以在創(chuàng)建數(shù)據(jù)庫用戶時由創(chuàng)建者設定,若不設定則系統(tǒng)默認架構為dbo。數(shù)據(jù)庫用戶只能對屬于自己架構中的數(shù)據(jù)庫對象執(zhí)行相應的數(shù)據(jù)操作。至于操作的權限則由數(shù)據(jù)庫角色決定。例如,若某數(shù)據(jù)庫中的表A屬于架構S1,表B屬于架構S2,而某用戶默認的架構為S2,如果沒有授予用戶操作表A的權限,則該用戶不能對表A執(zhí)行相應的數(shù)據(jù)操作。但是,該用戶可以對表B執(zhí)行相應的操作。104.1SQLServer2019的安全機制架構級別114.1SQLServer2019的安全機制一個數(shù)據(jù)庫使用者,要登錄服務器上的SQLServer數(shù)據(jù)庫,并對數(shù)據(jù)庫中的表執(zhí)行數(shù)據(jù)更新操作,則該使用者必須經(jīng)過如圖所示的安全驗證。114.1SQLServer2019的安全機制一個數(shù)據(jù)本章內容4.1SQLServer2019的安全機制4.2建立和管理用戶賬戶4.3權限管理4.4角色管理4.5數(shù)據(jù)庫架構12本章內容4.1SQLServer2019的安全機制124.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名4.2.2刪除登錄名4.2.3創(chuàng)建數(shù)據(jù)庫用戶4.2.4刪除數(shù)據(jù)庫用戶134.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名13144.2.1創(chuàng)建登錄名界面方式建立Windows驗證模式的登錄名建立SQLServer驗證模式的登錄名144.2.1創(chuàng)建登錄名界面方式154.2.1創(chuàng)建登錄名命令方式CREATELOGINlogin_name /*WITH子句用于創(chuàng)建SQLServer登錄名*/{WITHPASSWORD='password'[HASHED][MUST_CHANGE] [,<option_list>[,...]] /*FROM子句用于創(chuàng)建其他登錄名*/|FROM {
WINDOWS[WITH<windows_options>[,...]]|CERTIFICATEcertname|ASYMMETRICKEYasym_key_name }}154.2.1創(chuàng)建登錄名命令方式164.2.1創(chuàng)建登錄名命令方式
<option_list>::=SID=sid|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language|CHECK_EXPIRATION={ON|OFF}|CHECK_POLICY={ON|OFF}[CREDENTIAL=credential_name]
<windows_options>::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language164.2.1創(chuàng)建登錄名命令方式174.2.1創(chuàng)建登錄名命令方式<option_list>:用于指定在創(chuàng)建SQLServer登錄名時的一些選項,選項如下。SID:指定新SQLServer登錄名的全局唯一標識符,如果未選擇此選項,則自動指派。DEFAULT_DATABASE:指定默認數(shù)據(jù)庫,如果未指定此選項,則默認數(shù)據(jù)庫為master。DEFAULT_LANGUAGE:指定默認語言,如果未指定此選項,則默認語言將設置為服務器的當前默認語言。CHECK_EXPIRATION:指定是否對此登錄名強制實施密碼過期策略,默認值為OFF。CHECK_POLICY:指定應對此登錄名強制實施運行SQLServer的計算機的Windows密碼策略,默認值為ON。174.2.1創(chuàng)建登錄名命令方式184.2.1創(chuàng)建登錄名命令方式<windows_options>:用于指定在創(chuàng)建Windows登錄名時的一些選項,選項如下。DEFAULT_DATABASE:指定默認數(shù)據(jù)庫。DEFAULT_LANGUAGE:指定默認語言。184.2.1創(chuàng)建登錄名命令方式194.2.1創(chuàng)建登錄名命令方式(1)創(chuàng)建Windows驗證模式登錄名創(chuàng)建Windows登錄名使用FROM子句,在FROM子句的語法格式中,WINDOWS關鍵字指定將登錄名映射到Windows登錄名,194.2.1創(chuàng)建登錄名命令方式204.2.1創(chuàng)建登錄名命令方式[例1]
使用命令方式創(chuàng)建Windows登錄名tao(假設Windows用戶tao已經(jīng)創(chuàng)建,本地計算機名為cie001)CREATELOGIN[cie001\tao]FROMWINDOWS;204.2.1創(chuàng)建登錄名命令方式214.2.1創(chuàng)建登錄名命令方式(2)創(chuàng)建SQLServer驗證模式登錄名創(chuàng)建SQLServer登錄名使用WITH子句,其中:PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,password為密碼字符串。HASHED選項指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過哈希運算,如果未選擇此選項,則在將作為密碼輸入的字符串存儲到數(shù)據(jù)庫之前,對其進行哈希運算。如果指定MUST_CHANGE選項,則SQLServer會在首次使用新登錄名時提示用戶輸入新密碼。214.2.1創(chuàng)建登錄名命令方式224.2.1創(chuàng)建登錄名命令方式[例2]
使用命令方式創(chuàng)建SQLServer登錄名sql_tao,密碼為123456。CREATELOGINsql_taoWITHPASSWORD=‘123456’224.2.1創(chuàng)建登錄名命令方式4.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名4.2.2刪除登錄名4.2.3創(chuàng)建數(shù)據(jù)庫用戶4.2.4刪除數(shù)據(jù)庫用戶234.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名23244.2.2刪除登錄名語法格式DROPLoginlogin_name[例3]刪除Windows登錄名tao。DROPLogin[cie001\tao];[例4]刪除SQLServer登錄名sql_tao。DROPLoginsql_tao;244.2.2刪除登錄名語法格式4.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名4.2.2刪除登錄名4.2.3創(chuàng)建數(shù)據(jù)庫用戶4.2.4刪除數(shù)據(jù)庫用戶254.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名25264.2.3創(chuàng)建數(shù)據(jù)庫用戶界面方式命令方式語法格式CREATEUSERuser_name{{FOR|FROM}LOGINlogin_name}功能:向當前數(shù)據(jù)庫添加用戶[例5]在student數(shù)據(jù)庫中為登錄賬戶sql_tao映射一個數(shù)據(jù)庫用戶u1。CREATEUSERu1FORLOGINsql_tao;264.2.3創(chuàng)建數(shù)據(jù)庫用戶界面方式4.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名4.2.2刪除登錄名4.2.3創(chuàng)建數(shù)據(jù)庫用戶4.2.4刪除數(shù)據(jù)庫用戶274.2建立和管理用戶賬戶4.2.1創(chuàng)建登錄名27284.2.2刪除數(shù)據(jù)庫用戶語法格式DROPUSERuser_name[例6]刪除student數(shù)據(jù)庫的數(shù)據(jù)庫用戶u1。DROPUSERu1;284.2.2刪除數(shù)據(jù)庫用戶語法格式29本章內容4.1SQLServer2019的安全機制4.2建立和管理用戶賬戶4.3權限管理4.4角色管理4.5數(shù)據(jù)庫架構29本章內容4.1SQLServer2019的安全機制304.3權限管理某個用戶對某類數(shù)據(jù)庫對象具有何種操作權力是個政策問題而不是技術問題。數(shù)據(jù)庫管理系統(tǒng)的功能是保證這些決定的執(zhí)行。用戶或DBA把授權決定告知系統(tǒng),由SQL的GRANT和REVOKE語句來完成。DBMS把授權的結果存入數(shù)據(jù)字典。當用戶提出操作請求時,DBMS根據(jù)授權定義進行檢查,以決定是否執(zhí)行操作請求。304.3權限管理某個用戶對某類數(shù)據(jù)庫對象具有何種操作權力314.3權限管理GRANT語句GRANT<權限>[,<權限>]…ON<對象類型><對象名>[,<對象類型><對象名>]…TO<用戶>[,<用戶>]…[WITHGRANTOPTION];誰定義?DBA和表的建立者(即表的屬主)功能:將對指定操作對象的指定操作權限授予指定的用戶。314.3權限管理GRANT語句324.3權限管理GRANT語句
GRANT<權限>[,<權限>]…
ON<對象類型><對象名>[,<對象類型><對象名>]…TO<用戶>[,<用戶>]…[WITHGRANTOPTION];指定了WITHGRANTOPTION子句:獲得某種權限的用戶還可以把這種權限再授予別的用戶沒有指定WITHGRANTOPTION子句:獲得某種權限的用戶只能使用該權限,不能傳播該權限324.3權限管理GRANT語句334.3權限管理GRANT語句[例7]把對S表和C表的全部權限授予用戶U1和U2GRANTALLPRIVILEGES
ONSTOU1,U2;GRANTALLPRIVILEGES
ONCTOU1,U2;334.3權限管理GRANT語句344.3權限管理GRANT語句[例8]把查詢S表和修改學生學號的權限授給用戶U3,并允許他再將此權限授予其他用戶
GRANTUPDATE(Sno),SELECTONSTOU3
WITHGRANTOPTION;344.3權限管理GRANT語句354.3權限管理GRANT語句執(zhí)行例8后,U3不僅擁有了對表S的SELECT權限和對學號列的修改權限,還可以傳播此權限:GRANTUPDATE(Sno),SELECTONSTOU4WITHGRANTOPTION;
同樣,U4還可以將此權限授予U5:
GRANTUPDATE(Sno),SELECTONSTOU5
但U5不能再傳播此權限。354.3權限管理GRANT語句364.3權限管理REVOKE語句REVOKE<權限>[,<權限>]…ON<對象類型><對象名>[,<對象類型><對象名>]…FROM<用戶>[,<用戶>]…;誰定義?DBA和表的建立者(即表的屬主)功能:從指定用戶那收回對指定對象的指定權限364.3權限管理REVOKE語句374.3權限管理REVOKE語句[例9]把用戶U3修改學生學號的權限收回
REVOKEUPDATE(Sno)
ONSFROMU3;374.3權限管理REVOKE語句384.3權限管理DENY語句DENY<權限>[,<權限>]…ON<對象類型><對象名>[,<對象類型><對象名>]…TO<用戶>[,<用戶>]…;使用DENY命令可以拒絕給當前數(shù)據(jù)庫內的用戶授予的權限,并防止數(shù)據(jù)庫用戶通過其組或角色成員資格繼承權限。384.3權限管理DENY語句394.3權限管理DENY語句[例10]拒絕用戶U1對學生表的查詢權限
DENYSELECT
ONSFROMU1;394.3權限管理DENY語句404.3權限管理SQL靈活的授權機制DBA擁有對數(shù)據(jù)庫中所有對象的所有權限,并可以根據(jù)應用的需要將不同的權限授予不同的用戶。用戶對自己建立的基本表和視圖擁有全部的操作權限,并且可以用GRANT語句把其中某些權限授予其他用戶。被授權的用戶如果有“繼續(xù)授權”的許可,還可以把獲得的權限再授予其他用戶。所有授予出去的權力在必要時又都可以用REVOKE語句收回。404.3權限管理SQL靈活的授權機制41本章內容4.1SQLServer2019的安全機制4.2建立和管理用戶賬戶4.3權限管理4.4角色管理4.5數(shù)據(jù)庫架構41本章內容4.1SQLServer2019的安全機制424.4角色管理數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關的權限,角色是權限的集合。可以為一組具有相同權限的用戶創(chuàng)建一個角色,使用角色來管理數(shù)據(jù)庫權限可以簡化授權的過程。角色的創(chuàng)建
CREATEROLE<角色名>剛剛創(chuàng)建的角色是空的,沒有任何內容??梢杂肎RANT為角色授權。424.4角色管理數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關434.4角色管理給角色授權
GRANT<權限>[,<權限>]...ON<對象名>TO<角色>[,<角色>]...DBA和用戶可以利用GRANT語句將權限授予某一個或幾個角色434.4角色管理給角色授權444.4角色管理角色權限的收回
REVOKE<權限>[,<權限>]...ON<對象名>FROM<角色>[,<角色>]...用戶可以回收角色的權限,從而修改角色擁有的權限REVOKE動作的執(zhí)行者或者是角色的創(chuàng)建者,或者擁有在這個(些)角色上的ADMINOPTION444.4角色管理角色權限的收回454.4角色管理添加和刪除角色成員
將數(shù)據(jù)庫用戶添加到角色中,使數(shù)據(jù)庫用戶擁有角色的權限使用存儲過程SP_ADDROLEMEMBER將數(shù)據(jù)庫用戶從角色中刪除,取消角色權限的授予使用存儲過程SP_DROPROLEMEMBER454.4角色管理添加和刪除角色成員464.4角色管理[例11]通過角色來實現(xiàn)將一組權限授予一個用戶
1.首先創(chuàng)建一個角色R1CREATEROLER1;2.然后使用GRANT語句,使角色R1擁有S表的SELECT、UPDATE、INSERT權限
GRANTSELECT,UPDATE,INSERTONSTOR1;464.4角色管理[例11]通過角色來實現(xiàn)將一組權限授予一474.4角色管理[例11]通過角色來實現(xiàn)將一組權限授予一個用戶3.將這個角色授予王平,張明,趙玲。
EXECSP_ADDROLEMEMBER'R1','王平'EXECSP_ADDROLEMEMBER'R1','張明'EXECSP_ADDROLEMEMBER'R1','趙玲'4.可以一次性的通過R1來回收王平的這3個權限
EXECSP_DROPROLEMEMBER'R1','王平'474.4角色管理[例11]通過角色來實現(xiàn)將一組權限授予一484.4角色管理[例12]角色的權限修改
GRANTDELETEONSTOR1REVOKESELECTONSFROMR1通過角色的使用可以使自主授權的執(zhí)行更加靈活、方便484.4角色管理[例12]角色的權限修改494.4角色管理在SQLServer2019中用戶除了可以自己創(chuàng)建角色外,系統(tǒng)也提供了現(xiàn)有的一些角色。固定服務器角色是指在用戶登錄時授予的在服務器范圍內的權限,這類角色可以在服務器上進行相應的管理操作,完全獨立于某個具體的數(shù)據(jù)庫。固定數(shù)據(jù)庫角色應用于單個數(shù)據(jù)庫,它能夠授予用戶帳戶不同級別的管理或訪問數(shù)據(jù)庫及其對象的權限。494.4角色管理在SQLServer2019中用戶除504.4角色管理固定服務器角色描述Bulkadmin塊數(shù)據(jù)操作管理員
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字媒體對旅游行為的影響-全面剖析
- 信息技術項目質量保障方案
- 掛車外觀設計的智能化方法-全面剖析
- 新型制冷劑研發(fā)與應用-全面剖析
- 2025年利尿類藥物心腦血管類藥物項目發(fā)展計劃
- 大數(shù)據(jù)在批發(fā)市場分析-全面剖析
- 動物實驗替代技術倫理問題-全面剖析
- 數(shù)字影像修復算法的深度學習優(yōu)化-全面剖析
- 四年級道德教育主題活動方案
- 土地復墾方案范本
- 建筑裝飾裝修工程合同
- 江蘇省常州市金壇區(qū)2023-2024學年小升初語文試卷(有答案)
- 臺灣大學公開課《邏輯講義》全集
- 特種設備事故隱患舉報獎勵實施辦法
- 2024年文昌市招聘事業(yè)單位人員考試真題
- 英語-西北名校教研聯(lián)盟2025屆高三下學期2月聯(lián)考試題和答案
- 2025年安徽中醫(yī)藥高等??茖W校單招職業(yè)適應性測試題庫附答案
- 2025年春季學期形勢與政策第二講-中國經(jīng)濟行穩(wěn)致遠講稿
- 2025年春國開學習網(wǎng)《形勢與政策》專題測驗1-5答案
- 2025年皖西衛(wèi)生職業(yè)學院單招職業(yè)適應性測試題庫參考答案
- 學習通《形勢與政策》2025春章節(jié)測試答案
評論
0/150
提交評論