資料庫的連接許可權
怎樣允許他人查看或執行查詢,但不能更改數據或查詢設計?
答:在安全工作組里,可以指定他人查看查詢返回數據的許可權。如果是操作查詢,還可以允許他們執行查詢,即使限制他們不得查看查詢的基表或基礎查詢。
1、在「設計」視圖中打開查詢。
2、在查詢「設計」視圖中單擊設計網格與欄位列表外的任何地方,以選定查詢。
3、單擊工具欄上的「屬性」按鈕 ,以顯示查詢的屬性表。
4、將「執行許可權」屬性設置為「所有者的」。
設置了此屬性後,應出現以下情形:
所有用戶都具有查詢所有者的查看或執行查詢許可權。
只有查詢所有者才能保存更改過的查詢。
只有查詢所有者才能更改查詢的所有權。
注釋 也可以設置所有新查詢的默認許可權。請在「工具」菜單上單擊「選項」,再單擊「表/查詢」選項卡,然後單擊想要使用的「執行許可權」選項。
問:怎樣定義用戶級安全?
答:
1、加入一個安全工作組或新建一個工作組信息文件。
要點 要完全確保資料庫的安全,請不要使用安裝 Microsoft Access
時創建的工作組信息文件所定義的默認工作組。而應該確保定義所加入的工作組的工作組信息文件是使用唯一的工作組 ID (WID) 創建的,否則應該創建一個新的工作組。
2、激活「登錄」對話框。
操作方法:啟動 Microsoft Access ,打開資料庫,
單擊「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,單擊「用戶」選項卡,確保在「名稱」框中預定義的「管理員」用戶帳號呈高亮度顯示,單擊「更改登錄密碼」選項卡,單擊「新密碼」框,然後鍵入新密碼。不要在「舊密碼」框中輸入任何內容,
在「驗證」框中再次鍵入密碼進行確認,然後單擊「確定」按鈕。退出ACCESS並重新啟動ACCESS,就會出現「登錄」對話框。
3、創建管理員的用戶帳號。
操作方法:
1)打開工作組管理器,按下「聯接。。。」按鈕,選擇 使用在第1 步驟中創建的安全工作組信息文件,退出管理器,啟動 Microsoft Access。
要點 如果要確保資料庫是完全安全的,請不要使用安裝 Microsoft Access
時創建的工作組信息文件中定義的默認工作組,並確保定義所用工作組的工作組信息文件是以唯一的工作組 ID (WID) 創建的,否則就應該重新創建一個工作組信息文件。
2)選擇「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,單擊「用戶」選項卡上的「新建」按鈕, 在「新用戶/組」對話框中,鍵入管理員帳號名稱和個人 ID
(PID),然後單擊「確定」按鈕新建帳號。
警告 一定要記住正確的帳號名和 PID,包括字母的大小寫,並其將其放在安全的地方。如果要重新創建帳號,必須提供其名稱和 PID。遺忘或丟失了帳號名和 PID
將無法恢復。
3)在「可用的組」框中,單擊「管理員組」,然後單擊「添加」按鈕。Microsoft Access
將把新的管理員帳號添加到管理員組並在「隸屬於」框中顯示「管理員組」。
4)單擊「確定」按鈕新建管理員帳號。
4、退出 Microsoft Access 並以新建的管理員身份登錄。
5、刪除管理員組中的管理員帳號。
操作方法:選擇「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,在「用戶」選項卡上的「名稱」框中輸入要移去的用戶。在「隸屬於」框中,選擇要「管理員組」的組,然後單擊「刪除」按鈕。
6、打開要設置安全的資料庫。
7、單擊「工具」菜單「安全」子菜單中的「用戶級安全性向導」命令。
8、根據向導對話框中的指示完成各個步驟。 ]
「用戶級安全性向導」將創建一個新的資料庫,並將原有資料庫中所有對象的副本導出到新的資料庫中,然後通過取消用戶組對新資料庫對象的所有許可權,為向導第一個對話框中的選定對象類型設置安全,然後加密新資料庫。原有資料庫沒有進行任何更改。表之間的關系和所有的鏈接表在新的資料庫中都將重建。
現在,只有在步驟 1
中加入的工作組管理員組成員可以訪問新資料庫中設置了安全的對象。「用戶」組則不具備對這些對象的許可權。要限制用戶和/或組對這些對象的訪問必須為其設置許可權。
另外,你可以定義不同的試圖,這樣就給不同的人,不同的信息表示了
B. 用戶訪問資料庫的許可權有哪幾種
用戶在具有了訪問資料庫的許可權之後,就可以授予其訪問資料庫對象的許可權了。可授予對象的許可權包括以下幾種:
�8�5 �8�5 SELECT
允許用戶對表或視圖發出SELECT語句。
�8�5 �8�5 INSERT
允許用戶對表或視圖發出INSERT語句。
�8�5 �8�5 UPDATE
允許用戶對表或視圖發出UPDATE語句。
�8�5 �8�5 DELETE
允許用戶對表或視圖發出DELETE語句。
�8�5 �8�5 EXECUTE
允許用戶對存儲過程發出EXECUTE語句。
C. ORACLE資料庫中的許可權和角色
ORACLE資料庫中的許可權和角色
Oracle資料庫是一種大型關系型的資料庫,我們知道當使用一個資料庫時,僅僅能夠控制哪些人可以訪問資料庫,哪些人不能訪問資料庫是無法滿足資料庫訪問控制的。DBA需要通過一種機制來限制用戶可以做什麼,不能做什麼,這在Oracle中可以通過為用戶設置許可權來實現。許可權就是用戶可以執行某種操作的權利。而角色是為了方便DBA管理許可權而引入的一個概念,它實際上是一個命名的許可權集合。
1 許可權
Oracle資料庫有兩種途徑獲得許可權,它們分別為:
① DBA直接向用戶授予許可權。
② DBA將許可權授予角色(一個命名的包含多個許可權的集合),然後再將角色授予一個或多個用戶。
使用角色能夠更加方便和高效地對許可權進行管理,所以DBA應該習慣於使用角色向用戶進行授予許可權,而不是直接向用戶授予許可權。
Oracle中的許可權可以分為兩類:
•系統許可權
•對象許可權
1.1 系統許可權
系統許可權是在資料庫中執行某種操作,或者針對某一類的對象執行某種操作的權利。例如,在資料庫中創建表空間的權利,或者在任何模式中創建表的權利,這些都屬於系統許可權。在Oracle9i中一共提供了60多種許可權。
系統許可權的權利很大,通常情況下:
① 只有DBA才應當擁有alter database系統許可權,該許可權允許用戶對資料庫物理結構和可用性進行修改。
② 應用程序開發者一般應該擁有Create Table、Create View和Create Type等系統許可權,用於創建支持前端的資料庫模式對象。
③ 普通用戶一般只具有Create session系統許可權(可以通過Connection角色獲得),只有Create Session系統許可權的用戶才能連接到資料庫
④ 只有具有Grant Any PRivilege系統許可權用戶,或者獲取了具有With Admin Option選項的系統許可權的用戶,才能夠成為其它用戶授予許可權。
1.2對象許可權
對象許可權是針對某個特定的模式對象執行操作的權利。只能針對模式對象來設置和管理對象許可權。
對於模式對象:表、視圖、序列、存儲過程、存儲函數、包都可以對象設置許可權。不同類型模式對象具有不同的對象許可權。比如,表、視圖等對象具有查詢(Select)、修改(Update)、刪除(Delete)等對象許可權,而存儲過程、存儲函數等對象則具有執行(Execute)等對象許可權。
但是並不是所有的模式對象都可以設置對象許可權。比如簇、索引、觸發器以及資料庫鏈接等模式就不具有對象許可權。這些模式對象的訪問控制是通過相應的.系統許可權來實現的,比如,要對索引進行修改,必須擁有Alter Any Index系統許可權。
用戶自動擁有他的模式中所有對象的全部對象許可權,他可以將這些對象許可權授予其他的用戶或角色。比如,Test1用戶創建了一個表Table1,在沒有授權的情況下,用戶Test2不能查詢、修改、刪除這個表。如果Test1將ETP表的Select對象許可權授予了Test2,則該用戶就可以查詢Table1表了。如果在為其它用戶授予對象許可權時用了With Grant Option選項,被授予許可權的用戶還可以將這個許可權在授予其他用戶。
2 角色
2.1角色的概念
角色就是多個相關許可權的命名集合。通過角色來進行對用戶授予許可權,可以大大簡化DBA的工作量。比如,處於統一部門中的30多個用戶都需要訪問資料庫中的一系列表,DBA可以將這些表的中合適的對象許可權授予一個角色,然後在把這個角色授予這些用戶,這樣進行操作要比為沒有用戶進行授權要便捷多了,而且要對這些用戶的許可權進行統一修改,只需要修改角色的許可權即可。
2.2角色的優點
通過角色為用戶授予許可權,而不是直接向各個用戶授權,具有以下優點:
•簡化許可權管理 DBA將用戶群分類,然後為每一類用戶創建角色,並將該角色授予這類用戶所需要的許可權,最後在將改角色授予該類中的各個用戶。這樣不僅簡化了授權操作,而且當這類用戶的許可權需求發生改變時,只需要把角色的許可權進行改動,而不必修改每一位用戶的許可權。
•動態許可權管理 角色可以被禁用或激活。當角色被禁止使用時,擁有該角色的用戶不再擁有授予改角色的許可權了。這樣就可以對多個用戶的許可權進行動態控制了。
•靈活的編程能力 角色是存儲在數據字典中的,並且可以為角色設置口令。這樣就能夠在應用程序中對角色進行控制。比如禁用或者激活等操作。
下面以Oracle9i為例,給出具體的實現用戶授權:
(1)設定各種角色,及其許可權
CREATE ROLE checkerrole DENTIFIEDBYxm361001;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANT SELECT,UPDATE ON
account.paytable TO checkerrole;
GRANT CONNECT TO defaultrole;
(2)創建用戶
CREATE USER xiaoli IDENTIFIEDBY xiaoli;
(3)授權
GRANT checkerrole TO xiaoli;
GRANT defaultrole TO xiaoli;
(4)設定用戶預設的角色
ALTER USER xiaoli DEFAULTROLE defaultrole;
(5)注冊過程
CONNECT xiaoli/xiaoli@oracle
此時用戶只有其預設角色的許可權。
(6)激活角色
SET ROLE checkerrole IDENTIFIEDBY xm361001;
----操作成功後,xiaoli擁有checkerrole的許可權。
----這里的角色和口令是固定的,在應用系統中可以由應用管理人員自行設置則更為方便安全
;D. 如何設置資料庫的許可權
一、必要性
隨著近年來資料庫技術的深入發展,以Unix平台為代表的Informix Dynamic Server和以NT平台為代表的MS SQL Server得到了廣泛的應用。在一個公共的環境中,存在大量的用戶操作,有資料庫管理員,主要做數據管理維護工作,也有普通用戶,做一定授權下的數據修改和數據查詢。我們知道,每個資料庫伺服器上可建立多個不同類別的資料庫,而每個資料庫中也可以生成多個存儲過程、表、視圖等。如何保證數據的安全可靠,防止非法存取所造成的破壞和數據泄露,如何進行許可權的劃分和設置,這是安全管理的重點,也是資料庫可靠運行的保證。本文以Informix Dynamic Server為例做詳細說明。 二、許可權的劃分
Informix Dynamic Server使用了三級許可權來保證數據的安全性,它們分別是資料庫級許可權、表級許可權和欄位級許可權,具體為:
1.資料庫級許可權
包括Connect、Resource、DBA三種類別,其中:
Connect: 最低級,僅允許用戶訪問資料庫中的表和索引,但不能創建和刪除它們;
Resource: 建立在Connect之上,允許用戶在資料庫中創建、刪除表和索引;
DBA: 即資料庫管理員,擁有資料庫管理的全部許可權,包括訪問資料庫表、創建和刪除索引、修改表結構、授予資料庫許可權給其他用戶等。
2.表/欄位(視圖)級許可權
指允許進行何種具體操作,主要包括:
Select: 從表或欄位中檢索信息;
Update: 修改指定欄位的值;
Insert: 向資料庫表中添加記錄;
Delete: 從資料庫表中刪除記錄;
Index: 為一個資料庫表創建索引;
Alter: 增加、刪除資料庫表中的欄位,或修改欄位的數據類型;
All: 以上所有許可權。
三、許可權的設置
Informix Dynamic Server通過一系列SQL控制語句來實施對用戶許可權的設置,使得不同的用戶只能在各自限定的范圍內存取數據。以下命令格式中Grant表示授予許可權,Revoke表示撤消許可權,User-List指用戶名列表,多個用戶以逗號(,)分隔,對大多數資料庫系統而言,PUBLIC代表所有用戶。
1.對於資料庫,其格式為:
Revoke { DBA | Resource | Connect } from { PUBLIC | User-List }
Revoke { DBA | Resource | Connect } from { PUBLIC | User-List }
預設情況下,建立資料庫的用戶就是資料庫管理員(DBA),除其本身和Informix用戶外,其它用戶不對該資料庫擁有任何許可權,因此也就不能進行任何形式的訪問。資料庫管理員可根據其他用戶的業務分工、操作范圍授予或撤消DBA、Resource、Connect三種不同的許可權。
2.對於表及視圖,其格式為:
Revoke TAB-PRI on [ tab_name | view_name ] from { PUBLIC | User-List }
Revoke TAB-PRI on [ tab_name | view_name ] from { PUBLIC | User-List }
其中TAB_PRI表示select、update、delete等操作許可權,tab_name、 view_name分別代表資料庫表名和視圖名。
預設情況下,新建的