LOAD TABLE | YES | NO | NO | NO | YES | YES |
READ DATABASE TABLE DATA | YES | NO | NO | NO | YES | NO |
5.2 授予/撤消實例級權限
建立實例級權限的辦法是,將在外部安全設施中定義的用戶組賦給相關的實例級權限參數(SYSADM_GROUP、SYSCTRL_GROUP、SYSMAINT_GROUP、SYSMON_GROUP)。例如,如果希望用戶帳號
KATE
具有 SYSMAINT 權限,那麼可以將
KATE
放進
MAINT
組,然後將實例參數 SYSMAINT_GROUP 更新為
MAINT。這樣,MAINT
組中的任何用戶都將具有 SYSMAINT 權限。要從
KATE
那裡撤消 SYSMAINT 特權,只需從
MAINT
組中刪除她,或者將 SYSMAINT_GROUP 參數的值改為另一個不包含她的組。在後一種情況下,如果
MAINT
組的其他成員不是新組的成員,那麼他們的 SYSMAINT 權限也會被撤消。
清單 1
中給出了前面的命令及其結果。還可以以相似的方式更新任何其他實例級權限參數。
|
5.3 權限與特權的層次架構
圖 5
顯示 DB2 UDB 中不同的權限和特權級別。範圍從表上的特權到模式和存儲過程上的特權。圖 5 的上部顯示前一節描述的實例權限級別。注意 SYSADM 和 DBADM 權限自動獲得虛線下面對於某個數據庫的所有權限和特權。
5.4 各類權限說明
表 3
總結了對於用戶或用戶組可以授予和撤消的數據庫權限類型。只有具有 SYSADM 或 DBADM 權限的用戶可以授予和撤消這些權限。
數據庫權限 | |
CONNECT | 允許用戶連接數據庫 |
BINDADD | 允許用戶在數據庫中創建新的包 |
CREATETAB | 允許用戶在數據庫中創建新的表 |
CREATE_NOT_FENCED | 允許用戶註冊定義為 NOT FENCED 的用戶定義函數(UDF)或存儲過程 |
IMPLICIT SCHEMA | 允許用戶在尚不存在的模式中創建對象(它自動地創建模式)* |
QUIESCE_CONNECT | 允許用戶連接處於 quiesced 狀態的數據庫 |
CREATE_EXTERNAL_ROUTINE | 允許用戶註冊外部例程(用 C 和 Java 等外部語言編寫的例程) |
*SYSIBM 成為隱式創建的模式的所有者,PUBLIC 組被授予在這個模式中創建對象的特權。
表 4
總結了對於用戶或用戶組可以授予和撤消的惟一一種表空間特權(USE)。USE 特權不能對 SYSCATSPACE 或任何系統臨時表空間使用。
表空間特權 | |
USE | 允許用戶在指定的表空間中創建表 |
表 5
總結了對於用戶或用戶組可以授予和撤消的模式特權類型。
模式特權 | |
CREATEIN | 允許用戶在模式中創建對象 |
ALTERIN | 允許用戶在模式中修改對象 |
DROPIN | 允許用戶從模式中刪除對象 |
表 6
總結了對於用戶或用戶組可以授予和撤消的表/視圖特權。
表/視圖特權 | |
CONTROL | 授予用戶在表和視圖上的所有特權,以及將這些特權(除了 CONTROL)授予別人 |
ALTER | 允許用戶在表中添加列、在表和它的列上添加或修改注釋、添加主鍵或惟一約束以及創建或刪除表檢查約束 |
DELETE | 允許用戶從表或視圖中刪除行 |
INDEX | 允許用戶在表上創建索引 |
INSERT | 允許用戶在表或視圖中插入數據 |
REFERENCES | 允許用戶創建和刪除外鍵,這需要指定關係中的父表 |
SELECT | 允許用戶從表或視圖中檢索行、在表上創建視圖以及運行 EXPORT 實用程序 |
UPDATE | 允許用戶修改表、視圖或者表或視圖中某些列中的數據;用戶可以只在特定列上具有這種特權 |
表 7
總結了對於用戶或用戶組可以授予和撤消的惟一一種索引特權(CONTROL)。
索引特權 | |
CONTROL | 允許用戶刪除索引 |
表 8
總結了對於用戶或用戶組可以授予和撤消的包特權類型。“靜態和動態 SQL 考慮因素” 一節更詳細地討論包概念。
包特權 | |
CONTROL | 允許用戶重新綁定、刪除或執行包,以及將這些特權(除了 CONTROL)授予別人 |
BIND | 允許用戶重新綁定現有的包 |
EXECUTE | 允許用戶執行包 |
表 9
總結了對於用戶或用戶組可以授予和撤消的惟一一種例程特權(EXECUTE)。
例程特權 | |
EXECUTE | 允許用戶調用例程,從例程創建函數(只應用於函數),以及在任何 DDL 語句(比如 CREATE VIEW、CREATE TRIGGER 或定義約束時)中引用例程 |
表 10
總結了對於用戶或用戶組可以授予和撤消的序列特權類型。
序列特權 | |
USAGE | 允許用戶對序列使用 NEXTVAL 和 PREVVAL 表達式 |
ALTER | 允許用戶使用 ALTER SEQUENCE 語句修改序列屬性 |
5.5 授予/撤消權限
與實例級權限相似,可以使用命令語法或 Control Center 授予和撤消特權。要想授予或撤消特權,必須有數據庫連接。圖 6 顯示錶和視圖特權的 GRANT 語句的語法圖。其他數據庫對象的 GRANT 語句語法是相似的,請參考
DB2 UDB 文檔。
例如,要使用 GRANT 語句向用戶
JEFF
授予
ACCOUNT
表的 INSERT 特權,那麼發出以下語句:
GRANT INSERT ON TABLE account TO USER jeff
要向
SALESREPS
組授予
CUSTOMER
表的 SELECT 特權,那麼發出以下語句:
GRANT SELECT ON TABLE customer TO GROUP salesreps
以下文章點擊率最高
Loading…