许可证管理
KaiwuDB 使用许可证书管理用户登录和操作数据库的权限,以确保数据库的安全性和合法使用。
许可证配置和更新
许可证配置
数据库集群启动后,只有具有 Admin 权限的管理员(非三权分立模式)或系统管理员(三权分立模式)可以登录数据库并通过 cluster.license
集群参数将许可证添加到已启动的数据库集群中。
数据库会自动检查集群中的节点数量是否超过许可证限制的节点数量,如果集群中的当前节点数量未超过许可证限制的节点数量时,用户可以设置许可证成功。否则,许可证设置失败。此时,用户需要先缩容集群,等节点数量满足许可证要求后,方可成功设置许可证。如果有效,则激活数据库集群并允许其他用户登录。否则,将拒绝其他用户登录。
查看许可证信息
用户连接到 KaiwuDB 之后,可以通过 kwdb_internal.kwdb_license
系统视图查看许可证的相关信息,包括许可证到期时间、许可证限制测点的数量、集群已用测点的数量、许可证限制集群节点的数量、集群已用节点的数量等重要信息。用户也可以使用 SHOW LICENSE
SQL 语句查看许可证的相关信息。
许可证更新
数据库每 24 小时检查许可证设置的超期时间是否超过了当前时间。如果是,则许可证失效。管理员或系统管理员需要在许可证到期前更新许可证,确保数据库持续运行。数据库集群启动后,管理员或系统管理员可以登录数据库并通过 cluster.license
集群参数将许可证添加到已启动的数据库集群中。有关详细信息,参见配置许可证。
基于许可证的用户权限管理
下表列出各用户在未设置有效许可证、使用有效许可证、许可证超期 30 天内、许可证超期 30 天后的权限。
标准安全模式(非三权分立模式)
用户 | 未设置有效许可证 | 许可证有效 | 许可证超期 30 天内 | 许可证超期 30 天后 |
---|---|---|---|---|
管理员 | - 登录数据库。 - 设置 cluster.license 集群变量。 | 正常登录并管理数据库。 | 正常登录并管理 KaiwuDB 数据库。 | - 登录数据库。 - 设置 cluster.license 集群变量。 |
普通用户 | 拒绝登录数据库。 | 正常登录并管理数据库。 | 拒绝新的会话连接。 | 拒绝登录数据库。服务器端自动断开已建立的会话连接。 |
三权分立模式
用户 | 未设置有效许可证 | 许可证有效 | 许可证超期 30 天内 | 许可证超期 30 天后 |
---|---|---|---|---|
系统管理员 | - 登录 KaiwuDB 数据库。 - 设置 cluster.license 集群变量。 | 正常登录并管理数据库。 | 正常登录并管理 KaiwuDB 数据库。 | - 登录数据库。 - 设置 cluster.license 集群变量。 |
安全管理员 | 拒绝登录数据库。 | 正常登录并管理数据库。 | 拒绝新的会话连接。 | 拒绝登录数据库。服务器端自动断开已建立的会话连接。 |
审计管理员 | 拒绝登录数据库。 | 正常登录并管理数据库。 | 拒绝新的会话连接。 | 拒绝登录数据库。服务器端自动断开已建立的会话连接。 |
普通用户 | 拒绝登录数据库。 | 正常登录并管理数据库。 | 拒绝新的会话连接。 | 拒绝登录数据库。服务器端自动断开已建立的会话连接。 |
测点管理
在时序数据库中,测点指的是时序表的数据列,即数据采集指标,例如温度、湿度、电压、用电量等。测点数等于设备数乘以时序表的数据列数。KaiwuDB 许可证支持管理测点的数量。当写入的测点数量超过许可证限制的测点数量,用户可以向已有设备读写数据,但是无法创建时序表、向时序表中添加列。同时,数据写入速度也受到限制。
用户可以使用 SHOW LICENSE
SQL 语句查看当前已经使用的测点数量。当已使用的测点数量超过许可证限制的测点数量时,用户可以通过删除时序表、时序表的列或者时序表中某一设备的数据来保证数据的读写速度。KaiwuDB 每 24 小时自动检查并更新集群已使用的测点数量。用户也可以通过 REFRESH LICENSE USAGE
SQL 语句手动更新已使用的测点数量。
节点管理
说明
KaiwuDB 集群启动、初始化过程中,节点数量不受限制。
KaiwuDB 许可证支持管理节点的数量。节点管理用于控制许可证的设置和集群扩容。
成功启动 KaiwuDB 集群后,如果集群中的当前节点数量未超过许可证限制的节点数量时,用户可以设置许可证成功。否则,用户设置许可证失败。此时,用户需要先缩容集群,等节点数量满足许可证要求后,方可成功设置许可证。
扩容集群时,如果集群中的节点数量少于许可证限制的节点数量时,用户可以正常扩容集群。否则,禁止用户扩容集群。