GBase新聞
GBase 8s用戶與權限管理揭秘
數據庫系統中數據存取權限的有效控制,是系統安全性的根本保證,包括數據對象和操作類型兩方面。從信息角度來說就是為了保證信息自身的安全,數據庫管理系統要能夠防止信息的丟失和被內外部破壞。為達到這一目的,數據庫管理員需要為每個用戶賦予不同的權限,在滿足不同用戶的需求的前提下,對其能力加以限制,從而避免賬戶泄露、權限濫用等導致的數據安全問題。作為廣泛應用于金融、電信等超大規模領域的GBase 8s,是如何為不同用戶進行權限管理的呢?本篇文章將從“用戶管理、權限管理”兩個方面為您揭開它的神秘面紗。
概述
GBase 8s的用戶管理,與其它關系型數據庫稍有不同,主要表現在:
GBase 8s支持使用操作系統的用戶,訪問數據庫。操作系統的用戶在授權后,可以直接訪問GBase 8s數據庫,其它的關系型數據庫,通常使用數據庫的內置用戶訪問數據庫中的數據,不支持使用操作系統用戶直接訪問數據庫中數據。
GBase 8s支持創建和使用數據庫內部用戶,訪問數據庫中的數據。這一特性在數據庫安裝后默認是關閉的,需要數據庫管理員修改參數,打開這一特性。
GBase 8s使用庫級權限和表級權限管理用戶對數據的訪問。
庫級權限為:CONNECT,RESOURCE和DBA。只有獲取庫級權限,才可以連接到數據庫。
表級權限為:SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,REFERENCE,ALL。
GBase 8s的內部有一個內置的public組,內部用戶對數據庫的訪問權限為public組標準權限加上內部用戶的專有權限,public組默認對表有查詢,新增,更新,刪除,索引權限。數據庫管理員可以根據需要,修改public的標準權限。
1. 用戶管理
GBase 8s的用戶分為:
操作系統用戶
GBase 8s可以使用操作系統的一個用戶,在授權后訪問數據庫。
內部用戶
1、使用數據庫內部一個用戶進行訪問。
2、內部用戶需要使用一個操作系統用戶做為代理。
3、可以創建一個默認用戶,簡化用戶的創建。
GBase 8s的用戶體系圖:
操作系統用戶
創建操作系統用戶
下面信息以CentOS 7為例,說明了操作系統用戶的創建和刪除語法。
語法:
示例:
在CentOS 7中,可以簡寫為:
說明:創建后的操作系統用戶,不能立即訪問GBase 8s中的數據,需要在授權后,才可以連接數據庫,并訪問數據庫中的數據。用戶的授權,請參考下面的權限管理。
刪除操作系統用戶
語法:
示例:
內部用戶
GBase 8s的內部用戶默認為不允許使用。如果需要使用GBase 8s的內部用戶,需要修改相應參數配置,并使之生效。
配置參數
配置onconfig中的USERMAPPING參數,允許使用內部用戶訪問GBase 8s,當該參數為OFF時,不允許使用內部用戶訪問GBase 8s。
配置操作系統代理用戶
GBase 8s代理用戶的配置文件,一般保存在/etc/gbasedbt/allowed.surrogates中。
在該配置文件中,可以配置代理的用戶和組。多個用戶和組信息,可以用逗號分隔。用戶配置信息以users關鍵字和冒號開頭,組配置信息以groups關鍵字和冒號開頭。
代理用戶配置示例如下:
修改后的配置信息不會立即生效,需要數據庫管理員更新配置信息,可以通過重啟數據庫更新信息。
注:一定要提前創建好代理用戶,且在修改該配置參數后,一定要更新數據庫的代理用戶緩存信息。
經過上面的配置后,GBase 8s可以創建和使用數據庫的內部用戶,訪問數據庫中的數據了。
創建默認內部用戶
可以創建一個默認用戶,做為其它內部用戶的模板。
語法:
示例:
創建默認用戶后,GBase 8s會創建一個名為public的內部組。
創建內部用戶(以默認用戶屬性為模板)
語法:
示例:
創建內部用戶(獨立屬性)
語法:
示例:
2. 權限管理
1. 權限分類
GBase 8s的權限分為數據庫權限和表權限。
數據庫權限
表權限
2. 為用戶授予權限
語法:
示例:
通過“用戶管理、權限管理”兩個方面的加強,GBase 8s構建了強大的安全機制,有效地保障了庫中的數據信息安全,為我國金融、電信等行業的數據信息安全提供中國力量!