国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 信息時(shí)代 > SQL訪問(wèn)控制(數(shù)據(jù)庫(kù))

SQL訪問(wèn)控制(數(shù)據(jù)庫(kù))

時(shí)間:2022-11-07 10:30:01 | 來(lái)源:信息時(shí)代

時(shí)間:2022-11-07 10:30:01 來(lái)源:信息時(shí)代

    SQL訪問(wèn)控制 : SQL標(biāo)準(zhǔn)對(duì)SQL數(shù)據(jù)提供的安全保護(hù)機(jī)制。它采用的基本安全模型如下: 每個(gè)SQL會(huì)話的上下文中包含一個(gè)授權(quán)棧,棧中的每個(gè)單元由用戶標(biāo)識(shí)符或角色名或兩者組成。棧頂單元中的用戶標(biāo)識(shí)符稱為當(dāng)前用戶標(biāo)識(shí)符,角色名稱為當(dāng)前角色名。當(dāng)前用戶標(biāo)識(shí)符和當(dāng)前角色名的可應(yīng)用特權(quán)的并集為當(dāng)前特權(quán),它決定當(dāng)前SQL語(yǔ)句的執(zhí)行權(quán)限。SQL會(huì)話初始化時(shí),授權(quán)棧中只包含一個(gè)用戶標(biāo)識(shí)符,稱為SQL會(huì)話用戶標(biāo)識(shí)符。當(dāng)在SQL會(huì)話期間調(diào)用外部調(diào)用過(guò)程、SQL調(diào)用例程、觸發(fā)器動(dòng)作、準(zhǔn)備語(yǔ)句或直接執(zhí)行語(yǔ)句(假設(shè)為E)時(shí),棧頂單元的拷貝被壓入授權(quán)棧,而棧頂單元的內(nèi)容則被E的屬主的授權(quán)標(biāo)識(shí)符所取代。E執(zhí)行結(jié)束時(shí),棧頂單元被刪除。
基于上述安全模型,SQL標(biāo)準(zhǔn)在其子條款說(shuō)明中都規(guī)定了訪問(wèn)規(guī)則,即執(zhí)行該動(dòng)作所需要的權(quán)限。同時(shí)還提供了一系列訪問(wèn)控制語(yǔ)句,包括角色的定義及撤銷語(yǔ)句和特權(quán)的授予及回收語(yǔ)句。
角色是SQL99中新增的數(shù)據(jù)庫(kù)對(duì)象。在SQL99以后的SQL標(biāo)準(zhǔn)中,授權(quán)標(biāo)識(shí)符既可以是一個(gè)用戶,也可以是一個(gè)角色。增加角色對(duì)象的原因在于,一個(gè)大機(jī)構(gòu)內(nèi)可能有許多對(duì)相同對(duì)象具有相同特權(quán)的用戶,如果對(duì)每個(gè)這樣的用戶分別授予這些對(duì)象上的特權(quán),則會(huì)導(dǎo)致授權(quán)關(guān)系復(fù)雜,維護(hù)困難,而通過(guò)角色則可以簡(jiǎn)化上述問(wèn)題。角色是一個(gè)命名的特權(quán)集,它可以被授權(quán)給一個(gè)授權(quán)標(biāo)識(shí)符,從而允許該授權(quán)標(biāo)識(shí)符使用此角色的所有特權(quán)。用戶和角色之間有多對(duì)多的聯(lián)系: 一個(gè)用戶允許被授權(quán)多個(gè)角色,同一角色也可被授權(quán)給多個(gè)用戶。一個(gè)角色也可被授權(quán)給其他角色,但不允許角色循環(huán)授權(quán)。角色的創(chuàng)建和撤銷通過(guò)角色定義語(yǔ)句和撤銷角色語(yǔ)句來(lái)實(shí)現(xiàn)。如:
CREATE ROLE ROLE_1
WITH ADMIN CURRENT_USER;
該語(yǔ)句創(chuàng)建一個(gè)名為ROLE 1的角色,并將此角色自動(dòng)授權(quán)給當(dāng)前用戶。又如:
DROP ROLE ROLE_1;
該語(yǔ)句撤銷角色ROLE_1,同時(shí)對(duì)被授予該角色的每個(gè)授權(quán)標(biāo)識(shí)符回收該角色的使用權(quán)。
特權(quán)的授予和回收是SQL訪問(wèn)控制的核心功能。它使得授權(quán)標(biāo)識(shí)符可以自主地將自己擁有的特權(quán)授權(quán)給其他授權(quán)標(biāo)識(shí)符,或者從其他授權(quán)標(biāo)識(shí)符回收特權(quán)。特權(quán)允許一個(gè)授權(quán)標(biāo)識(shí)符在給定的基表、視圖、列、域、字符集、排序、翻譯、用戶定義類型、觸發(fā)器、SQL調(diào)用例程或序列發(fā)生器上執(zhí)行特定的動(dòng)作。特權(quán)由特權(quán)描述符定義,特權(quán)描述符包括:
(1)特權(quán)執(zhí)行對(duì)象的標(biāo)識(shí)。
(2)特權(quán)授予者的授權(quán)標(biāo)識(shí)符。
(3)特權(quán)接受者的授權(quán)標(biāo)識(shí)符。
(4)特權(quán)允許的動(dòng)作。
(5)特權(quán)對(duì)于特權(quán)接受者是否是可授予的。
(6) 特權(quán)是否指定了 WITH HIERARCHY OPTION。
不同對(duì)象類型上可執(zhí)行的動(dòng)作是不同的。例如:表上可執(zhí)行的動(dòng)作有INSERT、UPDATE、DELETE、SELECT、TRIGGER和REFERENCES;SQL調(diào)用例程上可執(zhí)行的動(dòng)作只能是EXECUTE。
SQL標(biāo)準(zhǔn)提供授權(quán)語(yǔ)句來(lái)實(shí)現(xiàn)特權(quán)的授予。授權(quán)語(yǔ)句分為授權(quán)特權(quán)語(yǔ)句和授權(quán)角色語(yǔ)句。前者是將給定對(duì)象上的一個(gè)或多個(gè)特權(quán)授權(quán)給接受者;后者是將一個(gè)或多個(gè)角色授權(quán)給接受者。如:
GRANT SELECT ON TAB_1 TO ROLE_1
WITH GRANT OPTION;
該語(yǔ)句將表TAB 1上的SELECT特權(quán)授給授權(quán)標(biāo)識(shí)符ROLE 1,并允許ROLE 1將此特權(quán)轉(zhuǎn)授給別的接受者。又如:
GRANT ROLE_1 TO PUBLIC;
該語(yǔ)句將角色ROLE_1授權(quán)給SQL環(huán)境中的所有授權(quán)標(biāo)識(shí)符。此后,如果角色ROLE 1擁有的特權(quán)發(fā)生了變化(如被授予了新的特權(quán)),則被授予此角色的所有授權(quán)標(biāo)識(shí)符的特權(quán)也將相應(yīng)地變化。
回收語(yǔ)句用于回收特權(quán)?;厥照Z(yǔ)句的語(yǔ)法與授權(quán)語(yǔ)句對(duì)應(yīng),也分為回收特權(quán)語(yǔ)句和回收角色語(yǔ)句兩種形式。如:
REVOKE SELECT ON TAB_1
FROM ROLE_1;
該語(yǔ)句回收角色ROLE_1在TAB_1上的SELECT特權(quán)。又如:
REVOKE ROLE_1 FROM PUBLIC;
該語(yǔ)句回收SQL環(huán)境中所有授權(quán)標(biāo)識(shí)符對(duì)于角色ROLE_1的使用權(quán)。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉