线上沙龙 - 大咖技专场第 41 期回放来啦
访问控制的核心功能:身份鉴别和资源访问控制,具体体现在以下四个方面: 允许合法的主体进入受保护的系统; 禁止非法的主体进入受保护的系统; 允许合法的主体对受保护的资源进行授权的访问; 禁止合法的主体对受保护的资源进行非授权的访问。 访问控制的三要素是:主体、客体和控制策略: 主体,请求访问资源的实体,可以是系统用户、进程或设备等; 客体,被访问的资源实体,可以是文件或数据库对象等; 控制策略,是属性集合,可以是读、写或执行等。 1、基于口令的身份鉴别 RBAC0:基础模型,任何声称支持 RBAC 的系统的最低要求; RBAC1:高级模型,在 RBAC0 基础上,增加了角色层次功能。角色可以是角色的成员,也可从父级继承权限; RBAC2:高级模型,在 RBAC0 基础上,增加了职责分离功能,避免用户拥有过多权限而产生利益冲突。常见的职责分离有静态互斥角色、运行时互斥角色、基数约束(角色总数)、先决条件约束等; RBAC3:高级模型,在 RBAC0 基础上,结合了 RBAC1 和 RBAC2 的优点。 用户属性,用户所具有的属性,例如年龄、部分、职位等; 环境属性,访问控制的环境条件因素,例如当前时间、允许访问的时间、允许访问的子网等; 资源属性,资源所具有的属性,例如文件类型、数据敏感度等; 操作属性,允许的操作类型,例如读、写、执行等。 数据标签:指定数据行的敏感度; 用户标签:为用户提供适当的授权; 用户和数据之间的访问中介取决于用户的标签。 《GB/T 20273-2019 信息安全技术 数据库管理系统安全技术要求》,关于访问控制的要求主要涉及三大功能类 27 项功能组件。 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:用户的口令有效期。超过有效期,不允许登录。 身份鉴别未来规划,主要计划实现以下功能: 2FA/MFA:除了用户口令和证书的 2FA 之外,支持更多的 2FA 和 MFA 身份鉴别,例如加入验证码、OTP 等。 三方统一认证身份鉴别:除 Kerberos V5 之外,支持 LDAP 和 Radius 等三方统一认证。 访问控制未来规划,主要计划实现以下功能: 安全角色限制:支持 RBAC3 模型,包含职责分离功能,例如三权分立或者更多角色职责分离。 LBAC 功能增强:从当前包含 Level组件,扩展到包含 Level、Compartment 和 Group 组件的 LBAC,并在此基础上实现列级和行级等更细粒度访问控制。2、基于证书的身份鉴别
3、基于三方统一认证的身份鉴别
4、2FA
5、HBA
4、ABAC
1、身份鉴别未来规划
2、访问控制未来规划