實驗:用檢視加同義詞實現資料安全
實驗:用檢視加同義詞實現資料安全
需求:test01使用者需要訪問test02使用者的a表中的userid和password列:
1,不使用檢視
conn / as sysdba;
drop user test01 cascade;
drop user test02 cascade;
create user test01 account unlock identified by test01;
grant create session,create synonym to test01;
create user test02 account unlock identified by test02 quota 100m on users;
grant create session,create table to test02;
conn test02/test02
create table a(userid number,password varchar2(20),salary varchar2(20));
insert into a values(1,'abc','3000');
insert into a values(2,'edf','6000');
commit;
select * from a;
grant select on a to test01;
conn test01/test01
create synonym a for test02.a;
select userid,password from a;
select * from a;
結果 select * from a;使用者看到了不該看到的其他列,這對DBA來說是一個重大失誤。
2,使用檢視
conn / as sysdba;
drop user test01 cascade;
drop user test02 cascade;
create user test01 account unlock identified by test01;
grant create session,create synonym to test01;
create user test02 account unlock identified by test02 quota 100m on users;
grant create session,create table,create view to test02;
conn test02/test02
create table a(userid number,password varchar2(20),salary varchar2(20));
insert into a values(1,'abc','3000');
insert into a values(2,'edf','6000');
commit;
select * from a;
create view a_vw as select userid,password from a;
grant select on a_vw to test01;
conn test01/test01
create synonym a for test02.a_vw;
select * from a;
結果:使用者只能看到檢視中指定的兩列,既滿足了需求同時也實現了資料安全性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21256317/viewspace-776878/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer訪問Oracle(通過同義詞-檢視-資料字典)出現的問題SQLServerOracle
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- 資料庫物件、表空間、表、檢視、索引、同義詞序列等的字典資料庫物件索引
- 資料庫鏈與同義詞資料庫
- 通過建立檢視及同義詞方式實現普通使用者查詢X$基表的方法
- Oracle資料庫開發——同義詞Oracle資料庫
- 物化檢視加DBLINK實現資料的同步_20170216
- 【Oracle】-【同義詞】-public與非public同義詞Oracle
- Oracle——04同義詞與資料庫連結Oracle資料庫
- [Q]怎麼檢視資料庫版本 zt及實驗資料庫
- HarmonyOS NEXT應用開發—自定義檢視實現Tab效果
- Oracle資料鏈+同義詞+訪問遠端資料庫Oracle資料庫
- set unused column和檢視,約束,同義詞和索引的關係索引
- iOS實現自定義的彈出檢視(popView)iOSView
- 物件、同義詞和公有同義詞順序選取物件
- MySQL資料庫檢視:檢視定義、建立檢視、修改檢視MySql資料庫
- 用insert all實現同時向多表插入資料
- 【原創】匯出所有物件(表、索引、檢視、同義詞)的建立指令碼物件索引指令碼
- 用IndexedDB+Cookie實現HTML5本地資料庫關鍵詞檢索IndexCookieHTML資料庫
- Flutter自定義實現神奇的卡片切換檢視Flutter
- 語義分析發現:靈玖大資料檢索與分詞大資料分詞
- 用Flask實現視訊資料流傳輸Flask
- 使用檢視配合With Check Option實現複雜校驗
- ES 實現實時從Mysql資料庫中讀取熱詞,停用詞MySql資料庫
- ElasticSearch 實現分詞全文檢索 - 概述Elasticsearch分詞
- 檢視oracle資料庫真實大小Oracle資料庫
- Android中水波紋使用之自定義檢視實現Android
- elasticsearch之ik分詞器和自定義詞庫實現Elasticsearch分詞
- 保護系統 用資料庫加密實現資料的安全資料庫加密
- 授權與同義詞
- ORACLE公有/私有同義詞Oracle
- 詳解同義詞(synonym)
- 用外部表實現Alert日誌的檢視
- MATLAB 檢驗資料正態分佈及程式碼實現Matlab
- 資料庫實驗3 資料定義語言DDL資料庫
- 資料庫實驗五 資料庫的安全性資料庫
- Linux實時檢視Java介面資料LinuxJava
- Mybatis實現分包定義資料庫MyBatis資料庫