多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

TDengine 用户管理完全指南:创建、权限、白名单、TOTP 与令牌

TDengine 用户管理完全指南:创建、权限、白名单、TOTP 与令牌 TDengine 用户管理完全指南创建、权限、白名单、TOTP 与令牌【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengineTDengine 提供了一套完整的多租户用户管理体系涵盖用户创建与删除、属性配置、IP 白名单/黑名单、TOTP 双因素认证以及令牌Token管理。本文基于 docs/zh/05-tdengine-sql/07-user-and-privilege/01-user.md 展开并结合仓库源码sql.y、mndUser.c、mndToken.c深入讲解每条 SQL 的底层实现与默认值逻辑。读完本文你将掌握用户的全生命周期管理、细粒度的登录访问控制以及如何为企业场景配置双因素认证与令牌登录。用户管理语法在所有版本中可用但在 TDengine 社区版中仅基础功能实际可用企业版才提供高级安全属性、IP 白名单限制、TOTP 与令牌等能力。文中会逐一标注版本与版本差异。创建用户CREATE USER是用户管理的入口完整语法如下CREATE USER user_name PASS password [SYSINFO {1|0}] [CREATEDB {1|0}] [ENABLE {1|0}] [CHANGEPASS {2|1|0}] [SESSION_PER_USER {value | DEFAULT | UNLIMITED}] [CONNECT_TIME {value | DEFAULT | UNLIMITED}] [CONNECT_IDLE_TIME {value | DEFAULT | UNLIMITED}] [CALL_PER_SESSION {value | DEFAULT | UNLIMITED}] [VNODE_PER_CALL {value | DEFAULT | UNLIMITED}] [FAILED_LOGIN_ATTEMPTS {value | DEFAULT | UNLIMITED}] [PASSWORD_LOCK_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_LIFE_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_GRACE_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_REUSE_TIME {value | DEFAULT}] [PASSWORD_REUSE_MAX {value | DEFAULT}] [INACTIVE_ACCOUNT_TIME {value | DEFAULT | UNLIMITED}] [ALLOW_TOKEN_NUM {value | DEFAULT | UNLIMITED}] [SECURITY_LEVEL min_level, max_level] [HOST {ip | ip range} [, {ip | ip range}] ...] [NOT_ALLOW_HOST {ip | ip range} [, {ip | ip range}] ...] [ALLOW_DATETIME {time range} [, {time range}] ...] [NOT_ALLOW_DATETIME {time range} [, {time range}] ...]用户名最长不超过 23 个字节。该语法定义于解析器 sql.y其中CREATE USER同时被登记为一种权限类型PRIV_USER_CREATE见 sql.y即只有被授予该权限的用户才能创建新用户。密码强度要求密码长度必须为 8 到 255且至少包含大写字母、小写字母、数字、特殊字符中的三类。特殊字符包括! # $ % ^ * ( ) - _ [ ] { } : ; ? | ~ , .。可在taos.cfg中设置enableStrongPassword 0关闭此强制要求或通过如下 SQL 关闭ALTER ALL DNODES EnableStrongPassword 0;从源码看enableStrongPassword与enableAdvancedSecurity均作为服务端动态配置注册于 tglobal.c分类为安全相关全局配置CFG_PRIV_SECURITY可通过ALTER ALL DNODES动态调整而无需重启。密码格式校验发生在创建用户请求处理的最前端mndUser.c不满足要求时请求直接失败。选项参数详解SYSINFO该用户是否可查看系统信息。1表示可以0表示无权。系统信息包括服务配置、dnode、vnode、存储等。缺省值为1。ENABLE是否启用该用户。1表示启用0表示未启用未启用的用户不能登录。缺省值为1。CREATEDB是否可创建数据库。1表示可以0表示无权。缺省值为0。企业版自v3.3.2.0起支持。CHANGEPASS用户是否能够或必须修改密码。2表示可以修改1表示必须修改0表示不能修改。缺省值为2。企业版自v3.4.0.0起支持。SESSION_PER_USER限制用户同时建立的数据库连接数量。enableAdvancedSecurity打开时默认32否则默认-1UNLIMITED。最小1设为-1或UNLIMITED则不限制。企业版自v3.4.0.0起支持。CONNECT_TIME单次会话最大持续时间单位为分钟。enableAdvancedSecurity打开时默认480否则默认-1UNLIMITED。最小1设为-1或UNLIMITED则不限制。企业版自v3.4.0.0起支持。CONNECT_IDLE_TIME允许的会话最大空闲时间单位为分钟。enableAdvancedSecurity打开时默认30否则默认-1UNLIMITED。最小1设为-1或UNLIMITED则不限制。企业版自v3.4.0.0起支持。CALL_PER_SESSION单会话最大并发子调用数量。enableAdvancedSecurity打开时默认128否则默认-1UNLIMITED。最小1设为-1或UNLIMITED则不限制。企业版自v3.4.0.0起支持。VNODE_PER_CALL单次调用可涉及的最大 vnode 数量。默认-1无限制。企业版自v3.4.0.0起支持。FAILED_LOGIN_ATTEMPTS允许的连续失败登录次数超过后账户将被锁定。enableAdvancedSecurity打开时默认3否则默认UNLIMITED。最小1设为UNLIMITED则不限制。企业版自v3.4.0.0起支持。PASSWORD_LOCK_TIME因登录失败被锁定后的解锁等待时间单位为分钟。enableAdvancedSecurity打开时默认1440否则默认1。最小1设为UNLIMITED则永久锁定。企业版自v3.4.0.0起支持。PASSWORD_LIFE_TIME密码有效期单位为天。enableAdvancedSecurity打开时默认90否则默认UNLIMITED。最小1设为UNLIMITED则永不过期。企业版自v3.4.0.0起支持。PASSWORD_GRACE_TIME密码过期后的宽限期单位天。宽限期内禁止执行除修改密码以外的操作宽限期内未改密则锁定账户。enableAdvancedSecurity打开时默认7否则默认UNLIMITED。最小0设为UNLIMITED则永不因宽限期锁定。企业版自v3.4.0.0起支持。PASSWORD_REUSE_TIME密码重用时间旧密码失效后不能在此期限内重复使用单位为天。enableAdvancedSecurity打开时默认30否则默认0。最小0最大365。新密码需同时满足PASSWORD_REUSE_TIME与PASSWORD_REUSE_MAX。企业版自v3.4.0.0起支持。PASSWORD_REUSE_MAX密码历史记录次数需经过多少次更改后才能重复使用旧密码。enableAdvancedSecurity打开时默认5否则默认0。最小0最大100。新密码需同时满足PASSWORD_REUSE_TIME与PASSWORD_REUSE_MAX。企业版自v3.4.0.0起支持。INACTIVE_ACCOUNT_TIME账户不活动锁定时间长期未使用的账户自动锁定单位为天。enableAdvancedSecurity打开时默认90否则默认UNLIMITED。最小1设为UNLIMITED则永不锁定。企业版自v3.4.0.0起支持。ALLOW_TOKEN_NUM支持的令牌个数。默认3最小0设为UNLIMITED则不限制。企业版自v3.4.0.0起支持。SECURITY_LEVEL用户安全等级范围min_level,max_level用于强制访问控制MAC。详见 强制访问控制MAC。企业版支持。HOST/NOT_ALLOW_HOSTIP 地址白名单与黑名单。可为单个 IP如192.168.1.1或 CIDR 地址段如192.168.1.1/24。企业版自v3.4.0.0起支持。须将enableWhiteList设为1后才会生效参数说明见 taosd。组合语义、增删查示例与注意事项见下文 IP 白名单与黑名单。ALLOW_DATETIME/NOT_ALLOW_DATETIME允许与不允许登录的时间范围以服务端时区为准包含日期、起始时间精确到分钟、时长分钟三部分。日期可为具体日期或MON、TUE、WED、THU、FRI、SAT、SUN例如2025-12-25 08:00 120、TUE 08:00 120。企业版自v3.4.0.0起支持。若两者均未设置允许在任何时间登录。若只设置ALLOW_DATETIME仅该时间段允许登录。若只设置NOT_ALLOW_DATETIME该时间段不允许登录其它时间允许。若同时设置则只能在属于ALLOW_DATETIME且不属于NOT_ALLOW_DATETIME的时间段内登录。默认值的源码逻辑从源码结构看enableAdvancedSecurity直接决定了一组安全属性的默认值。在创建用户请求处理函数 mndProcessCreateUserReq 中mndUser.c凡未显式指定的属性都会按以下规则填充if (!createReq.hasSessionPerUser) createReq.sessionPerUser (tsEnableAdvancedSecurity ? TSDB_USER_SESSION_PER_USER_DEFAULT : -1); if (!createReq.hasConnectTime) createReq.connectTime (tsEnableAdvancedSecurity ? TSDB_USER_CONNECT_TIME_DEFAULT : -1); if (!createReq.hasConnectIdleTime) createReq.connectIdleTime (tsEnableAdvancedSecurity ? TSDB_USER_CONNECT_IDLE_TIME_DEFAULT : -1); if (!createReq.hasCallPerSession) createReq.callPerSession (tsEnableAdvancedSecurity ? TSDB_USER_CALL_PER_SESSION_DEFAULT : -1); if (!createReq.hasVnodePerCall) createReq.vnodePerCall (tsEnableAdvancedSecurity ? TSDB_USER_VNODE_PER_CALL_DEFAULT : -1); if (!createReq.hasFailedLoginAttempts) createReq.failedLoginAttempts (tsEnableAdvancedSecurity ? TSDB_USER_FAILED_LOGIN_ATTEMPTS_DEFAULT : -1); if (!createReq.hasPasswordLifeTime) createReq.passwordLifeTime (tsEnableAdvancedSecurity ? TSDB_USER_PASSWORD_LIFE_TIME_DEFAULT : -1); if (!createReq.hasPasswordReuseTime) createReq.passwordReuseTime (tsEnableAdvancedSecurity ? TSDB_USER_PASSWORD_REUSE_TIME_DEFAULT : 0); if (!createReq.hasPasswordReuseMax) createReq.passwordReuseMax (tsEnableAdvancedSecurity ? TSDB_USER_PASSWORD_REUSE_MAX_DEFAULT : 0); if (!createReq.hasPasswordLockTime) createReq.passwordLockTime (tsEnableAdvancedSecurity ? TSDB_USER_PASSWORD_LOCK_TIME_DEFAULT : 1); if (!createReq.hasPasswordGraceTime) createReq.passwordGraceTime (tsEnableAdvancedSecurity ? TSDB_USER_PASSWORD_GRACE_TIME_DEFAULT : -1); if (!createReq.hasInactiveAccountTime) createReq.inactiveAccountTime (tsEnableAdvancedSecurity ? TSDB_USER_INACTIVE_ACCOUNT_TIME_DEFAULT : -1); if (!createReq.hasAllowTokenNum) createReq.allowTokenNum TSDB_USER_ALLOW_TOKEN_NUM_DEFAULT;其中-1即对应 SQL 层面的UNLIMITED。可见开启enableAdvancedSecurity时默认即启用密码有效期、登录失败锁定、空闲会话超时等安全策略关闭时这些策略默认全部放宽为不限制。可通过如下 SQL 设置其状态-- 默认关闭高级安全功能 ALTER ALL DNODES EnableAdvancedSecurity 0; -- 默认打开高级安全功能 ALTER ALL DNODES EnableAdvancedSecurity 1;创建用户示例以下示例创建一个密码为abc123!#、可查看系统信息的用户taos CREATE USER test PASS abc123!# SYSINFO 1; Query OK, 0 of 0 rows affected (0.001254s)查看用户查看所有用户SHOW USERS;示例taos SHOW USERS; name | super | enable | sysinfo | createdb | create_time | totp | allowed_host | allowed_datetime | test | 0 | 1 | 1 | 0 | 2025-12-24 18:56:20.709 | 0 | 127.0.0.1/32, ::1/128 | ALL | root | 1 | 1 | 1 | 1 | 2025-12-24 18:00:43.197 | 0 | 127.0.0.1/32, ::1/128 | ALL | Query OK, 2 rows in set (0.001657s)在allowed_host中地址或地址段前缀为表示白名单允许登录前缀为-表示黑名单不允许登录。allowed_datetime同理。也可查询内置系统表information_schema.ins_userstaos SELECT * FROM information_schema.ins_users; name | super | enable | sysinfo | createdb | create_time | totp | allowed_host | allowed_datetime | test | 0 | 1 | 1 | 0 | 2025-12-24 18:56:20.709 | 0 | 127.0.0.1/32, ::1/128 | ALL | root | 1 | 1 | 1 | 1 | 2025-12-24 18:00:43.197 | 0 | 127.0.0.1/32, ::1/128 | ALL | Query OK, 2 row(s) in set (0.007383s)从源码结构看SHOW USERS与information_schema.ins_users底层共用同一套系统表访问机制TSDB_MGMT_TABLE_USER对应实现可见 mndShow.c其行为也在 mnode 用户模块单元测试 中被反复验证。修改用户配置ALTER USER user_name alter_user_clause alter_user_clause: { [PASS password] [SYSINFO {1|0}] [CREATEDB {1|0}] [ENABLE {1|0}] [CHANGEPASS {2|1|0}] [SESSION_PER_USER {value | DEFAULT | UNLIMITED}] [CONNECT_TIME {value | DEFAULT | UNLIMITED}] [CONNECT_IDLE_TIME {value | DEFAULT | UNLIMITED}] [CALL_PER_SESSION {value | DEFAULT | UNLIMITED}] [VNODE_PER_CALL {value | DEFAULT | UNLIMITED}] [FAILED_LOGIN_ATTEMPTS {value | DEFAULT | UNLIMITED}] [PASSWORD_LOCK_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_LIFE_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_GRACE_TIME {value | DEFAULT | UNLIMITED}] [PASSWORD_REUSE_TIME {value | DEFAULT}] [PASSWORD_REUSE_MAX {value | DEFAULT}] [INACTIVE_ACCOUNT_TIME {value | DEFAULT | UNLIMITED}] [ALLOW_TOKEN_NUM {value | DEFAULT | UNLIMITED}] [SECURITY_LEVEL min_level, max_level] [ADD HOST {ip | ip range} [, {ip | ip range}] ...] [DROP HOST {ip | ip range} [, {ip | ip range}] ...] [ADD NOT_ALLOW_HOST {ip | ip range} [, {ip | ip range}] ...] [DROP NOT_ALLOW_HOST {ip | ip range} [, {ip | ip range}] ...] [ADD ALLOW_DATETIME {time range} [, {time range}] ...] [DROP ALLOW_DATETIME {time range} [, {time range}] ...] [ADD NOT_ALLOW_DATETIME {time range} [, {time range}] ...] [DROP NOT_ALLOW_DATETIME {time range} [, {time range}] ...] }以下示例禁用名为test的用户taos ALTER USER test ENABLE 0; Query OK, 0 of 0 rows affected (0.001160s)从源码结构看ALTER USER请求进入 mndProcessAlterUserReq 后根据alterType分发到mndProcessAlterUserBasicInfoReq等具体处理函数修改结果会通过事务commit log同步到整个集群保证多节点下用户属性的强一致。修改密码的踢连接机制修改用户密码ALTER USER ... PASS后服务端会在心跳中检测并踢除使用旧密码建立的连接被踢除的连接上后续请求将返回认证失败0x80000357。执行密码变更操作的连接本身不受影响。Token 连接不受此机制影响。SYSINFO 与角色的联动:::note 自企业版v3.4.2.1起ALTER USER ... SYSINFO {0|1}会联动修改用户的SYSINFO_0/SYSINFO_1角色授予高阶系统角色也会联动提升SYSINFO属性。详见 权限管理。 :::删除用户DROP USER [IF EXISTS] user_name;删除用户时其令牌会一并级联删除。从源码结构看这一级联逻辑在删除事务中显式调用mndDropTokensByUser见 mndUser.c删除用户与删除其令牌处于同一事务TRN_POLICY_ROLLBACK要么同时成功、要么整体回滚避免出现用户已删除但令牌残留的脏状态。同时删除用户还会清理用户缓存与对应的审计日志角色mndResetAuditLogUsermndUser.c。IP 白名单与黑名单IP 白名单/黑名单限制用户可从哪些地址登录与GRANT权限相互独立、分开管理。企业版自v3.2.0.0起提供白名单能力HOST/NOT_ALLOW_HOST语法自v3.4.0.0起支持。社区版可执行增删查但不会对来源 IP 做限制。须将系统配置enableWhiteList设为1后黑白名单才会生效参数说明见 taosd。登录判定规则若既未设置HOST也未设置NOT_ALLOW_HOST则允许用户在任何地址登录。注意为保证安全和便于使用创建用户时若设置了HOST或两者均未设置系统会自动将127.0.0.1和::1加入HOST。因此上述任何地址情形需通过ALTER USER删除全部HOST与NOT_ALLOW_HOST后才会出现。若只设置HOST则仅允许从该地址或地址段登录。若只设置NOT_ALLOW_HOST则不允许从该地址或地址段登录其它地址允许。若同时设置二者则只能从属于HOST且不属于NOT_ALLOW_HOST的地址登录。增加 IP 白名单CREATE USER test PASS taosdata1 HOST 192.168.1.0/24, 10.0.0.1; ALTER USER test ADD HOST 192.168.2.0/24;增加 IP 黑名单ALTER USER test ADD NOT_ALLOW_HOST 203.0.113.5/32;查询SELECT name, allowed_host FROM information_schema.ins_users; SHOW USERS;在allowed_host中地址或地址段前缀为表示白名单允许登录前缀为-表示黑名单不允许登录。删除ALTER USER test DROP HOST 192.168.2.0/24; ALTER USER test DROP NOT_ALLOW_HOST 203.0.113.5/32;注意事项与运维细节开源版和企业版都能添加成功且可以查询到但是开源版不会对 IP 做任何限制。一次可以添加多个 IP range服务端会做去重去重的逻辑是需要 IP range 完全一样。例如CREATE USER u_write PASS taosdata1 HOST iprange1,iprange2。默认会把127.0.0.1添加到白名单列表且在白名单列表可以查询用户手册所述场景下亦可能包含::1。集群的节点 IP 集合会自动添加到白名单列表但是查询不到。taosAdapter和taosd不在一个机器的时候需要把taosAdapter的 IP 手动添加到taosd白名单列表中。集群情况下各个节点的enableWhiteList须一致或者全为false或者全为true要不然集群无法启动。白名单变更生效时间约 1s不超过 2s。每次变更对收发性能有些微影响多一次判断可以忽略变更完之后影响忽略不计变更过程中对集群没有影响对正在访问且 IP 已包含在白名单内的客户端也没有影响。如果添加两个 IP range例如192.168.1.1/16假设为 A与192.168.1.1/24假设为 B严格来说 A 包含了 B但考虑情况太复杂并不会对 A 和 B 做合并。要删除的时候必须严格匹配。也就是如果添加的是192.168.1.1/24要删除也是192.168.1.1/24。只有root才有权限对其他用户增删 IP 白名单。兼容之前的版本但是不支持从当前版本回退到之前版本。x.x.x.x/32和x.x.x.x属于同一个 IP range显示为x.x.x.x。如果客户端拿到的是0.0.0.0/0说明没有开启白名单。如果白名单发生了改变客户端会在 heartbeat 里检测到。针对一个 user添加的 IP 个数上限是 2048。从源码结构看enableWhiteList与前述安全开关一样注册为服务端动态配置tglobal.c其分类为CFG_PRIV_SYSTEM。白名单的实际拦截发生在客户端建立连接阶段由服务端依据allowed_host中的/-前缀列表对来源 IP 逐条匹配。TOTP 双因素认证TOTP 双因素认证为企业版功能自企业版v3.4.0.1起支持。启用后用户登录除了需要密码外还需提供基于时间的一次性验证码显著提升账户安全性。创建 / 更新 TOTP 密钥CREATE TOTP_SECRET FOR USER user_name;若用户尚未创建 TOTP 密钥本命令为其创建若已创建则更新密钥。无论哪种情况都会返回新密钥且仅展示一次请及时保存。系统会为已创建 TOTP 密钥的用户自动启用 TOTP 双因素认证。启用后TDengine 要求 TOTP 验证码长度为 6 位且每 30 秒更新一次请按此参数配置验证码生成器否则客户端可能无法登录。为用户test创建 TOTP 密钥的示例taos CREATE TOTP_SECRET FOR USER test; totp_secret | ERIRPLZL4ZBFTPT5BNXMVFPR4Z3PTHUWTBTCNZPOHYPYQGTD25XA | Query OK, 1 row(s) in set (0.002314s)从源码结构看CREATE TOTP_SECRET/DROP TOTP_SECRET是独立的 SQL 语句sql.y并分别对应PRIV_TOTP_CREATE与PRIV_TOTP_DROP权限sql.y说明双因素密钥的管理也可通过 权限管理 进行细粒度授权。创建请求中携带的 TOTP 种子会经过格式校验mndCheckTotpSeedFmt见 mndUser.c防止非法种子入库。删除 TOTP 密钥DROP TOTP_SECRET FROM USER user_name;删除用户的 TOTP 密钥后该用户的 TOTP 双因素认证将被禁用。示例taos DROP TOTP_SECRET FROM USER test; Drop OK, 0 row(s) affected (0.002295s)令牌管理令牌Token是一种免密码的登录凭证适用于自动化程序、应用服务等场景。令牌管理为企业版功能自企业版v3.4.0.0起支持。令牌的完整生命周期创建、修改、删除由 mndToken.c 中的mndProcessCreateTokenReq、mndProcessAlterTokenReq、mndProcessDropTokenReq处理。创建令牌CREATE TOKEN [IF NOT EXISTS] token_name FROM USER user_name [ENABLE {1|0}] [TTL value] [PROVIDER value] [EXTRA_INFO value];令牌名称最长 31 个字节。ENABLE是否启用该令牌。1表示启用0表示未启用未启用的令牌不能用于登录。缺省值为1。TTL令牌有效时长单位为天从创建时起算。默认0表示永久有效。PROVIDER令牌提供者名称最长 63 个字节。EXTRA_INFO由应用管理的附加信息最长 1023 字节。以下为用户test创建名为test_token的令牌。注意令牌值仅在创建时展示一次后续无法查询请及时保存。taos CREATE TOKEN test_token FROM USER test; token | BsyjYKxhCMntZ3pHgweCd2uV2C8HoGKn8Mvd49dRRCtzusX0P1mgqRMrG7SzUca | Query OK, 1 row(s) in set (0.003018s)从源码结构看CREATE TOKEN语法定义于 sql.y权限上对应PRIV_TOKEN_CREATEsql.y。每位用户的令牌数量受创建用户时ALLOW_TOKEN_NUM限制默认 3对应源码常量TSDB_USER_ALLOW_TOKEN_NUM_DEFAULT见 mndUser.c。查看令牌可根据权限查看系统中的令牌权限不足时可能只能看到自己的令牌SHOW TOKENS;示例taos SHOW TOKENS; name | user | provider | enable | create_time | expire_time | extra_info | root_token | root | | 1 | 2025-12-25 10:02:28.000 | 1970-01-01 08:00:00.000 | | test_token | test | | 1 | 2025-12-25 10:01:47.000 | 1970-01-01 08:00:00.000 | | Query OK, 2 row(s) in set (0.003313s)也可查询information_schema.ins_tokenstaos SELECT * FROM information_schema.ins_tokens; name | user | provider | enable | create_time | expire_time | extra_info | root_token | root | | 1 | 2025-12-25 10:02:28.000 | 1970-01-01 08:00:00.000 | | test_token | test | | 1 | 2025-12-25 10:01:47.000 | 1970-01-01 08:00:00.000 | | Query OK, 2 row(s) in set (0.007438s)说明expire_time显示为1970-01-01表示该令牌 TTL 为 0即永久有效。修改令牌ALTER TOKEN token_name [ENABLE {1|0}] [TTL value] [PROVIDER value] [EXTRA_INFO value];修改TTL时新的有效时长从修改时刻起算。删除令牌DROP TOKEN [IF EXISTS] token_name;删除用户时其令牌会一并级联删除见上文删除用户一节的事务保证。版本与能力矩阵小结能力社区版企业版起始版本用户增删改查、SYSINFO/ENABLE等基础属性可用可用所有版本CREATEDB支持支持企业版 v3.3.2.0CHANGEPASS、连接/会话限制、密码策略、账户锁定语法可解析默认不启用支持企业版 v3.4.0.0IP 白名单enableWhiteList可增删查不实际拦截支持企业版 v3.2.0.0HOST语法 v3.4.0.0TOTP 双因素认证不支持支持企业版 v3.4.0.1令牌管理不支持支持企业版 v3.4.0.0延伸阅读权限管理GRANT/REVOKE 与角色用户的SYSINFO、SECURITY_LEVEL等属性与授权体系联动。taosd 配置参数enableStrongPassword、enableAdvancedSecurity、enableWhiteList等安全开关的完整说明。源码参考SQL 解析器、用户管理实现、令牌管理实现、全局配置注册。【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表