4. 身份与访问管理基础

远程办公安全接入的核心问题,不是“能不能连上”,而是“连上的人是不是他本人、他此刻是否应该被允许访问这个资源”。身份与访问管理(IAM)正是回答这两个问题的工程体系。它由四个相互衔接的能力构成:身份源集成解决“用户从哪里来”,单点登录解决“一次认证如何通行多个应用”,多因素认证解决“凭什么证明你是你”,条件访问策略解决“在什么条件下才放行”。四者不是并列的四个功能,而是一条从身份到授权的判定链。

身份源集成:把权威身份接进来

企业通常已经存在一个权威身份库,例如 Active Directory、LDAP、云目录(如 Entra ID、飞书/钉钉组织架构)或人力资源系统。远程接入网关、VPN、零信任客户端不应各自维护一套账号,而应通过标准协议把权威身份“接进来”。主流做法有三类:SAML 2.0 用于 Web 应用的单点登录断言交换;OIDC/OAuth 2.0 用于现代应用与 API 的令牌化授权;SCIM 用于用户和组的自动同步与生命周期管理。

集成时最关键的不是协议选择,而是属性映射与唯一标识。以某企业将 Entra ID 接入零信任网关为例,需要把目录中的 userPrincipalName 映射为网关的登录名,把 objectId 作为不可变唯一标识,把 department、jobTitle 映射为访问策略可用的属性。若用可变属性(如显示名)做唯一标识,员工改名后就会出现重复账号或授权错乱。SCIM 同步周期建议设为 15~30 分钟,离职账号在目录禁用后应在一个同步周期内被网关拒绝,这是身份生命周期闭环的基本要求。

单点登录:一次认证,多处通行

单点登录(SSO)的价值在于把认证集中到身份提供者(IdP),应用只信任 IdP 签发的断言或令牌。远程办公场景下,员工一天可能访问 VPN、内网 OA、代码仓库、云控制台等十余个系统,若每个系统单独登录,既降低效率,也导致弱口令和口令复用。SSO 的典型流程是:用户访问应用 → 应用重定向到 IdP → IdP 完成认证 → 返回 SAML 断言或 OIDC ID Token → 应用校验签名与有效期后建立本地会话。

工程上要特别注意三点:一是断言签名证书的轮换,IdP 证书过期会导致全站登录失败,应提前配置新证书并保留旧证书一段时间;二是会话时长与单点登出,远程接入的 SSO 会话不宜过长,建议访问令牌 15~60 分钟、刷新令牌 8~12 小时,并支持全局登出;三是应用侧必须校验 Audience、Issuer、NotBefore/NotOnOrAfter,否则断言可被重放到其他应用。

多因素认证:从“知道什么”到“拥有什么”

多因素认证(MFA)要求用户提供两类以上不同性质的凭证:知识因素(口令)、持有因素(手机、硬件密钥、令牌)、生物因素(指纹、人脸)。远程接入中,仅靠口令极易被钓鱼和撞库攻破,MFA 是阻断账号盗用的关键控制。常见实现包括 TOTP 动态口令、推送确认、FIDO2/WebAuthn 安全密钥、短信验证码。其中短信验证码易受 SIM 劫持影响,仅建议作为降级手段;FIDO2 抗钓鱼能力最强,适合管理员和高权限用户。

MFA 不应“一刀切”地对所有登录强制,而应结合风险分级。例如普通员工日常登录可要求 TOTP,管理员登录或来自新地理位置的登录则强制 FIDO2 或推送确认。同时要设计好恢复流程:用户丢失设备时,如何通过已登记的第二因素或人工审核恢复访问,否则会催生绕过 MFA 的“后门”。

条件访问策略:把身份、设备、环境一起判断

条件访问(Conditional Access)是 IAM 的决策中枢。它在认证通过之后、授权放行之前,根据一组条件决定“允许、拒绝或要求额外验证”。典型条件维度包括:用户与组、目标应用、设备合规状态、客户端类型、IP/地理位置、登录风险等级、时间窗口。策略的本质是“如果满足这些条件,则执行这个控制”。

下面这张图展示了远程接入中一次访问请求经过身份源、SSO、MFA 与条件访问的完整判定链,以及各环节的输入与输出关系。

远程接入身份判定链:身份源 → SSO → MFA → 条件访问 身份源 AD / LDAP / 云目录 SCIM 同步用户与组 唯一标识:objectId 单点登录 SSO SAML 2.0 / OIDC IdP 签发断言/令牌 校验签名与有效期 多因素认证 MFA TOTP / 推送 / FIDO2 知识 + 持有 + 生物 高风险登录强制升级 条件访问策略 用户/组 · 应用 · 设备 IP/地理 · 风险 · 时间 允许 / 拒绝 / 加验 身份 会话 因素 策略判定结果 满足条件 → 放行并授予最小权限;不满足 → 拒绝或要求补充验证 条件访问判断维度 • 用户与组:部门/角色 • 目标应用:OA/仓库/云 • 设备:合规/已注册 • 网络:IP/地理位置 • 风险:登录风险等级 示例策略(教学假设) IF 用户∈研发组 AND 应用=代码仓库 AND 设备=合规 AND 位置=境内 THEN 允许,会话 60 分钟 ELSE IF 位置=境外 THEN 要求 FIDO2 并拒绝下载 落地要点 • 唯一标识不可变 • 证书轮换留缓冲 • MFA 恢复流程 • 策略先审计后强制

四者协同:一条完整的判定链

把四个能力串起来看,一次远程访问的判定过程是:用户从身份源同步而来,携带唯一标识与组织属性;SSO 让用户通过 IdP 完成一次认证并拿到断言;MFA 在认证环节确认“人证合一”;条件访问在授权环节综合用户、设备、网络、风险等条件,决定放行、拒绝还是追加验证。任何一环缺失,都会留下可被利用的缺口——没有身份源集成,账号无法随离职及时回收;没有 SSO,口令散落各处;没有 MFA,口令泄露即失守;没有条件访问,合法账号在异常环境下仍可畅通无阻。

策略落地示例与判断依据

条件访问策略上线前,建议先用“仅报告”模式运行 1~2 周,观察命中情况,避免误伤正常业务。以下是一份可直接参考的策略配置样例(参数为教学示例,实际需按企业情况调整):

策略名称:Remote-Dev-Repo-Access
适用对象:研发组(group: dev-team)
目标应用:代码仓库(app: git-repo)
条件:
  - 设备合规状态 = 合规
  - 客户端 = 浏览器或受管客户端
  - 地理位置 = 境内
控制:
  - 允许访问,会话有效期 60 分钟
  - 若地理位置 = 境外,则要求 FIDO2,并禁止批量下载
  - 若登录风险 = 高,则拒绝并触发告警
状态:先启用“仅报告”,确认无异常后切换为“已启用”

判断策略是否生效,可以观察三个指标:一是登录成功率,若某策略上线后成功率骤降,说明条件过严或属性映射有误;二是 MFA 挑战率与失败率,挑战率异常升高可能意味着风险判定过于敏感;三是拒绝日志中的原因分布,若大量拒绝集中在“设备不合规”,应检查设备注册与合规策略是否覆盖到位。远程接入的安全不是靠单点强控,而是靠身份、认证、授权三层协同,把“谁、在什么条件下、能访问什么”变成可审计、可调整的工程规则。