干货分享 | GBase 8s用户与权限管理揭秘

2022-01-11 00:00:00 用户 数据库 配置 操作系统 权限


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



相关文章