久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle許可執(zhí)行安全模式更好實現(xiàn)控制

瀏覽:8日期:2023-11-12 19:39:54
Oracle許可安全(grant security)有這樣的一個缺點,要維護所有的訪問角色并將這些角色分配給最終用戶是非常困難的。為了解決這些問題并簡化Oracle的安全模式,Oracle引入了許可執(zhí)行方法(grant execute method)。使用許可執(zhí)行方法,所有的數(shù)據(jù)訪問代碼都會被封裝進Oracle的存儲過程里,而最終用戶會被賦予執(zhí)行這段代碼的能力。 許可執(zhí)行安全模式的設(shè)計 同特定的許可模式(在這個模式下,特定的數(shù)據(jù)庫權(quán)限被賦予特定的用戶)不同,許可執(zhí)行模式答應(yīng)用戶被賦予執(zhí)行的訪問權(quán),而不需要任何數(shù)據(jù)庫的權(quán)限。在Oracle里,這叫做定義者的權(quán)利(definer right)。當(dāng)代碼被執(zhí)行的時候,最終用戶就取得了存儲過程定義者對數(shù)據(jù)庫的訪問權(quán)限。同標(biāo)準(zhǔn)的許可安全模式相比,定義者權(quán)利具有多個重要的優(yōu)勢,主要是訪問規(guī)則的簡化。 在Oracle里,你可能也會使用調(diào)用者權(quán)利(invoker right),通過它,最終用戶將只能使用由標(biāo)準(zhǔn)許可安全模式所分配的權(quán)限來執(zhí)行存儲過程。調(diào)用者權(quán)利要更復(fù)雜一些(這也是很多Oracle設(shè)計者更不愿意看到的),因為還必須實現(xiàn)Oracle許可安全。 很明顯,許可執(zhí)行模式需要仔細(xì)的前期設(shè)計。開發(fā)人員必須被迫遵照設(shè)計標(biāo)準(zhǔn),創(chuàng)建Oracle存儲過程和函數(shù),它們?nèi)缓髸环庋b進程序包里。 從操作過程上講,這要求Oracle的設(shè)計人員為系統(tǒng)預(yù)先確定過程碼(process code),并定義一組執(zhí)行所有數(shù)據(jù)庫訪問和處理的程序包。 許可執(zhí)行安全模式的好處 許可執(zhí)行模式尤其引起了Oracle設(shè)計者的關(guān)注,因為它還有其他幾個好處: 所有的過程碼和SQL都被保存在數(shù)據(jù)字典里。 許可執(zhí)行模式答應(yīng)所有的SQL和程序都駐留在數(shù)據(jù)字典里,在這里它們能夠被很輕易地找到、修改和調(diào)整。 很輕易就能夠通過過程碼來實現(xiàn)快速執(zhí)行。 在Oracle9i里,所有的存儲過程都能夠被編譯,還能夠使用dbms_shared_pool.keep過程被放在在Oracle的庫緩沖區(qū)里。這就實現(xiàn)了應(yīng)用程序代碼的超高速執(zhí)行。 數(shù)據(jù)和行為的耦合 將代碼封裝進Oracle的存儲過程里使得Oracle的設(shè)計人員能夠?qū)?shù)據(jù)庫實體同作用于這些實體的代碼緊密地耦合在一起。例如,Oracle的成員方法(member method)能夠為客戶表格而創(chuàng)建,這樣Oracle就知道數(shù)據(jù)庫同什么代碼相關(guān)聯(lián)。這同面向?qū)ο蟮哪P褪窍嗤模诿嫦驅(qū)ο蟮哪P屠铮椒ㄊ峭珻++或者Java對象的類相關(guān)聯(lián)的。 數(shù)據(jù)庫代碼的隔離 由于最終用戶的屏幕上沒有過程代碼或者SQL,因此所有對數(shù)據(jù)庫的訪問都是通過調(diào)用標(biāo)準(zhǔn)的存儲過程而實現(xiàn)的。這就使得應(yīng)用程序不再依靠于數(shù)據(jù)庫,這意味著該應(yīng)用程序能夠被輕易地移植到另一個數(shù)據(jù)庫,而不要對前端的代碼作出任何修改。 數(shù)據(jù)訪問的嚴(yán)密控制 通過使用定義者權(quán)利,最終用戶只有在使用存儲過程和函數(shù)的情況下才能夠訪問數(shù)據(jù)庫。這就使得過程代碼能夠嚴(yán)密地控制訪問規(guī)則并消除任何從后門對數(shù)據(jù)庫的訪問。許可執(zhí)行模式所能做到的還不止對Oracle表格的訪問控制。由于存儲過程會控制對數(shù)據(jù)庫的訪問,因此存儲過程能夠定義過程規(guī)則,而最終用戶需要這些規(guī)則才能夠看到Oracle的數(shù)據(jù)。行這一層、列這一層,以及依靠于數(shù)據(jù)的訪問規(guī)則都是在Oracle存儲過程的PL/SQL或者Java內(nèi)被編碼的。 拒絕后門 最終用戶只有在其執(zhí)行存儲過程的時候才擁有對數(shù)據(jù)庫的(訪問)權(quán)限,超出了其過程的范圍,他們就無法訪問Oracle了。 和所有的Oracle安全模式一樣,許可執(zhí)行模式不是沒有局限性的。現(xiàn)在讓我們來看看其中的一些。 許可執(zhí)行安全模式的局限性 許可執(zhí)行安全模式最適合于正式的系統(tǒng)設(shè)計項目,在這樣的項目里,項目分析人員會在開始編程之前仔細(xì)地規(guī)劃訪問代碼和規(guī)則。許可執(zhí)行模式的主要局限性有: 需要仔細(xì)的前期設(shè)計 專用系統(tǒng)的開發(fā)并不是很輕易就能夠?qū)崿F(xiàn)的,因為其設(shè)計需要對主要的程序包、存儲過程和函數(shù)預(yù)先進行定義。 可選的過程語言有限 Oracle的函數(shù)和存儲過程的代碼需要在PL/SQL或者Java里編寫。但是,有些Oracle的設(shè)計人員要求只有SQL才能夠被保存在存儲過程里。這就使得開發(fā)人員能夠使用他們所希望使用的任何過程語言。前端并沒有被要求完全獨立于代碼,它包含有過程代碼,但是所有的數(shù)據(jù)庫SQL都會被存儲過程和函數(shù)調(diào)用所替代。 難以審計 由于最終用戶只有在執(zhí)行存儲過程的時候才能夠具有訪問數(shù)據(jù)庫的權(quán)限,因此創(chuàng)建列表來包括數(shù)據(jù)庫實體以及那些能夠訪問這些數(shù)據(jù)庫實體的最終用戶是很困難的。對定義者權(quán)利和許可執(zhí)行安全的審計需要你編寫復(fù)雜的審計程序,以剖析和解釋這些存儲過程。 許可的執(zhí)行 正如你能夠看到的,許可執(zhí)行這一方法同傳統(tǒng)的許可安全模式相比具有很多優(yōu)勢,但是它也存在某些不足之處。由于Oracle是世界上最強大和最靈活的數(shù)據(jù)庫,所以你還有其他的方法來控制用戶對數(shù)據(jù)的訪問。Oracle為數(shù)據(jù)訪問的控制提供了很多選擇,而你的任務(wù)就是去選擇和實現(xiàn)能夠滿足你設(shè)計要求的最佳訪問控制法。
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 99精品国产热久久91蜜凸 | 黄a在线观看| 一区二区视频 | 日韩精品一区二区三区中文字幕 | 蜜桃av一区二区三区 | 黄色大片网站 | 九九热在线视频 | 黄色精品网站 | 亚洲精品第一区在线观看 | 国产女精品 | 日韩在线高清视频 | av一区二区三区四区 | 在线观看亚洲视频 | 羞羞视频免费观看入口 | 美女精品视频在线 | 国产一区二区三区在线免费 | 亚洲一区成人 | 国产成人一区 | 久久久久综合 | 国产欧美日韩一区二区三区 | 中文在线一区 | 久久伊人精品视频 | 精品视频免费观看 | 日韩一区二区三区福利视频 | 欧美性视频网站 | 亚洲综合首页 | 人人插人 | 国产日韩欧美不卡 | 国产老女人精品毛片久久 | 日韩精品在线视频 | 国产精品国产三级国产aⅴ无密码 | 日韩在线视屏 | 久久久久久国产精品 | 龙珠z国语版291集全 | 99re在线| 精品毛片 | 久久午夜影院 | 日本一区二区三区四区 | 国产福利视频在线观看 | 热久久这里只有精品 | 亚洲国产精品一区二区三区 |