返回首页

gbase数据、南大通用产品文档:GBase8a| 150339015962295 |

更新日期:2024年09月11日

|
11 |
87000 | 97440.5250982852 | -10440.5250982852 |
|
12 | 118600 | 117577.415360321 |

背景信息
GBase 8c 为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常帐户和删除不再使
用的帐户等一系列的安全措施,保证数据安全。
自动锁定和解锁账户

为了保证帐户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系
统将自动锁定该帐户,默认值为10。次数设置越小越安全,但是在使用过程中会带来
不便。

当帐户被锁定时间超过设定值(password_lock_time),则当前帐户自动解锁,默认值
为1 天。时间设置越长越安全,但是在使用过程中会带来不便。
说明

参数password_lock_time 的整数部分表示天数,小数部分可以换算成时、分、秒。

当failed_login_attempts 设置为0 时,表示不限制密码错误次数。当
password_lock_time 设置为0 时,表示即使超过密码错误次数限制导致帐户锁定,
也会在短时间内自动解锁。因此,只有两个配置参数都为正数时,才可以进行常规
的密码失败检查、帐户锁定和解锁操作。

这两个参数的默认值都符合安全标准,
用户可以根据需要重新设置参数,
提高安全
等级。建议用户使用默认值。
配置failed_login_attempts 参数。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
173
例如在分布式集群中修改此参数,执行操作如下:
1.
以操作系统用户gbase 登录数据库CN 节点。
2.
使用如下命令连接数据库。
gsql -d postgres -p 5432
postgres 为需要连接的数据库名称,5432 为数据库CN 节点的端口号。连接成功后,系
统显示类似如下信息:
gsql ((XXX GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0
last mr 55 )
Non-SSL connection (SSL connection is recommended when requiring high-security) Type
"help" for help.
gbase=#
3.
查看已配置的参数。
postgres=# SHOW failed_login_attempts;
failed_login_attempts
-----------------------
10
(1 row)
如果显示结果不为10,执行“\q”命令退出数据库。
4.
执行如下命令设置成默认值10。
gs_guc reload -Z coordinator -D /home/gbase/data/dn1/dn1_1/ -c "failed_login_attempts=10"
其中-Z 参数仅在分布式情况下需要指定。
配置password_lock_time 参数。
例如在分布式集群中修改此参数,执行操作如下:
1.
以操作系统用户gbase 登录数据库CN 节点。
2.
使用如下命令连接数据库。
gsql -d postgres -p 5432
postgres 为需要连接的数据库名称,5432 为数据库CN 节点的端口号。连接成功后,系
统显示类似如下信息:
gsql ((XXX GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0
last mr 55 )

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
174
Non-SSL connection (SSL connection is recommended when requiring high-security) Type
"help" for help.
gbase=#
3.
查看已配置的参数。
postgres=# SHOW password_lock_time;
password_lock_time
-----------------------
1
(1 row)
如果显示结果不为1,执行“\q”命令退出数据库。
4.
执行如下命令设置成默认值1。
gs_guc reload -Z coordinator -N all -I all -c
"password_lock_time=1"
其中-Z 参数仅在分布式情况下需要指定。
手动锁定和解锁账户
若管理员发现某帐户被盗、非法访问等异常情况,
可手动锁定该帐户。当管理员认为帐
户恢复正常后,可手动解锁该帐户。
以手动锁定和解锁用户joe 为例,用户的创建请参见7.2.4 用户,命令格式如下:

手动锁定
postgres=# ALTER USER joe ACCOUNT LOCK;
ALTER ROLE

手动解锁
postgres=# ALTER USER joe ACCOUNT UNLOCK;
ALTER ROLE
删除不再使用的账户
当确认帐户不再使用,管理员可以删除帐户。该操作不可恢复。
当删除的用户正处于活动状态时,
此会话状态不会立马断开,
用户在会话状态断开后才
会被完全删除。
以删除帐户joe 为例,命令格式如下:
postgres=# DROP USER joe CASCADE;
DROP ROLE

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
175

自动分片(SQL 管理 API)
随同 admin() 或 task() 函数,使用 autolocate database off 参数来禁用指定数据库
的表的自动定位和分片。
语法

元素
描述
关键考虑
database_name
数据库的名称


用法
您在指定的数据库中创建的新表存储在与数据库相同的 dbspace 中,且不分片。随着表的
增长,现有的自动地分片的表不分配新的分片。
示例
下列命令禁用在 customer_old 数据库中的表的自动定位和分片:
EXECUTE FUNCTION task("autolocate database off", "customer_old");