數(shù)據(jù)庫原理之數(shù)據(jù)庫權(quán)限管理
Oracle 安 全 管 理 用戶與模式l 用 戶 是 指 在 數(shù) 據(jù) 庫 中 定 義 的 、 用 來 訪 問 數(shù) 據(jù) 庫的 名 稱 , 模 式 是 指 一 系 列 數(shù) 據(jù) 庫 對 象 ( 如 表 、視 圖 、 索 引 等 ) 的 集 合 , 模 式 對 象 是 數(shù) 據(jù) 庫 數(shù)據(jù) 的 邏 輯 結(jié) 構(gòu) 。l 用 戶 的 作 用 是 連 接 數(shù) 據(jù) 庫 并 訪 問 模 式 中 的 對 象 ,而 模 式 的 作 用 是 創(chuàng) 建 和 管 理 數(shù) 據(jù) 庫 的 對 象 。l 在 Oracle數(shù) 據(jù) 庫 中 , 模 式 與 用 戶 是 一 一 對 應(yīng) 的 ,一 個 模 式 只 能 被 一 個 用 戶 所 擁 有 并 且 名 字 必 須與 用 戶 的 名 稱 相 同 , 而 一 個 用 戶 也 只 能 擁 有 一個 模 式 。 用戶與模式l 當 用 戶 訪 問 自 己 模 式 中 的 對 象 時 , 不 需要 指 定 模 式 名 。l 經(jīng) 過 授 權(quán) 的 用 戶 還 可 以 訪 問 其 他 模 式 的對 象 , 訪 問 時 要 在 對 象 名 的 前 面 加 上 模式 名 。 一、創(chuàng)建用戶l 語 法 格 式 如 下 :CREATE USER user_nameIDENTIFIED BY password | EXTERNALLY | GLOBALLY DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE temp_tablespace QUOTA size|UNLIMITED ON tablesapce_name PROFILE profile PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ; 一、創(chuàng)建用戶( 1) user_name是 要 創(chuàng) 建 的 數(shù) 據(jù) 庫 用 戶 的 名 稱 。( 2) IDENTIFIED 子 句 用 于 指 定 數(shù) 據(jù) 庫 用 戶 的 認證 方 式 , password是 指 要 創(chuàng) 建 的 數(shù) 據(jù) 庫 用 戶 的密 碼 , 也 就 是 使 用 密 碼 認 證 方 式 , EXTERNALLY表 示 要 使 用 外 部 認 證 方 式 , GLOBALLY表 示 要 使用 全 局 認 證 方 式 。( 3) DEFAULT TABLESPACE用 于 指 定 創(chuàng) 建 用 戶 的 默認 表 空 間 。 一、創(chuàng)建用戶( 4) TEMPORARY TABLESPACE用 于 指 定 用 戶 的 臨 時表 空 間 。( 5) QUOTA( 配 額 ) 在 Oracle數(shù) 據(jù) 庫 中 用 于 對 資源 的 使 用 進 行 限 制 。( 6) PASSWORD EXPIRE用 于 指 定 用 戶 密 碼 初 始 狀態(tài) 為 過 期 。( 7) ACCOUNT用 于 指 定 用 戶 的 鎖 定 狀 態(tài) 。( 8) 創(chuàng) 建 用 戶 后 , Oracle數(shù) 據(jù) 庫 就 會 自 動 創(chuàng) 建 一個 與 該 用 戶 名 稱 相 同 的 模 式 , 該 用 戶 創(chuàng) 建 的 所有 對 象 都 會 保 存 在 這 個 模 式 中 。 二、系統(tǒng)權(quán)限管理1 常 用 的 系 統(tǒng) 權(quán) 限l Oracle數(shù) 據(jù) 庫 的 系 統(tǒng) 權(quán) 限 非 常 多 , 共 有 200多 種 ,總 體 上 可 以 分 為 操 作 數(shù) 據(jù) 庫 的 權(quán) 限 和 操 作 對 象 的權(quán) 限 , 可 以 通 過 查 詢 視 圖 system_privilege_map了 解 Oracle數(shù) 據(jù) 庫 中 的 系 統(tǒng) 權(quán) 限 。l 特 殊 的 系 統(tǒng) 權(quán) 限 就 是 sysdba( 數(shù) 據(jù) 庫 管 理 員 ) 和sysoper( 數(shù) 據(jù) 庫 操 作 員 ) 。 二、系統(tǒng)權(quán)限管理2 為 用 戶 授 予 系 統(tǒng) 權(quán) 限l 語 法 格 式 如 下 :GRANT sys_priv, sys_priv, TO user, user , | role, role , | PUBLICWITH ADMIN OPTION 二、系統(tǒng)權(quán)限管理3 回 收 授 予 的 系 統(tǒng) 權(quán) 限l 語 法 格 式 如 下 :REVOKE sys_priv , sys_priv, FROM user, user , | role, role , | PUBLIC 二、系統(tǒng)權(quán)限管理4 查 看 用 戶 的 系 統(tǒng) 權(quán) 限l 可 以 通 過 以 下 的 數(shù) 據(jù) 字 典 視 圖 了 解 與 用 戶 系 統(tǒng) 權(quán) 限 相 關(guān)的 信 息 :( 1) user_sys_privs: 顯 示 授 予 給 當 前 用 戶 的 系 統(tǒng) 權(quán) 限 信息 , 包 括 用 戶 名 稱 、 系 統(tǒng) 權(quán) 限 和 是 否 能 轉(zhuǎn) 授 權(quán) 限 的 標 志信 息 等 信 息 。( 2) dba_sys_privs: 顯 示 數(shù) 據(jù) 庫 中 所 有 授 予 給 用 戶 和 角色 的 系 統(tǒng) 權(quán) 限 信 息 , 包 括 接 受 者 、 系 統(tǒng) 權(quán) 限 和 是 否 可 以轉(zhuǎn) 授 等 信 息 。( 3) session_privs: 顯 示 當 前 用 戶 所 擁 有 的 全 部 系 統(tǒng) 權(quán)限 的 信 息 。 三、對象權(quán)限管理1 常 用 的 對 象 權(quán) 限 Oracle數(shù) 據(jù) 庫 中 有 8種 對 象 權(quán) 限 , 它 們 分 別 是 : ( 1) SELECT權(quán) 限 : 執(zhí) 行 查 詢 操 作 , 能 夠 執(zhí) 行 的 對 象是 表 、 視 圖 和 序 列 。( 2) INSERT權(quán) 限 : 執(zhí) 行 插 入 數(shù) 據(jù) 的 操 作 , 能 夠 執(zhí) 行的 對 象 是 表 和 視 圖 。( 3) UPDATE權(quán) 限 : 執(zhí) 行 更 新 數(shù) 據(jù) 的 操 作 , 能 夠 執(zhí) 行的 對 象 是 表 和 視 圖 。( 4) DETELE權(quán) 限 : 執(zhí) 行 刪 除 數(shù) 據(jù) 的 操 作 , 能 夠 執(zhí) 行的 對 象 是 表 和 視 圖 。 三、對象權(quán)限管理( 5) ALTER權(quán) 限 : 執(zhí) 行 修 改 對 象 的 操 作 , 能 夠 執(zhí) 行的 對 象 是 表 和 序 列 。( 6) INDEX權(quán) 限 : 執(zhí) 行 創(chuàng) 建 索 引 的 操 作 , 能 夠 執(zhí) 行的 對 象 是 表 。( 7) REFERENCES權(quán) 限 : 執(zhí) 行 外 鍵 引 用 的 操 作 , 能夠 執(zhí) 行 的 對 象 是 表 。( 8) EXECUTE權(quán) 限 : 執(zhí) 行 對 象 的 操 作 , 能 夠 執(zhí) 行 的對 象 是 函 數(shù) 、 過 程 和 包 。 三、對象權(quán)限管理2 為 用 戶 授 予 對 象 權(quán) 限GRANT obj_priv(column_name, .) , obj_priv(column_name, .), ON obj_nameTO user, user , | role, role , | PUBLICWITH GRANT OPTION 三、對象權(quán)限管理3 回 收 授 予 的 對 象 權(quán) 限REVOKE obj_priv(column_name, .) , obj_priv(column_name, .), ON obj_name FROM user, user , | role, role , | PUBLIC 三、對象權(quán)限管理4 查 看 用 戶 的 對 象 權(quán) 限l 可 以 通 過 以 下 的 數(shù) 據(jù) 字 典 視 圖 了 解 與 用 戶 系 統(tǒng) 權(quán)限 相 關(guān) 的 信 息 : user_tab_privs、 all_tab_privs、dba_tab_privs、 user_col_privs、all_col_privs、 dba_col_privs、user_tab_privs_made、 all_tab_privs_made、dba_tab_privs_made、 user_col_privs_mad、all_col_privs_made、 user_tab_privs_recd、all_tab_privs_recd、 user_col_privs_recd、all_col_privs_recd、