作者:【吴业亮】
博客:https://wuyeliang.blog.csdn.net/
从Newton版本开始,Identity服务启用安全加固,用于满足支付行业和数据行业安全标。默认情况下,所有功能均禁用,大多数功能仅适用于driver为SQL的认证方式。
修改方法:
修改keystone.conf的 keystone.conf部分
几次错误重试锁定用户
[security_compliance]
lockout_failure_attempts = 6
锁定用户时间
[security_compliance]
lockout_duration = 1800
注意:
如果你没有设置lockout_duration,用户将被无限期锁定,直到通过API启用用户
通过api启用用户永不被锁定, 操作:PATCH /v3/users/{user_id}
{
"user": {
"options": {
"ignore_change_password_upon_first_use": true
}
}
}
禁用非活动用户
90天未登陆锁定用户
[security_compliance]
disable_user_account_days_inactive = 90
通过api将某个用户排除在外, 操作:PATCH /v3/users/{user_id}
{
"user": {
"options": {
"ignore_password_expiry": true
}
}
}
强制第一次登陆修改密码
[security_compliance]
change_password_upon_first_use = True
密码过期时间
[security_compliance]
password_expires_days = 90
设置密码复杂度
[security_compliance]
password_regex = ^(?=。* \ d)(?=。* [a-zA-Z])。{7,} $
示例:
至少一个字母,一个数字,最短7个字符
密码复杂度提示
[security_compliance]
password_regex_description = Passwords must contain at least 1 letter, 1
digit, and be a minimum length of 7
characters.
密码不允许和前几次相同
[security_compliance]
unique_last_password_count = 5
设置在用户更改之前必须使用密码的天数minimum_password_age
[security_compliance]
minimum_password_age = 1
在上面的例子中,一旦用户更改密码,他们将无法在一天内再次更改密码。这可以防止用户立即更改其密码,以便清除密码历史记录并重新使用旧密码。
注意
当你设置时password_expires_days,该值 minimum_password_age应该小于password_expires_days。否则,用户在到期前将无法更改密码。
密码复杂度参数,一直不成功,原因还没找到,希望高手指点下~
参考:
安全规范:
https://specs.openstack.org/openstack/keystone-specs/specs/keystone/newton/pci-dss.html