管理两步验证
在您的 TeamCity 服务器上启用两步验证用户身份验证(2FA)可以为其提供额外的安全级别。 用户需要通过两个步骤验证身份:提供他们的常规登录凭证 以及 提交在其个人移动设备上生成的一次性密钥。
要选择所需的 2FA 认证模式,请导航至 管理 | 认证 页面,并向下滚动至 通用设置 部分。 请注意,只有 系统管理员 可以修改认证设置。
二次验证模式 | 行为 |
---|---|
可选 | 允许用户决定是否要为他们的帐户启用 2FA。 这是默认设置。 |
强制 | 要求所有用户在一周内设置 2FA。 宽限期从您启用“强制”模式的那一刻开始(针对现有用户),或从用户注册的那一刻开始(针对新用户)。 |
已禁用 | 用户无法设置 2FA。 |
关键设置保护
如果启用了两步验证,通过 2FA 检查的用户有一个小时的时间来修改关键用户设置。 一旦这个期限过期,用户必须通过新的二次身份验证才能继续进行这些编辑。
被阻止的操作,直到用户通过另一项验证,包括:
在用户个人资料设置中禁用 2FA
更改用户密码和电子邮件
生成访问令牌
这种行为增加了一个额外的保护层,防止攻击者获取用户帐户的访问权限后,修改用户设置并造成更大的损害。
您可以通过 teamcity.2fa.sensitive.settings.access.duration
内部属性 修改此间隔的持续时间:
对单个用户组强制执行 2FA
如果全局两因素认证模式为 "可选",您可以强制单独的 用户组 使用 2FA。 为了做到这一点,添加 teamcity.2fa.mandatoryUserGroupKey
内部属性 并将其值设置为所需的组键。
强制启用 2FA 模式的用户组会将此要求分享给其子用户组。 您可以使用此行为一次强制对多个组进行二次身份验证。 为了实现这一点,创建一个新的用户组,将其密钥赋值给 teamcity.2fa.mandatoryUserGroupKey
内部属性,并将此组设置为所有需要使用 2FA 的现有组的父组。
降低过度的授权请求
如果您的 TeamCity 用户可以使用外部服务的帐户登录,且您的组织策略要求通过 2FA 登录这些服务,那么您可以在登录 TeamCity 时跳过额外的验证。
例如,如果用户已经登录到他们受2FA保护的 GitHub 帐户,他们应该能够使用他们的 GitHub 凭证登录到 TeamCity,而无需任何额外的验证。
TeamCity 会自动避免向以下提供商发送冗余的授权请求:
对于不报告是否启用了 2FA 的提供商,您可以手动指定 TeamCity 是否应发送 2FA 请求。 为此,请在 auth 模块设置中指定 跳过两步验证 选项。
此设置可用于以下模块: