双因素身份验证
自 v3.3.0 起可用
Umami 支持使用基于时间的一次性密码(TOTP)进行双因素身份验证(2FA),可搭配 Google Authenticator、Authy 或 1Password 等身份验证器应用使用。每个用户都可以为自己的账户启用 2FA,管理员则可以全局、针对单个用户或特定团队强制启用 2FA。
要求
2FA 密钥使用 AES-256-GCM 进行静态加密。在任何人启用 2FA 之前,你必须将 TWO_FACTOR_ENCRYPTION_KEY 环境变量设置为由 64 个字符组成的十六进制字符串(256 位密钥):
openssl rand -hex 32TWO_FACTOR_ENCRYPTION_KEY = "your generated key"此值应在每次安装中保持唯一并妥善保密。丢失或更改此值会导致之前存储的 2FA 密钥无法读取,受影响的用户必须重新注册。
为你的账户启用 2FA
点击侧边导航栏中的个人资料按钮,然后点击设置,接着进入安全。

打开启用双因素身份验证。系统会显示一个二维码,供你使用身份验证器应用扫描,同时还会提供一个手动输入密钥作为备用方式。输入应用中的 6 位代码以确认设置。

确认后,Umami 会生成 10 个一次性备用代码。请将它们保存到安全的地方——这些代码只会显示一次,如果你无法访问身份验证器应用,可以使用它们登录。

使用 2FA 登录
输入密码后,系统会要求你输入身份验证器应用中的 6 位代码。如果你无法访问应用,请改为点击使用备用代码。每个备用代码只能使用一次。

连续失败五次后,后续尝试将被锁定 15 分钟。
禁用 2FA
在设置 > 安全中关闭 2FA。你需要输入密码和身份验证器应用中的有效代码进行确认。如果你的账户当前被要求启用 2FA,则无法使用此选项(见下文)。
要求启用 2FA
管理员可以在三个级别要求启用 2FA。如果用户尚未注册 2FA,则下次登录时会被要求设置 2FA,并且在完成设置之前无法使用应用。
| 级别 | 位置 | 说明 |
|---|---|---|
| 全局 | 管理员 > 安全 | 要求此实例中的每个用户启用 2FA。 |
| 按用户 | 管理员 > 用户 >(某个用户) | 要求特定用户启用 2FA。 |
| 按团队 | 管理员 > 团队 >(某个团队)> 设置 | 要求团队中的每个成员启用 2FA。 |

如果在上述任一层级要求启用 2FA,受影响用户的禁用开关将被锁定,直到管理员移除该要求。
管理员重置
如果用户被锁定在账户之外(例如,他们同时丢失了身份验证器应用和备用代码),管理员可以从**管理员 > 用户 >(某个用户)**中重置其 2FA。此操作会清除用户现有的 2FA 密钥和备用代码,使其可以从头开始重新注册。
