干货分享 | GBase 8s用户与权限管理揭秘
★
FORWORD
★
数据库系统中数据存取权限的有效控制,是系统安全性的根本保证,包括数据对象和操作类型两方面。从信息角度来说就是为了保证信息自身的安全,数据库管理系统要能够防止信息的丢失和被内外部破坏。为达到这一目的,数据库管理员需要为每个用户赋予不同的权限,在满足不同用户的需求的前提下,对其能力加以限制,从而避免账户泄露、权限滥用等导致的数据安全问题。作为广泛应用于金融、电信等超大规模领域的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的用户体系图:
01
操作系统用户
创建操作系统用户
下面信息以CentOS 7为例,说明了操作系统用户的创建和删除语法。
语法:
示例:
在CentOS 7中,可以简写为:
说明:创建后的操作系统用户,不能立即访问GBase 8s中的数据,需要在授权后,才可以连接数据库,并访问数据库中的数据。用户的授权,请参考下面的权限管理。
删除操作系统用户
语法:
示例:
02
内部用户
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
权限管理
01
权限分类
GBase 8s的权限分为数据库权限和表权限。
数据库权限
表权限
02
为用户授予权限
语法:
示例:
通过“用户管理、权限管理”两个方面的加强,GBase 8s构建了强大的安全机制,有效地保障了库中的数据信息安全,为我国金融、电信等行业的数据信息安全提供中国力量!
THE END
—— 更多精彩,请戳图片 ——