利用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
- ORACLE FGAC(細粒度許可權控制)(轉)Oracle
- Linux許可權控制Linux
- spring aop實現許可權控制,路徑控制Spring
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- oracle列級許可權控制Oracle
- 前端許可權控制系統的實現思路前端
- 什麼是AOP系列之二:AOP與許可權控制實現(轉)
- SpringMVC使用攔截器實現許可權控制SpringMVC
- spring boot 利用註解實現許可權驗證Spring Boot
- 利用ORACLE VPD實現使用者安全控制Oracle
- SpringBoot(一) 如何實現AOP的許可權控制Spring Boot
- spring aop實現簡單的許可權控制功能Spring
- Atlas 2.1.0 實踐(4)—— 許可權控制
- 利用VB實現對IE的呼叫與控制 (轉)
- HIVE的許可權控制和超級管理員的實現Hive
- Vue | 自定義指令和動態路由實現許可權控制Vue路由
- Spring Security實現統一登入與許可權控制Spring
- springcloud-gateway整合jwt+jcasbin實現許可權控制SpringGCCloudGatewayJWT
- Elasticsearch 許可權控制Elasticsearch
- 利用sudo命令為Ubuntu分配管理許可權(轉)Ubuntu
- Oracle 許可權常用語句【轉】Oracle
- Linux 許可權控制的基本原理Linux
- 利用PATH環境變數 - 提升linux許可權~?變數Linux
- 基於VUE自定義指令實現按鈕級許可權控制Vue
- Vue 前端應用實現RBAC許可權控制的一種方式Vue前端
- 基於Vue2.0實現後臺系統許可權控制Vue
- Asp.net下使用HttpModule模擬Filter,實現許可權控制ASP.NETHTTPFilter
- Spring+Struts 2 實現細粒度許可權控制問題Spring
- AIX 的許可許可權(轉)AI
- [MySQLFAQ]系列–如何利用觸發器實現賬戶許可權審計MySql觸發器
- Appfuse:許可權控制APP
- springboot + shiro 實現登入認證和許可權控制Spring Boot
- Nestjs RBAC 許可權控制管理實踐(一)JS
- Nestjs RBAC 許可權控制管理實踐 (二)JS
- 【Struts2】:Interceptor實戰之許可權控制
- ORACLE許可權Oracle
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件