日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle执行代码权限,利用Oracle许可执行安全模式实现更好的控制

發布時間:2025/4/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle执行代码权限,利用Oracle许可执行安全模式实现更好的控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【IT168 服務器學院】Oracle許可安全(grant security)有這樣的一個缺點,要維護所有的訪問角色并將這些角色分配給最終用戶是非常困難的。為了解決這些問題并簡化Oracle的安全模式,Oracle引入了許可執行方法(grant execute method)。使用許可執行方法,所有的數據訪問代碼都會被封裝進Oracle的存儲過程里,而最終用戶會被賦予執行這段代碼的能力。

許可執行安全模式的設計

同特定的許可模式(在這個模式下,特定的數據庫權限被賦予特定的用戶)不同,許可執行模式允許用戶被賦予執行的訪問權,而不需要任何數據庫的權限。在Oracle里,這叫做定義者的權利(definer right)。當代碼被執行的時候,最終用戶就取得了存儲過程定義者對數據庫的訪問權限。同標準的許可安全模式相比,定義者權利具有多個重要的優勢,主要是訪問規則的簡化。

在Oracle里,你可能也會使用調用者權利(invoker right),通過它,最終用戶將只能使用由標準許可安全模式所分配的權限來執行存儲過程。調用者權利要更復雜一些(這也是很多Oracle設計者更不愿意看到的),因為還必須實現Oracle許可安全。

很明顯,許可執行模式需要仔細的前期設計。開發人員必須被迫遵照設計標準,創建Oracle存儲過程和函數,它們然后會被封裝進程序包里。

從操作過程上講,這要求Oracle的設計人員為系統預先確定過程碼(process code),并定義一組執行所有數據庫訪問和處理的程序包。

許可執行安全模式的好處

許可執行模式尤其引起了Oracle設計者的關注,因為它還有其他幾個好處:

所有的過程碼和SQL都被保存在數據字典里——

許可執行模式允許所有的SQL和程序都駐留在數據字典里,在這里它們能夠被很容易地找到、修改和調整。

很容易就能夠通過過程碼來實現快速執行——

在Oracle9i里,所有的存儲過程都能夠被編譯,還能夠使用dbms_shared_pool.keep過程被放在在Oracle的庫緩沖區里。這就實現了應用程序代碼的超高速執行。

數據和行為的耦合

將代碼封裝進Oracle的存儲過程里使得Oracle的設計人員能夠將數據庫實體同作用于這些實體的代碼緊密地耦合在一起。例如,Oracle的成員方法(member method)能夠為客戶表格而創建,這樣Oracle就知道數據庫同什么代碼相關聯。這同面向對象的模型是相同的,在面向對象的模型里,方法是同C++或者Java對象的類相關聯的。

數據庫代碼的隔離

由于最終用戶的屏幕上沒有過程代碼或者SQL,因此所有對數據庫的訪問都是通過調用標準的存儲過程而實現的。這就使得應用程序不再依賴于數據庫,這意味著該應用程序能夠被輕易地移植到另一個數據庫,而不要對前端的代碼作出任何修改。

數據訪問的嚴密控制

通過使用定義者權利,最終用戶只有在使用存儲過程和函數的情況下才能夠訪問數據庫。這就使得過程代碼能夠嚴密地控制訪問規則并消除任何從后門對數據庫的訪問。許可執行模式所能做到的還不止對Oracle表格的訪問控制。由于存儲過程會控制對數據庫的訪問,因此存儲過程能夠定義過程規則,而最終用戶需要這些規則才能夠看到Oracle的數據。行這一層、列這一層,以及依賴于數據的訪問規則都是在Oracle存儲過程的PL/SQL或者Java內被編碼的。

拒絕后門

最終用戶只有在其執行存儲過程的時候才擁有對數據庫的(訪問)權限,超出了其過程的范圍,他們就無法訪問Oracle了。

和所有的Oracle安全模式一樣,許可執行模式不是沒有局限性的?,F在讓我們來看看其中的一些。

許可執行安全模式的局限性

許可執行安全模式最適合于正式的系統設計項目,在這樣的項目里,項目分析人員會在開始編程之前仔細地規劃訪問代碼和規則。許可執行模式的主要局限性有:

需要仔細的前期設計

專用系統的開發并不是很容易就能夠實現的,因為其設計需要對主要的程序包、存儲過程和函數預先進行定義。

可選的過程語言有限

Oracle的函數和存儲過程的代碼需要在PL/SQL或者Java里編寫。但是,有些Oracle的設計人員要求只有SQL才能夠被保存在存儲過程里。這就使得開發人員能夠使用他們所希望使用的任何過程語言。前端并沒有被要求完全獨立于代碼,它包含有過程代碼,但是所有的數據庫SQL都會被存儲過程和函數調用所替代。

難以審計

由于最終用戶只有在執行存儲過程的時候才能夠具有訪問數據庫的權限,因此創建列表來包括數據庫實體以及那些能夠訪問這些數據庫實體的最終用戶是很困難的。對定義者權利和許可執行安全的審計需要你編寫復雜的審計程序,以剖析和解釋這些存儲過程。

許可的執行

正如你能夠看到的,許可執行這一方法同傳統的許可安全模式相比具有很多優勢,但是它也存在某些不足之處。由于Oracle是世界上最強大和最靈活的數據庫,所以你還有其他的方法來控制用戶對數據的訪問。Oracle為數據訪問的控制提供了很多選擇,而你的任務就是去選擇和實現能夠滿足你設計要求的最佳訪問控制法。

總結

以上是生活随笔為你收集整理的oracle执行代码权限,利用Oracle许可执行安全模式实现更好的控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一区在线不卡 | 草草影院地址 | 久久免费成人 | 狠狠操夜夜爽 | 狠狠爱综合 | 日日噜噜噜夜夜爽爽狠狠视频97 | 欧美国产精品久久 | 日韩黄色在线观看 | 久久免费福利视频 | 尹人在线视频 | 激情内射人妻1区2区3区 | 亚洲电影在线观看 | 久久国色| 久久精品性 | 国产午夜精品一区二区三区 | 午夜剧场91 | 婷久久| 黄色三级网站 | 激情毛片视频 | 成人一级视频在线观看 | 黄色工厂这里只有精品 | 日韩成人无码 | 精品人妻大屁股白浆无码 | 国产91香蕉 | 美女视频黄免费 | 色哟哟网站在线观看 | 国产在线观看无码免费视频 | 人成免费 | 成人午夜在线观看 | www污污| 日韩爽爽视频 | 人人爽在线 | 天堂网在线观看 | 午夜国产片| 欧美精品xxx | 一区二区欧美在线 | 日韩av不卡一区 | 黄色精品视频在线观看 | 天堂va蜜桃一区二区三区 | 青娱乐在线免费视频 | 国产成人精品一区二区三区在线观看 | 色老头在线一区二区三区 | 国产精品久久av | 久久精品在线免费观看 | 一级成人毛片 | 欧美1区2区 | 九色国产在线 | 天堂在线中文资源 | 亚洲20p| 欧美少妇诱惑 | 不卡中文一二三区 | www.日韩av | 国产伦精品一区 | 国产裸体永久免费无遮挡 | 中国a毛片 | 成人超碰| 男女国产精品 | 永久国产| 主人性调教le百合sm | 中文字幕 欧美日韩 | 欧美激情在线免费观看 | 亚洲永久免费 | 国产精品一卡二卡在线观看 | 国产专区在线播放 | 天天狠天天插 | 香蕉福利 | 欧美在线观看视频 | 亚洲精品久久久久中文字幕二区 | 欧美国产一区二区在线观看 | 欧美日韩午夜爽爽 | 放几个免费的毛片出来看 | 国产网站在线免费观看 | 亚洲特黄特色 | 6080一级片 | 最新毛片基地 | 国产午夜一级 | 精品在线视频免费观看 | 国产高清视频在线免费观看 | 熟女性饥渴一区二区三区 | 日本一道本在线 | 成人娱乐网| 日本高清有码视频 | 日韩精品一区二区三 | 97在线公开视频 | 森泽佳奈av | 无码精品视频一区二区三区 | 日本猛少妇色xxxxx | 人人妻人人澡人人爽精品 | 蜜臀aⅴ免费一区二区 | 一级片免费在线观看 | 91看片黄| 午夜国产片| 中文字幕精品无码亚 | 亚洲国产精品久久久久久久 | 精品黑人一区二区三区 | 鸥美毛片| 国产精品国产精品国产 | 日韩一级片免费观看 | 欧美成人猛片aaaaaaa |