一、背景介绍
二、访问控制模型简介
访问控制的核心功能:身份鉴别和资源访问控制,具体体现在以下四个方面:
允许合法的主体进入受保护的系统;
禁止非法的主体进入受保护的系统;
允许合法的主体对受保护的资源进行授权的访问;
禁止合法的主体对受保护的资源进行非授权的访问。
访问控制的三要素是:主体、客体和控制策略:
主体,请求访问资源的实体,可以是系统用户、进程或设备等;
客体,被访问的资源实体,可以是文件或数据库对象等;
控制策略,是属性集合,可以是读、写或执行等。
1、基于口令的身份鉴别
三、数据库标准关于访问控制的要求
《GB/T 20273-2019 信息安全技术 数据库管理系统安全技术要求》,关于访问控制的要求主要涉及三大功能类 27 项功能组件。
四、KaiwuDB 访问控制
KaiwuDB 访问控制也包含身份鉴别和访问控制两个部分。
1、基于口令的身份鉴别
KaiwuDB 支持基于口令的身份鉴别。用户口令安全性措施:
口令存储加密方法(国际算法和商密算法)
口令不能包含用户名及其逆序
口令最小长度限制
口令最大长度限制
大写字母位数
小写字母位数
数字位数
特殊符号位数
包含的字符的类别数限制(大写字母、小写字母、数字、特殊符号)
KaiwuDB 支持基于 TLS 证书的身份鉴别。可对证书的过期时间、证书链进行验证,同时对证书中的 Common Name 于数据库系统的用户名进行验证。
KaiwuDB 支持基于三方统一认证的身份鉴别,支持 GSSAPI 认证框架,具体实现是 Kerberos V5 统一认证。
KaiwuDB 支持基于 TLS 证书和口令的 2FA。
KaiwuDB 支持对指定访问类型、指定访问资源、指定来源、指定用户的身份鉴别方法及其鉴别参数进行配置,从而实现灵活配置身份鉴别方法。
1、访问控制列表
KaiwuDB 支持访问控制列表,直接针对用户和数据库对象进行访问控制权限管理。
2、RBAC
KaiwuDB 支持 RBAC1 模型,可以基于角色进行访问控制,并且支持角色的层次管理和权限继承。
3、LBAC
KaiwuDB 支持 LBAC 访问控制,可基于标签进行访问控制。标签目前支持 Level 组件,标记用户的准许访问级别和数据的敏感度等级。用户只能访问敏感度等级低于准许访问等级的数据。
KaiwuDB 支持 ABAC,可以基于属性进行访问控制。ABAC 支持的用户属性有:
CREATEDB/NOCREATEDB:允许/禁止用户的 CREATE DATABASE 操作。
CREATEROLE/NOCREATEROLE:允许/禁止用户的 CREATE ROLE 和 CREATE USER 操作。
LOGIN/NOLOGIN:允许/禁止用户的登录。
FAILED_LOGIN_ATTEMPTS:允许用户的最大失败登录尝试次数。
CONNECTION LIMIT:允许用户的最大并发登录连接数。
VALID UNTIL:用户的口令有效期。超过有效期,不允许登录。
五、KaiwuDB 访问控制未来规划
身份鉴别未来规划,主要计划实现以下功能:
2FA/MFA:除了用户口令和证书的 2FA 之外,支持更多的 2FA 和 MFA 身份鉴别,例如加入验证码、OTP 等。
三方统一认证身份鉴别:除 Kerberos V5 之外,支持 LDAP 和 Radius 等三方统一认证。
访问控制未来规划,主要计划实现以下功能:
安全角色限制:支持 RBAC3 模型,包含职责分离功能,例如三权分立或者更多角色职责分离。
LBAC 功能增强:从当前包含 Level组件,扩展到包含 Level、Compartment 和 Group 组件的 LBAC,并在此基础上实现列级和行级等更细粒度访问控制。
免费体验 KaiwuDB 全新功能
KaiwuDB
B站
KaiwuDB
微信公众号