您好,登錄后才能下訂單哦!
在數據庫管理中一定本著一個原則就是權限最小化的原則,如果有需要在賦予相應的權限
數據庫管理員日常對于用戶的管理任務如下:
– 創建新用戶
– 刪除用戶
– 刪除表
– 備份表
1、創建用戶yuri,并設置密碼為password。
create user yuri identified by password;
2、用戶創建之后, DBA 會賦予用戶一些系統權限
以應用程序開發者為例, 一般具有下列系統權限:
- create session
-create table
-create sequence
-create view
-create procedure
例如:賦予用于yuri如下權限
grant create session, create table, create sequence, create view to yuri;
二、角色的作用
角色的目的是定義了一個有哪些權限的角色,并把用戶指定為這個角色。方便統一管理
1、創建角色
create role mang;
2、賦予角色權限
grant create table, create view to mang;
3、將角色授予用戶
grant mang to yuri
DBA 可以創建用戶和修改密碼。
用戶自己可以使用 ALTER USER 語句修改密碼。
4、將yuri用戶的密碼改為1q2w3e
alter user yuri identified by 1q2w3e;
對象權限
對象權限 | Table | View | Sequence |
ALTER | |||
DELETE | |||
INDEX | |||
INSERT | |||
REFERENCES | |||
SELECT | |||
UPDATE |
不同的對象具有不同的對象權限
對象的擁有者擁有所有權限
對象的擁有者可以向外分配權限
語法:
grant object_priv [(columns)] on object to {user|role|public} [with grant option];
1、賦予查詢employees表的權限給yuri用戶
grant select on employees to yuri;
授予指定的列給yuri用戶和mang角色,更新department_name和location_id的權限
grant update (department_name, location_id) on departments to yuri, mang;
WITH GRANT OPTION 和 和 PUBLIC 關鍵字
WITH GRANT OPTION 使用戶同樣具有分配權限的權利
grant select, insert on departments to demo with grant option;
向數據庫中所有用戶分配權限
grant select on alice.departments to public;
確認授予的權限
數據字典視圖 | 描述 |
ROLE_SYS_PRIVS | 角色擁有的系統權限 |
ROLE_TAB_PRIVS | 角色擁有的對象權限 |
USER_ROLE_PRIVS | 用戶擁有的角色 |
USER_SYS_PRIVS | 用戶擁有的系統權限 |
USER_TAB_PRIVS_MADE | 用戶分配的關于表對象權限 |
USER_TAB_PRIVS_RECD | 用戶擁有的關于表對象權限 |
USER_COL_PRIVS_MADE | 用戶分配的關于列的對象權限 |
USER_COL_PRIVS_RECD | 用戶擁有的關于列的對象權限 |
撤銷對象權限
使用 REVOKE 語句撤銷權限
使用 WITH GRANT OPTION 子句所分配的權限同樣被收回
語法:
revoke {privilege [, privilege...]|all} on object from {user[, user...]|role|public} [cascade constraints];
1、撤銷授予給 yuri 用戶 employees 表的 SELECT 和 INSERT 權限。
revoke select ,instert on employees from yuri;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。