久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SQL數(shù)據(jù)庫安全性

 WindySky 2018-02-25

       許多Windows系統(tǒng)管理員,,還兼職著微軟SQL Server數(shù)據(jù)庫管理員(DBA)的身份,。另一方面,,企業(yè)將許多機(jī)密的信息存儲(chǔ)到了SQL Server數(shù)據(jù)庫中,。作為一名DBA新手,,則需要了解SQL Server的安全模式和如何配置其安全設(shè)置,以保證“合法”用戶的訪問并阻止“非法”訪問,。而在SQL Server中登陸,、用戶、角色,、權(quán)限提供了對數(shù)據(jù)庫訪問的權(quán)限,,接下來在數(shù)據(jù)庫安全性上著重分析它們的關(guān)系。

 

●      安全層次和驗(yàn)證模式

     

      一,、安全層次

        SQL Server支持三級(jí)安全層次,。在我們登陸到SQL Server時(shí),其實(shí)我們是經(jīng)過了三步的驗(yàn)證,。

      第一層次是用戶提供正確的賬號(hào)和密碼登錄到SQL Server,,或者已經(jīng)成功登陸了一個(gè)可以映射到SQL Serverwindows賬號(hào)。但是在SQL Server登陸并不意味著能夠訪問數(shù)據(jù)庫,,而是要經(jīng)過第二層次的驗(yàn)證,。

      第二層次的權(quán)限允許用戶與一個(gè)或多個(gè)數(shù)據(jù)庫相連,,這一層次的實(shí)現(xiàn)要在數(shù)據(jù)庫對象的用戶中綁定登陸賬戶。

      第三個(gè)層次的安全權(quán)限允許用戶擁有對指定數(shù)據(jù)庫中的對象的訪問權(quán)限,,例如:可以指定用戶有權(quán)使用哪些表和視圖,、運(yùn)行哪些存儲(chǔ)過程。在第一層次中的windows賬號(hào),,其實(shí)是在我們裝機(jī)時(shí)給windows指定的自己登陸到windows系統(tǒng)的賬號(hào),,而作為windows系統(tǒng)管理員的我們其實(shí)也兼職了SQL Server的管理權(quán),那我們?nèi)绾卧O(shè)置才能保證只有我們指定的用戶才能訪問SQL數(shù)據(jù)庫呢,?就是我們下面要說的驗(yàn)證模式,。

    二、SQL登陸驗(yàn)證模式

                                                             

       

        SQL的登陸驗(yàn)證模式有兩種,,一種是Windows的驗(yàn)證模式,,另一種是WindowsSQL Server混合驗(yàn)證模式。如果我們選擇windows模式登陸并把windows賬號(hào)映射到SQL Server的登陸上,,那么合法的windows用戶也就連接到了SQL Server中,。

        Windows模式的登陸需要在SQL Server中設(shè)置。方法:

                   打開SQL Server企業(yè)管理器,,找到安全性文件夾,,打開后再登陸中新建一個(gè)windows身份驗(yàn)證模式的賬戶。需要注意的是在新建賬戶時(shí),,賬戶的名稱一定要填我們windows賬戶的名字,,如:我的計(jì)算機(jī)在用戶中名稱為張信秀,則在填名稱時(shí)一定要填張信秀,。

                                                                   

          SQL Server的驗(yàn)證模式相對windows的登陸模式在設(shè)置上沒有特別的要求,,只需填上我們的密碼即可。

         接下來進(jìn)入我們的重點(diǎn)——角色,、權(quán)限,,首先我們在圖上來區(qū)分。

 

  登陸,、權(quán)限,、角色

         在往下說之前我們先介紹下安全賬戶。返回到安全層次上來說,,賬戶在登錄到SQL Server后,,如果想獲得訪問某個(gè)數(shù)據(jù)庫的權(quán)限,是必須要在SQL中獲得安全賬戶的,,確保登陸的賬號(hào)是安全的,,就好比是我們出國的護(hù)照簽證一樣,想要去哪個(gè)國家必須獲得該國家的簽證和出入境章,,這個(gè)安全賬戶就是在數(shù)據(jù)庫對象的用戶中綁定一個(gè)登陸賬號(hào),,證明這個(gè)登陸賬號(hào)是安全的,。

         賬戶、角色,、權(quán)限他們?nèi)呤菦]有嚴(yán)格的關(guān)系的,如果有的話就是角色給賬戶分配職能,,而權(quán)限卻又限制著角色和賬戶對數(shù)據(jù)庫的操作,。它們?nèi)呔秃孟袷枪纠锏膯T工、職權(quán),、規(guī)章,,公司按照職能分配不同的員工,但是每個(gè)員工卻又受到公司規(guī)章的限制,。

      一,、數(shù)據(jù)庫角色

          數(shù)據(jù)庫角色控制著數(shù)據(jù)庫的安全性。當(dāng)最終用戶成功地連接到分析服務(wù)器之后,,會(huì)在那個(gè)服務(wù)器上的數(shù)據(jù)庫角色中查找最終用戶的用戶名,,來確定用戶對數(shù)據(jù)庫的可能操作。

              數(shù)據(jù)庫角色在創(chuàng)建時(shí)有兩種:

                       1,、標(biāo)準(zhǔn)角色:不允許嵌套,,在使用時(shí)只需在安全賬戶中添加,通過分配權(quán)限確保了用戶能夠進(jìn)行的操作,;

                       2,、應(yīng)用程序角色:為了讓標(biāo)準(zhǔn)角色嵌套,來控制角色所能進(jìn)行的操作,,創(chuàng)建后SQL Server把它當(dāng)做賬戶看待(因?yàn)樗菓?yīng)用程序級(jí)別的),,它的作用是為權(quán)限提供相應(yīng)的加密,用存儲(chǔ)過程sp_setapprole激活才可進(jìn)行授予權(quán)限的操作,。

  二,、權(quán)限

               權(quán)限有三種類型,

                         1,、語句權(quán)限:限制對表update,、insert等的操作,在創(chuàng)建角色時(shí)或添加安全用戶后設(shè)置,;

                         2,、對象權(quán)限:限制用戶對數(shù)據(jù)庫對象的創(chuàng)建,在數(shù)據(jù)庫屬性內(nèi)設(shè)置,;

                         3,、暗示性權(quán)限:SQL Server數(shù)據(jù)庫自帶的那些角色或用戶,如:服務(wù)器角色,、數(shù)據(jù)庫所有者(dbo)等擁有的權(quán)限,,不需要了解他,,因?yàn)樗窍到y(tǒng)自己設(shè)置的用戶不能夠設(shè)置。

           最后我們在代碼中應(yīng)用下三者:

 

  1. /*示例說明:在數(shù)據(jù)庫company中創(chuàng)建一個(gè)擁有表product的所有權(quán)限,、擁有表employees的SELECT權(quán)限的角色rtest隨后創(chuàng)建了一個(gè)登錄ltest,,然后在數(shù)據(jù)庫company中為登錄ltest創(chuàng)建了用戶賬戶utest同時(shí)將用戶賬戶utest添加到角色rtest中,使其通過權(quán)限繼承獲取了與角色rtest一樣的權(quán)限最后使用DENY語句拒絕了用戶賬戶utest對表titles的SELECT權(quán)限,。經(jīng)過這樣的處理,,使用ltest登錄SQL Server實(shí)例后,它只具有表product的所有權(quán)限,。  
  2. */  
  3.   
  4. USE company  
  5.   
  6. --創(chuàng)建角色 rtest  
  7. EXEC sp_addrole 'rtest'  
  8.   
  9. --授予 rtest 對product 表的所有權(quán)限  
  10. GRANT ALL ON product TO rtest  
  11. --授予角色 rtest 對 employees 表的 SELECT 權(quán)限  
  12. GRANT SELECT ON titles TO rtest  
  13.   
  14. --添加登錄 ltest,設(shè)置密碼為pwd,默認(rèn)數(shù)據(jù)庫為pubs  
  15. EXEC sp_addlogin 'ltest','pwd','company'  
  16.   
  17. --為登錄 ltest 在數(shù)據(jù)庫 pubs 中添加安全賬戶 utest  
  18. EXEC sp_grantdbaccess 'ltest','utest'  
  19.   
  20. --添加 utest 為角色 rtest 的成員  
  21. EXEC sp_addrolemember 'rtest','utest'  
  22.   
  23. --拒絕安全賬戶 utest 對 employees 表的 SELECT 權(quán)限  
  24. DENY SELECT ON employees TO utest  
  25.   
  26. /*--完成上述步驟后,用 ltest 登錄,可以對company表進(jìn)行所有操作,但無法對employees表查詢,雖然角色 rtest 有employees表的select權(quán)限,但已經(jīng)在安全賬戶中明確拒絕了對employees的select權(quán)限,所以ltest無employees表的select權(quán)限--*/  
  27.   
  28. --從數(shù)據(jù)庫 company 中刪除安全賬戶  
  29. EXEC sp_revokedbaccess 'utest'  
  30.   
  31. --刪除登錄 ltest  
  32. EXEC sp_droplogin 'ltest'  
  33.   
  34. --刪除角色 rtest  
  35. EXEC sp_droprole 'rtest'  


 

●       總結(jié):

         在新建登陸時(shí),,利用服務(wù)器角色分配賬戶的功能,利用數(shù)據(jù)庫角色管理用戶對數(shù)據(jù)庫進(jìn)行的操作,。在新建角色時(shí)為角色分配權(quán)限,,來限制用戶的操作。   

         懂得SQL Server安全性的機(jī)制后,,我們就可以開發(fā)自己的數(shù)據(jù)庫安全策略了,。你下一步所需要的可能就是產(chǎn)生一個(gè)SQL Server腳本了。在SQL Server企業(yè)管理器中,,右擊一個(gè)數(shù)據(jù)庫,,選擇“所有任務(wù)”,選擇“生成SQL腳本”,,這個(gè)選項(xiàng)能夠產(chǎn)生一個(gè)腳本,,對包括安全策略在內(nèi)的數(shù)據(jù)庫進(jìn)行更新。一個(gè)腳本文件可以代替通過鼠標(biāo)在SQL Server事件管理器中進(jìn)行點(diǎn)擊和選擇的操作,,大大減少DBA的工作量,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多