蓝魔MOS1支持SD存储卡 | TF扩展吗
328 2023-04-03 04:58:49
KingbaseES可以对用户口令与用户占用资源进行必要的管理。其管理方式,在这里与Oracle数据库进行参考比较。
KingbaseES 使用扩展插件建立的系统参数,这组参数可以对数据库资源使用进行限制。
口令有效期,单位是天,0表示无限,默认值是 30
ALTER SYSTEM SET identity_pwdexp.password_change_interval = 7;
Oracle 使用CREATE PROFILE语句创建配置文件,这是对数据库资源的一组限制。如果将配置文件分配给用户,则该用户不能超过这些限制。
指定同一密码所容许运用的天数。
ALTER PROFILE DEFAULT LIMIT Password_life_time 7;
为了管理用户口令和资源,使用到如下插件:
passwordcheck
密码规则校验,检查密码的最小长度,所包含数字、字母和符号等要求。
identity_pwdexp
口令有效期管理,可以启闭有效期管理,和设置口令有效期的天数。
sys_audlog
用户登录记录管理,记载帐户登录成功和失败的历史信息。可以在ksql工具登录成功时,显示出来相关信息。以及根据配置参数值,限制登录失败次数。
passwordhistory
口令历史管理, 是由数据库管理员对初次设定的口令或更改过的口令使用天数进行设置后,在修改用户口令时,自动对口令已使用天数进行相关方面的检查。如果口令不满足指定的条件,那么更改口令将不成功。
这些插件的使用方法如下:
#修改参数配置文件kingbase.confshared_preload_libraries = 'passwordcheck, identity_pwdexp, sys_audlog, passwordhistory'
#建立扩展create extension passwordcheck;create extension identity_pwdexp;create extension sys_audlog;create extension passwordhistory;
#默认开启口令有效期配置identity_pwdexp.enable_common_user_autoset_interval = on#默认关闭口令检查配置passwordcheck.enable = on#默认关闭口令历史管理配置passwordhistory.enable = on
创建profile 语法:
CREATE|ALTER PROFILE profile LIMIT { resource_parameters | password_parameters }... [ CONTAINER = { CURRENT | ALL } ] ;
允许帐户登录到用户帐户的连续失败尝试次数,如果达到失败次数,则帐户被锁定。
KingbaseES 环境参数
#可设置最大失败次数,默认值为 2147483647sys_audlog.max_error_user_connect_times = 2147483647#默认值为 0 , 不限次数sys_audlog.error_user_connect_times = [0,errtimes_max]
Oracle profile 参数
#默认值为 10 FAILED_LOGIN_ATTEMPTS { integer | UNLIMITED | DEFAULT }
指定帐户在指定连续失败的登录尝试次数后,将被锁定的时长。
KingbaseES 环境参数
#被锁定的分钟数,默认值为 0 分钟sys_audlog.error_user_connect_interval = [0,int_max]
Oracle profile 参数
#被锁定的天数,默认值为 1 天 PASSWORD_LOCK_TIME{ integer | UNLIMITED | DEFAULT }
指定同一密码可用于身份验证的天数,在限期内未更改密码,则密码将过期,并且会拒绝进一步的连接。
KingbaseES 环境参数
#可设置最大有效期的天数,默认值为 30 天identity_pwdexp.max_password_change_interval = [30,int_max]#最大有效期的天数,默认值为 30 天identity_pwdexp.password_change_interval = [1,interval_max]
Oracle profile 参数
#有效期的天数,默认值为 180 天 PASSWORD_LIFE_TIME { integer | UNLIMITED | DEFAULT }
指定密码不能重复使用的天数。
KingbaseES 环境参数
#不能重复使用的天数,默认值为 0 天,即不限制口令重复使用passwordhistory.password_time = [0,int_max]
Oracle profile 参数
#不能重复使用的天数,默认值为 UNLIMITEDPASSWORD_REUSE_TIME { integer | UNLIMITED | DEFAULT } #重新使用当前密码之前所需的密码更改次数,默认值为 UNLIMITEDPASSWORD_REUSE_MAX { integer | UNLIMITED | DEFAULT }
这两个参数必须一起设置,要使这些参数产生任何效果,必须为它们指定一个值。
如果为这两个参数都指定了值,则在为 指定的天数中,将密码更改为 指定的次数之前,用户无法重复使用密码。
例如,如果 PASSWORD_REUSE_TIME 30 和 PASSWORD_REUSE_MAX 10,则如果密码已更改 10 次,则用户可以在 30 天后重复使用该密码。如果为其中一个参数指定一个值,并为另一个参数指定
UNLIMITED
,则用户永远不能重复使用密码。如果为任一参数指定默认值,则Oracle数据库将使用默认配置文件中定义的值。
如果将这两个参数都设置为
UNLIMITED
,则数据库会忽略这两个参数。如果省略这两个参数,这是默认值。
在口令失效前,给予的重新设该口令的宽限天。当口令失效之后,会在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。
KingbaseES 环境参数
#无此功能
Oracle profile 参数
#宽限期的天数,默认值为 7 天 PASSWORD_GRACE_TIME { integer | UNLIMITED | DEFAULT }
允许的连续不登录用户帐户的天数,超过此天数,该帐户将被锁定。
KingbaseES 环境参数
#无此功能
Oracle profile 参数
#连续不登录帐户的天数,最小值为 15 天,默认值为 UNLIMITED INACTIVE_ACCOUNT_TIME { integer | UNLIMITED | DEFAULT }
指定密码的最小长度,所包含数字、字母和符号等要求,如果不能通过口令复杂度检查,则不能创建用户,或修改用户口令。
KingbaseES 环境参数
#密码中的最小数字个数,默认值为 2passwordcheck.password_condition_digit = 2#密码中的最小字母个数,默认值为 2passwordcheck.password_condition_letter = 2#密码中的最小符号个数,默认值为 2passwordcheck.password_condition_punct = 0#用户的最小密码长度,默认值为 8passwordcheck.password_length = [8,63]
口令包含的特殊符号是指,除了空白符、数字、英文字母、单引号之外的所有可见字符。
Oracle profile 参数
#允许将 PL/SQL 密码复杂性验证脚本作为参数传递给语句 PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT }
Oracle 数据库提供了验证函数,但您可以创建自己的例程或改用第三方软件。
- VERIFY_FUNCTION
- 检查密码是否与用户名相同
- 检查密码是否至少包含四个字符,包括一个字母、一个数字和一个标点符号。
- 检查密码是否太简单。要求,长度 4,字母 1,数字1 ,特殊符号 1。
- 检查密码是否与之前的密码至少相差3个字母
- VERIFY_FUNCTION_11G
- ORA12C_VERIFY_FUNCTION
- ORA12C_STRONG_VERIFY_FUNCTION
- ORA12C_STIG_VERIFY_FUNCTION
限制用户能建立多少并发连接 。
KingbaseES DDL
#限制指定用户的并发连接数 CREATE|ALTER USER role_specification CONNECTION LIMIT 10 ;
Oracle profile 参数
#限制用户的并发连接数 SESSIONS_PER_USER { integer | UNLIMITED | DEFAULT }
指定会话期间允许的连续非活动时间, 用于避免不必要的连接。
KingbaseES 环境参数
#设定任何客户端空载间隔的最大允许持续时间(秒),默认值 0,不限制。 client_idle_timeout = 0
Oracle profile 参数
#指定会话期间允许的连续非活动时间,以分钟为单位。 IDLE_TIME { integer | UNLIMITED | DEFAULT }
CONNECT_TIME { integer | UNLIMITED | DEFAULT }
### 3、CPU时长指定会话或语句的 CPU 时间限制, 用于避免不必要的CPU开销。 * KingbaseES 环境参数
statement_timeout = 0
idle_in_transaction_session_timeout = 0
lock_timeout = 0
* Oracle profile 参数
CPU_PER_CALL { integer | UNLIMITED | DEFAULT }
CPU_PER_SESSION { integer | UNLIMITED | DEFAULT }
### 4、数据总量指定会话或语句的使用数据块数量限制, 用于避免过量的内存开销。 * KingbaseES 环境参数
* Oracle profile 参数
LOGICAL_READS_PER_SESSION { integer | UNLIMITED | DEFAULT }
LOGICAL_READS_PER_CALL { integer | UNLIMITED | DEFAULT }
PRIVATE_SGA { size_clause | UNLIMITED | DEFAULT }
### 5、综合权重指定会话的时长、CPU时长和内存等资源,进行加权计算的总成本,* KingbaseES 环境参数
* Oracle profile 参数
COMPOSITE_LIMIT { integer | UNLIMITED | DEFAULT }
## 六、个性化配置参数因为业务模式的区别,不同的用户对口令或资源,需要不同的参数配置方案。* KingbaseES 环境参数```sql#针对用户user01,使用口令有效期,并且要求其每周必须修改密码ALTER USER user01 SET session_preload_libraries = 'identity_pwdexp' ; ALTER USER user01 SET identity_pwdexp.password_change_interval = 7 ;
Oracle profile 参数
#针对用户user01,使用口令有效期,并且要求其每周必须修改密码CREATE PROFILE prof_user01 LIMIT PASSWORD_LIFE_TIME 7 ;ALTER USER user01 PROFILE prof_user01;