利用Oracle許可實現更好控制Linux(轉)
利用Oracle許可實現更好控制Linux(轉)[@more@]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裡,這叫做定義者的權利(definer right)。當程式碼被執行的時候,終端使用者就取得了儲存過程定義者對資料庫的訪問許可權。同標準的許可安全模式相比,定義者權利具有多個重要的優勢,主要是訪問規則的簡化。
在Oracle裡,你可能也會使用呼叫者權利(invoker right),透過它,終端使用者將只能使用由標準許可安全模式所分配的許可權來執行儲存過程。呼叫者權利要更復雜一些(這也是很多Oracle設計者更不願意看到的),因為還必須實現Oracle許可安全。
很明顯,許可執行模式需要仔細的前期設計。開發人員必須被迫遵照設計標準,建立Oracle儲存過程和函式,它們然後會被封裝程式序包裡。
從操作過程上講,這要求Oracle的設計人員為系統預先確定過程碼(process code),並定義一組執行所有資料庫訪問和處理的程式包。
許可執行安全模式的好處
許可執行模式尤其引起了Oracle設計者的關注,因為它還有其他幾個好處:
所有的過程碼和SQL都被儲存在資料字典裡——
許可執行模式允許所有的SQL和程式都駐留在資料字典裡,在這裡它們能夠被很容易地找到、修改和調整。
很容易就能夠透過過程碼來實現快速執行——
在Oracle9i裡,所有的儲存過程都能夠被編譯,還能夠使用dbms_shared_pool.keep過程被放在在Oracle的庫緩衝區裡。這就實現了應用程式程式碼的超高速執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963814/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Laravel實現許可權控制Laravel
- Vue2-利用自定義指令實現按鈕許可權控制Vue
- Linux的許可權控制Linux
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- SpringBoot(一) 如何實現AOP的許可權控制Spring Boot
- 前端許可權控制系統的實現思路前端
- spring boot 利用註解實現許可權驗證Spring Boot
- spring aop實現簡單的許可權控制功能Spring
- Linux 許可權控制的基本原理Linux
- 許可權控制
- springboot + shiro 實現登入認證和許可權控制Spring Boot
- Spring Security實現統一登入與許可權控制Spring
- springcloud-gateway整合jwt+jcasbin實現許可權控制SpringGCCloudGatewayJWT
- 利用PATH環境變數 - 提升linux許可權~?變數Linux
- Atlas 2.1.0 實踐(4)—— 許可權控制
- HIVE的許可權控制和超級管理員的實現Hive
- Vue | 自定義指令和動態路由實現許可權控制Vue路由
- shiro許可權控制
- Vue 前端應用實現RBAC許可權控制的一種方式Vue前端
- 基於VUE自定義指令實現按鈕級許可權控制Vue
- Nestjs RBAC 許可權控制管理實踐(一)JS
- Nestjs RBAC 許可權控制管理實踐 (二)JS
- 利用DBMS_METADATA包獲取許可權資訊(轉)
- 玩轉 K8s 許可權控制:RBAC + kubeconfig 搞定 kubectl 許可權管理那些事K8S
- Linux許可權Linux
- [WCF許可權控制]利用WCF自定義授權模式提供當前Principal模式
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- Linux 特殊許可權Linux
- [WCF許可權控制]透過擴充套件自行實現服務授權套件
- 如何利用 Spring Hibernate 高階特性設計實現一個許可權系統Spring
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- 基於RBAC實現許可權管理
- Vue許可權路由實現總結Vue路由
- 從0實現RBAC許可權模型模型
- 後臺框架模板,前端使用 layui 框架,實現了完善的 RBAC 許可權控制框架前端UI
- 基於Spring框架應用的許可權控制系統的研究和實現Spring框架
- Spring Security實現基於RBAC的許可權表示式動態訪問控制Spring
- linux sudo許可權配置Linux
- Linux 檔案許可權Linux