oracle顯式授權和隱式授權
oracle 物件的授權
Oracle授權
一、授權語法
GRANT 語法:
1.顯式授權(直接將物件授權給使用者)
GRANT privilege [, ...] ON object [, ...] TO { Public| Group | Username|role} [WITH GRANT OPTION ]
例子 grant read,write on directory dir_home to public
2.隱式授權(透過將角色授權給使用者)
GRANT role TO { Public| Group | Username|role}
例子 grant connect,resource to oltp_user
語法說明:
privilege (許可權)
可能的許可權有:
SELECT--訪問宣告的表/檢視的所有列/欄位.
INSERT—對宣告的表插入所有列/欄位.
UPDATE—對宣告的表更新所有列/欄位.
DELETE--對宣告的表刪除所有列/欄位.
RULE --表/檢視上定義規則 (參見 CREATE RULE 語句).
ALL --賦予所有許可權.
object 賦予許可權的物件名.
可能的物件是:
table (表)
view (檢視)
sequence (序列)
index (索引)
directory (目錄)
Public 代表是所有使用者的簡寫.
Group 將要賦予許可權的組GROUP .目前的版本中,組必須是用下面方法顯式建立的.
Username 將要賦予許可權的使用者名稱.PUBLIC 是代表所有使用者的簡寫.
role 某個角色,(如DBA connect resource)
WITH GRANT OPTION 允許向別人賦予同樣許可權,被授權的使用者可以繼續授權.
描述
物件建立後,除了建立者外,除非建立者賦予(GRANT)許可權,其他人沒有訪問物件的許可權。
GRANT 允許物件的建立者給某使用者或某組或所有使用者(PUBLIC)某些特定的許可權。不需要給建立者賦予(GRANT)物件的許可權,建立者預設擁有物件的所有許可權,包括刪除它的許可權。
說明
Oracle不允許在儲存過程中使用未經顯式授權的物件. 要使用另一使用者的物件,必須透過另一使用者給自己顯示授權。
因為Oracle在編譯儲存過程時並不檢查定義者擁有的角色,只是檢查其被顯式授予的許可權,而DBA也是一種角色,所以即使是DBA,也需要顯式授權。
二、授權方式 (顯式和隱式)
物件授權有兩種模式,顯式和隱式:
顯示授權和隱式授權的區別是:顯式授權是直接把物件授權給使用者,隱式授權是給使用者授予角色的方式來實現授權。
1. 顯式授權是直接用GRANT語句進行授權。
語法:GRANT 某種許可權 TO 使用者
如:
CONN USER1/Password
GRANT SELECT ON TABLE1 TO USER2; 將user1的表TABLE1的select 許可權顯示授權給user2
GRANT UPDATE ON TABLE1 TO USER2; 將user1的表TABLE1的update許可權顯示授權給user2
注:用system/manager登入是沒法授權的,要使USER2使用者能在儲存過程裡面訪問USER1使用者的表,必須以USER1使用者(該使用者有dba許可權)登入,然後授權就可以了。
SQL>grant select on USER1.MA_USERINFO to USER2
2.隱式授權則是透過ROLE來授權。
語法:GRANT 某個角色 TO 使用者
如:
CONN USER1
GRANT SELECT ON TABLE1 TO ROLE1; 將USER1的表TABLE1的select許可權顯示授權給Role1
CONN SYSTEM 切換成管理員授予角色
GRANT ROLE1 TO USER2; 給USER2授與Role1的許可權。
三、收回許可權
語法:
顯式收權: revoke 許可權 from 使用者; 從使用者中收回許可權
隱式收權: Revoke角色 from 使用者; 從使用者中收回角色
例子:
revoke privilege1 from USER2; 從使用者中收回許可權
revoke select on table1 from User1; 收回查詢select表的許可權
revoke all on table1 from User1; 從使用者user1中收回表table1的所有許可權
revoke ROLE1 from USER2; 從使用者中收回角色
grant connect to xujin; 對使用者xujin授予connect角色
revoke connect from xujin 從使用者xujin收回connect角色
End
Leonarding
2012.2.9
天津
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-715992/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle授權Oracle
- 授權物件許可權後的授權者顯示問題物件
- ASP.NET Core策略授權和 ABP 授權ASP.NET
- Oracle建立使用者和授權Oracle
- 授權機制與授權模型研究模型
- Spring Security OAuth2.0認證授權四:分散式系統認證授權SpringOAuth分散式
- DATABASE VAULT授權的安全隱患Database
- oracle grant 授權語句Oracle
- 認證授權方案之授權初識
- mysql 授權MySql
- 表列授權
- 認證授權方案之授權揭祕 (上篇)
- Oracle檢視授權(with grant option)Oracle
- 定義者許可權儲存過程role無效,必須要有顯式授權儲存過程
- 【認證與授權】Spring Security的授權流程Spring
- 淺談MySQL中授權(grant)和撤銷授權(revoke)用法詳解MySql
- 前端微信授權前端
- Laravel授權策略Laravel
- 授權指令碼指令碼
- 對列授權
- 動態授權
- abp授權原理
- 認證授權
- 抖音分享和授權(iOS)iOS
- Django(59)驗證和授權Django
- 授權(Authorization)和認證(Authentication)
- springcloud Oauth2授權,四種授權型別SpringGCCloudOAuth型別
- Oracle使用者、授權、角色管理Oracle
- oracle建立使用者並授權Oracle
- 1.7.6. 授權和撤銷管理許可權
- DB2授權和特權安全機制DB2
- 【顯式授權】Procedure中無法完成DDL的建表操作的原因探查
- 使用java操作ranger,hdfs ranger授權操作,hive ranger授權操作JavaRangerHive
- OAUTH開放授權OAuth
- 微信網頁授權網頁
- Shiro(授權Authorization)
- 微信小程式——授權微信小程式
- 微信授權(Net Mvc)MVC