14.10 二次认证(MFA)
为防止误操作和账号被盗用,TDengine IDMP 对部分敏感操作启用二次认证(MFA / step-up verification)。执行受保护操作时,系统会在本次操作前要求你通过 Passkey 或 邮箱验证码再次确认身份,验证通过后操作才会继续。
14.10.1 受保护操作与验证流程
当你执行需要 MFA 的操作时,系统弹出二次认证对话框,按以下规则选择验证方式:
- 若当前用户已注册 Passkey,默认使用 Passkey 验证(调用设备的指纹、面容或设备 PIN)。
- 若未注册 Passkey,则向账户邮箱发送 6 位验证码,输入后完成验证。
在对话框中可以在两种方式之间切换:
- Passkey 视图下点击 改用邮箱验证码,即使已注册 Passkey 也会改为发送邮箱验证码。
- 邮箱视图下点击 改用 Passkey(仅当已注册 Passkey 时显示),切回 Passkey 验证。
验证通过后,本次操作继续执行。验证凭据为单次有效且有有效期。验证失败、取消或超时,操作不会执行。
受保护操作的名称与描述按系统配置中的语言(system_config.language)显示,与浏览器语言无关。
14.10.2 Passkey 管理
Passkey 是基于 WebAuthn 的无密码凭据,私钥保存在你的设备(如苹果 iCloud 钥匙串、Google 密码管理器、Windows Hello 或安全密钥)中,永不离开设备,IDMP 服务端只保存公钥。验证时由设备通过指纹、面容或设备 PIN 确认本人后完成签名。
在头像菜单 → 个人设置 → Passkey中管理 Passkey。列表显示以下信息:
| 列或操作 | 说明 |
|---|---|
| Passkey | 凭据的显示标识 |
| 添加时间 | 注册该 Passkey 的时间 |
| 最近使用 | 最近一次使用时间,从未使用显示为 - |
| 操作 | 删除该 Passkey |
14.10.2.1 注册 Passkey
- 打开个人设置 → Passkey,点击 添加 Passkey。
- 按浏览器/操作系统提示,使用指纹、面容或设备 PIN 完成验证。
- 注册成功后,该 Passkey 出现在列表中,可用于后续的二次认证。
14.10.2.2 删除 Passkey
点击目标 Passkey 行的删除图标并确认。删除仅移除 IDMP 服务端保存的该凭据记录;保存在设备/操作系统钥匙串中的 Passkey 不会被远程删除,如需彻底清除请在设备的 Passkey/钥匙串设置中自行移除。
- Passkey 仅在 HTTPS 或 localhost 安全环境下可用;浏览器不支持时会显示相应提示。
- 出于安全考虑,使用 API Key 鉴权的请求不能管理 Passkey(注册、列表、删除)。此类操作必须在已登录的 Web UI 中完成。
14.10.3 MFA 管理(豁免配置)
管理员可在管理控制台 → 系统管理 → MFA 中,为受保护操作配置临时或永久豁免二次认证。该页面需要相应的查看 / 编辑权限(view:mfa / edit:mfa),默认仅超级管理员可见。
列表以只读方式显示:
| 列 | 说明 |
|---|---|
| 操作名称 | 受保护操作的本地化名称 |
| 暂停 MFA 结束时间 | 当前豁免的到期时间;永久豁免显示“永久豁免”,未豁免显示 - |
| 描述 | 操作的说明 |
点击左上角的编辑进入编辑态后,每一行可独立选择一种模式:
| 模式 | 含义 |
|---|---|
| 强制 MFA | 执行该操作时要求二次认证(默认) |
| 限时豁免 | 在指定的**持续时间(分钟)**内跳过二次认证,到期自动恢复为强制 |
| 永久豁免 | 永久跳过二次认证,直到手动改回其他模式 |
完成后点击保存:
- 改为限时 / 永久豁免 → 写入或更新该操作的豁免;
- 由豁免改回强制 MFA → 移除该操作的豁免,恢复强制验证;
- 未改动的行不受影响——已有豁免(含其原有的窗口/永久设置)不会被覆盖。
要修改某个已有豁免的窗口或模式,直接修改该行的模式或时长后保存即可。
限时豁免到期后会自动恢复强制验证;永久豁免不会自动恢复,请仅在确有需要时使用,并在不再需要时手动改回强制 MFA。
14.10.4 可选部署配置
以下配置项可调整二次认证行为(均为可选,使用默认值即可正常工作):
| 配置项 | 默认值 | 作用 |
|---|---|---|
tda.mfa.enabled | false | 二次认证总开关;关闭后所有受保护操作不再要求验证。 |
tda.mfa.step-up-token-ttl | 300 | 验证通过后换取的内部令牌有效期(秒)。 |
tda.mfa.email-code-ttl | 600 | 邮箱验证码有效期(秒)。 |
tda.webauthn.rp-name | IDMP | Passkey 在认证器/系统弹窗中显示的名称。 |
tda.webauthn.rp-id | 请求主机名 | Passkey 绑定的域名(RP ID)。多域名/反向代理部署建议显式配置。 |
tda.webauthn.origins | 请求来源 | 验证时允许的来源(完整 origin)白名单。多来源部署需列出全部来源。 |
tda.webauthn.challenge-ttl | 300 | WebAuthn 挑战有效期(秒)。 |
多来源或经反向代理访问时,建议显式配置 rp-id 与 origins,否则在一个来源注册的 Passkey 在另一来源可能无法验证:
tda:
webauthn:
rp-id: idmp.example.com
origins:
- https://idmp.example.com
tda.webauthn.rp-id 必须是各来源主机名的可注册域名后缀(例如 example.com 适用于 https://app.example.com 与 https://example.com)。配置不当会导致 Passkey 验证失败。



