自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

云安全:數(shù)據(jù)庫權(quán)限的分配與回收

運(yùn)維 數(shù)據(jù)庫運(yùn)維
數(shù)據(jù)安全的最重要措施就是數(shù)據(jù)庫賬號(hào)的權(quán)限管理,通常情況下數(shù)據(jù)庫賬號(hào)會(huì)分配給應(yīng)用程序、開發(fā)人員以及數(shù)據(jù)庫管理員(DBA),還有可能分配給其他需要利用數(shù)據(jù)進(jìn)行分析的非技術(shù)人員。

[[416067]]

 數(shù)據(jù)庫權(quán)限

數(shù)據(jù)庫權(quán)限主要是以用戶可以允許執(zhí)行的SQL語句來劃分,SQL語言可以分為四類操作:數(shù)據(jù)查詢語言DQL,數(shù)據(jù)操縱語言DML,數(shù)據(jù)定義語言DDL,數(shù)據(jù)控制語言DCL。

非技術(shù)人員通常只能使用DQL語句,這也是權(quán)限最低的SQL操作。數(shù)據(jù)查詢語言的基本結(jié)構(gòu)是由SELECT子句、FROM子句WHERE子句構(gòu)成。

SELECT <字段名表> FROM <表或視圖名> WHERE <查詢條件>

現(xiàn)在很多數(shù)據(jù)分析人員,都可以熟練使用SQL語言進(jìn)行自定義查詢,不再需要技術(shù)人員開發(fā)報(bào)表功能。

開發(fā)人員的權(quán)限管理

對(duì)于一般開發(fā)人員的權(quán)限分配,除了DQL以外,還有DML,也就是要滿足增刪改查(CRUD)的需求。

以下語句就是分別為普通開發(fā)人員 zhangsan 分配 MySQL 數(shù)據(jù)庫的增刪改查權(quán)限,delete操作要慎重分配。

 

  1. grant select on testdb.* to zhangsan@’%’ 
  2. grant insert on testdb.* to zhangsan@’%’ 
  3. grant update on testdb.* to zhangsan@’%’ 
  4. grant delete on testdb.* to zhangsan@' %’ 

 

對(duì)于高級(jí)開發(fā)人員的權(quán)限分配,主要需要數(shù)據(jù)定義語言DDL,利用DDL語句來創(chuàng)建數(shù)據(jù)庫中的各種對(duì)象-----表(Table)、視圖(View)、索引(Index)等。這種操作通常需要由有經(jīng)驗(yàn)的開發(fā)人員來完成。

以下語句實(shí)現(xiàn)了通過 grant 語句來分配創(chuàng)建、修改和刪除 MySQL 數(shù)據(jù)表結(jié)構(gòu)的權(quán)限。

 

  1. grant create on testdb.* to lisi@’192.168.0.%’; 
  2. grant alter on testdb.* to lisi@’192.168.0.%’; 
  3. grant drop on testdb.* to lisi@’192.168.0.%’; 

 

分配創(chuàng)建 MySQL 外鍵權(quán)限。

 

  1. grant references on testdb.* to lisi@’192.168.0.%’; 

分配創(chuàng)建 MySQL 臨時(shí)表權(quán)限。

 

  1. grant create temporary tables on testdb.* to lisi@’192.168.0.%’; 

分配創(chuàng)建 MySQL 索引權(quán)限。

 

  1. grant index on testdb.* to lisi@’192.168.0.%’; 

分配創(chuàng)建 MySQL 視圖、查看視圖源代碼權(quán)限。

 

  1. grant create view on testdb.* to lisi@’192.168.0.%’; 
  2. grant show view on testdb.* to lisi@’192.168.0.%’; 

 

分配創(chuàng)建 MySQL 存儲(chǔ)過程、函數(shù)權(quán)限。

 

  1. grant create routine on testdb.* to lisi@’192.168.0.%’; — now, can show procedure status 
  2. grant alter routine on testdb.* to lisi@’192.168.0.%’; — now, you can drop a procedure 
  3. grant execute on testdb.* to lisi@’192.168.0.%’; 

 

更高權(quán)限的分配

數(shù)據(jù)控制語言DCL用來授予或回收訪問數(shù)據(jù)庫的某種特權(quán),并控制數(shù)據(jù)庫操縱事務(wù)發(fā)生的時(shí)間及效果,對(duì)數(shù)據(jù)庫實(shí)行監(jiān)視等,通常這種特殊權(quán)限會(huì)分配給DBA使用。如:

  • GRANT:授權(quán)。
  • ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點(diǎn)。回滾命令使數(shù)據(jù)庫狀態(tài)回到上次最后提交的狀態(tài)。
  • COMMIT [WORK]:提交。

以下語句將testdb的所有權(quán)限都分配給dba賬戶

 

  1. grant all privileges on testdb to dba@’localhost’ 

其中,關(guān)鍵字 “privileges” 可以省略。

以下語句更厲害,將使得高級(jí) DBA 獲得管理 MySQL 中所有數(shù)據(jù)庫的權(quán)限。

 

  1. grant all on *.* to dba@’localhost’ 

權(quán)限的撤銷

使用revoke語句可以撤銷已經(jīng)賦予給 MySQL 用戶權(quán)限的權(quán)限。revoke 跟 grant 的語法差不多,只需要把關(guān)鍵字 “to” 換成 “from” 即可:

 

  1. grant all on *.* to dba@localhost; 
  2. revoke all on *.* from dba@localhost; 

 

在使用grant 或 revoke語句分配或撤銷權(quán)限后,該用戶只有重新連接 MySQL 數(shù)據(jù)庫,新的權(quán)限才能生效。

總結(jié)

在數(shù)據(jù)庫權(quán)限分配和管理中,應(yīng)當(dāng)嚴(yán)格區(qū)分賬戶的用途,并按照最小可用原則分配對(duì)應(yīng)的權(quán)限。當(dāng)賬戶不再使用以后,應(yīng)當(dāng)立即收回權(quán)限。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2017-03-14 13:57:15

數(shù)據(jù)庫權(quán)限分配探討

2015-01-19 10:18:53

Azure SQL數(shù)據(jù)庫審計(jì)云安全

2010-09-02 09:52:52

2011-01-10 10:45:20

SQL Server數(shù)

2014-11-12 15:15:31

云安全

2010-01-12 12:26:58

數(shù)據(jù)備份云安全數(shù)據(jù)銷毀

2009-02-16 15:29:00

2012-07-02 09:14:41

云安全云計(jì)算數(shù)據(jù)安全

2010-11-03 14:38:46

2017-06-01 14:28:07

2011-08-02 10:15:51

2017-02-09 10:39:55

2023-07-31 12:47:59

2012-11-13 11:00:05

2011-03-10 13:24:26

2013-06-04 09:32:22

2023-11-15 09:38:49

Oracle數(shù)據(jù)庫

2011-08-10 15:46:29

數(shù)據(jù)庫

2011-03-07 15:54:30

2015-10-30 15:05:08

Sybase數(shù)據(jù)庫安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)