<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 關(guān)于數據庫權限設置深入剖析

關(guān)于數據庫權限設置深入剖析

作者: 時(shí)間:2007-05-16 來(lái)源:網(wǎng)絡(luò ) 收藏
隨著(zhù)近年來(lái)數據庫技術(shù)的深入發(fā)展,以Unix平臺為代表的Informix Dynamic Server和以NT平臺為代表的MS SQL Server得到了廣泛的應用。在一個(gè)公共的環(huán)境中,存在大量的用戶(hù)操作,有數據庫管理員,主要做數據管理維護工作,也有普通用戶(hù),做一定授權下的數據修改和數據查詢(xún)。我們知道,每個(gè)數據庫服務(wù)器上可建立多個(gè)不同類(lèi)別的數據庫,而每個(gè)數據庫中也可以生成多個(gè)存儲過(guò)程、表、視圖等。如何保證數據的安全可靠,防止非法存取所造成的破壞和數據泄露,如何進(jìn)行權限的劃分和設置,這是安全管理的重點(diǎn),也是數據庫可靠運行的保證。本文以Informix Dynamic Server為例做詳細說(shuō)明。

  一、必要性

  隨著(zhù)近年來(lái)數據庫技術(shù)的深入發(fā)展,以Unix平臺為代表的Informix Dynamic Server和以NT平臺為代表的MS SQL Server得到了廣泛的應用。在一個(gè)公共的環(huán)境中,存在大量的用戶(hù)操作,有數據庫管理員,主要做數據管理維護工作,也有普通用戶(hù),做一定授權下的數據修改和數據查詢(xún)。我們知道,每個(gè)數據庫服務(wù)器上可建立多個(gè)不同類(lèi)別的數據庫,而每個(gè)數據庫中也可以生成多個(gè)存儲過(guò)程、表、視圖等。如何保證數據的安全可靠,防止非法存取所造成的破壞和數據泄露,如何進(jìn)行權限的劃分和設置,這是安全管理的重點(diǎn),也是數據庫可靠運行的保證。本文以Informix Dynamic Server為例做詳細說(shuō)明。

  二、權限的劃分

  Informix Dynamic Server使用了三級權限來(lái)保證數據的安全性,它們分別是數據庫級權限、表級權限和字段級權限,具體為:

  1.數據庫級權限

  包括Connect、Resource、DBA三種類(lèi)別,其中:

  Connect:最低級,僅允許用戶(hù)訪(fǎng)問(wèn)數據庫中的表和索引,但不能創(chuàng )建和刪除它們;
  Resource: 建立在Connect之上,允許用戶(hù)在數據庫中創(chuàng )建、刪除表和索引;
  DBA:即數據庫管理員,擁有數據庫管理的全部權限,包括訪(fǎng)問(wèn)數據庫表、創(chuàng )建和刪除索引、修改表結構、授予數據庫權限給其他用戶(hù)等。
  2.表/字段(視圖)級權限

  指允許進(jìn)行何種具體操作,主要包括:

  Select: 從表或字段中檢索信息;
  Update: 修改指定字段的值;
  Insert: 向數據庫表中添加記錄;
  Delete: 從數據庫表中刪除記錄;
  Index: 為一個(gè)數據庫表創(chuàng )建索引;
  Alter: 增加、刪除數據庫表中的字段,或修改字段的數據類(lèi)型;
  All: 以上所有權限。
  三、權限的設置

  Informix Dynamic Server通過(guò)一系列SQL控制語(yǔ)句來(lái)實(shí)施對用戶(hù)權限的設置,使得不同的用戶(hù)只能在各自限定的范圍內存取數據。以下命令格式中Grant表示授予權限,Revoke表示撤消權限,User-List指用戶(hù)名列表,多個(gè)用戶(hù)以逗號(,)分隔,對大多數數據庫系統而言,PUBLIC代表所有用戶(hù)。

  1.對于數據庫,其格式為:

  Grant { DBA   Resource   Connect } to { PUBLIC   User-List };
  Revoke { DBA   Resource   Connect } from { PUBLIC   User-List }
  缺省情況下,建立數據庫的用戶(hù)就是數據庫管理員(DBA),除其本身和Informix用戶(hù)外,其它用戶(hù)不對該數據庫擁有任何權限,因此也就不能進(jìn)行任何形式的訪(fǎng)問(wèn)。數據庫管理員可根據其他用戶(hù)的業(yè)務(wù)分工、操作范圍授予或撤消DBA、Resource、Connect三種不同的權限。

2.對于表及視圖,其格式為:

  Grant TAB-PRI on [ tab_name   view_name ] to { PUBLIC   User-List };
  Revoke TAB-PRI on [ tab_name   view_name ] from { PUBLIC   User-List }
  其中TAB_PRI表示select、update、delete等操作權限,tab_name、 view_name分別代表數據庫表名和視圖名。

  缺省情況下,新建的數據庫表和視圖對能夠訪(fǎng)問(wèn)該數據庫的用戶(hù)賦予了除alter外的所有權限,有時(shí)這是比較危險的,比如對普通查詢(xún)用戶(hù),應該有針對性地對權限重新定義。此外,對一些重要的表或視圖,為防止敏感信息泄露,也應該重新授權。具體做法是:先用Revoke命令撤消原來(lái)所有的權限,再用Grant授予新的權限。

  3.對于字段:

  字段級權限的授予和撤消同表級的命令方式基本一致,所不同的僅在于必須把賦予權限的字段名列在操作權限如select、insert、update等之后,通過(guò)這樣細化可以實(shí)施更有效的數據保護。

  4.對于存儲過(guò)程:

  存儲過(guò)程由SQL語(yǔ)句編寫(xiě),存放于數據庫中,常與觸發(fā)器配合,可以對數據進(jìn)行批量處理,使用非常方便。但如果授權不嚴格,將導致非法修改現有數據。其權限設置格式為:

  Grant Execute on proc_name to { PUBLIC   User-List };
  Revoke Execute on proc_name from { PUBLIC   User-List }
  其中proc_name表示存儲過(guò)程名。

  四、角色(role)的使用

  在數據庫用戶(hù)的管理中,我們可以根據用戶(hù)對數據庫數據的需要情況把用戶(hù)分為幾組,每一組用戶(hù)可以作為一個(gè)角色,每個(gè)用戶(hù)就是角色的成員。通過(guò)使用角色,數據庫系統更容易進(jìn)行安全性管理,因為一旦某個(gè)用戶(hù)屬于某一個(gè)角色,對權限的授予和撤消只需針對角色便可。具體使用方法為:

  1.創(chuàng )建角色:

  Create Role role_name1


  其中role_name1表示角色名。

  2.劃分用戶(hù)角色:

  即將相關(guān)用戶(hù)加入到角色中使之成為角色的成員。

  Grant role_name1 to { User-List   Role_List }


  其中Role_List表示角色列表,因為一個(gè)角色可以是另外一個(gè)或一組角色的成員。

  3.授權角色權限:

  同授權用戶(hù)權限的方法相同,但只能對表級和字段級權限有效,不能授予數據庫級權限給一個(gè)角色。

  4.激活角色:

  執行以下語(yǔ)句,使以上定義的角色成為可用狀態(tài):

  Set Role role_name1


  五、結束語(yǔ)

  以Internet技術(shù)為代表的網(wǎng)絡(luò )業(yè)務(wù)的迅猛增長(cháng)為數據庫應用開(kāi)辟了新的發(fā)展空間,同時(shí)也對數據庫的安全性管理提出了更高的要求,網(wǎng)絡(luò )的開(kāi)放性導致非法存取常有發(fā)生,因而深刻領(lǐng)會(huì )和理解數據庫權限的具體設置方法,結合自身實(shí)際應用,制定出一套完整的安全保護策略具有重要意義。Informix Dynamic Server對以上控制語(yǔ)句的使用除角色外,嚴格執行SQL ANSI 標準,因此對建立在NT平臺上的MS SQL Server同樣有效。


CSDN聲明:此消息系轉載自CSDN合作媒體,其中細節未經(jīng)CSDN證實(shí),特此聲明


關(guān)鍵詞: SQLServer

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>