关于 passkeys-fido2
面向身份与安全团队的 Microsoft Entra ID 通行密钥和 FIDO2 推行技能,涵盖凭证选择、注册、条件访问强制执行及淘汰较弱方法。
主要功能
- 01按用户群比较通行密钥类型
- 02规划 Temporary Access Pass 引导注册
- 03配置证明策略与允许列表
- 04分阶段实施条件访问
- 05规划旧式 MFA 退役与报告
适用场景
- 01规划员工通行密钥推广
- 02为管理员发放 FIDO2 密钥
- 03用通行密钥替换 SMS MFA
- 04设备丢失后恢复访问
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vinayaklatthe/ microsoft-security-skills --skill passkeys-fido2安装后在 Claude Code 中输入/passkeys-fido2确认已加载。
详细介绍
Microsoft Entra ID 中的 Passkey 和 FIDO2
Passkey 和 FIDO2 安全密钥是 Entra ID 中唯一真正具备抗网络钓鱼能力的身份验证方法。本技能介绍实用的推广方案:为不同用户群体选择合适的 Passkey 类型,通过 Temporary Access Pass 引导注册,使用 Conditional Access 身份验证强度强制执行,最后停用旧方法。
适用场景
将 Entra 租户从密码 + SMS/应用推送验证转向无密码、抗网络钓鱼的身份验证。适用于方法选择、注册推广、CA 强制执行和旧方法停用规划。
请勿将本技能用于通用 CA 策略编写(conditional-access-mfa)、完整的 Windows Hello for Business 桌面端设计(windows-hello),或 Verified ID 凭证签发(entra-verified-id)。
Passkey 类型 — 按用户群体选择
| 类型 | 存储位置 | 最适合 |
|---|---|---|
| Microsoft Authenticator 中与设备绑定的 Passkey | iOS/Android 应用,与硬件绑定,不同步 | 自带设备办公(BYOD)占比较高的员工群体、一线员工 |
| 同步的 Passkey(Apple iCloud Keychain、Google、通过 1Password 使用的 Windows Hello 等) | 操作系统密钥链,可在用户的多台设备间同步 | 使用受管 iOS/macOS/Windows 设备的知识工作者 |
| 硬件 FIDO2 安全密钥(YubiKey、Feitian 等) | 可移除,支持认证证明 | 特权管理员、使用共享工作站的用户、受监管岗位 |
| Windows Hello for Business | 按设备存储,与 TPM 绑定 | Windows 工作站的主要登录方式(参见 windows-hello) |
经验法则: 默认用户群体使用与设备绑定的 Authenticator Passkey。管理员和 tier-0 用户使用硬件密钥。对于 MDM/策略允许的 Mac/iPhone 用户,使用来自操作系统密钥链的同步 Passkey。
实施方法
-
启用身份验证方法。 在 Entra → 身份验证方法中,启用:
- Passkey (FIDO2),并明确决定是否强制执行证明(见下文)。
- Microsoft Authenticator,包括密钥功能。
- Temporary Access Pass。 先面向试点组逐步推出。
-
证明策略。 决定是否要求 FIDO2 注册提供证明:
- 强制执行证明 = 是:只有列入允许列表的 AAGUID(验证器型号)才能注册。控制力强;但新设备型号需要加入允许列表,管理工作量较大。
- 强制执行证明 = 否:任何 FIDO2 验证器(包括平台提供商提供的同步密钥)都可以注册。使用更方便,但控制力较弱。 对特权用户群:强制执行证明,并将硬件密钥加入允许列表。对全体员工:采用宽松策略。
-
使用 Temporary Access Pass 引导注册。 每位用户都需要一种无需使用密码即可注册首个密钥的方式。TAP 提供有时限、单次使用(或有限次数使用)的代码:
- 新员工:由 HR/入职流程签发 TAP。
- 参加注册推广活动的现有用户:由帮助台核验后签发 TAP。
- 设备丢失后恢复:完成身份核验后重新签发 TAP(可考虑 Verified ID)。
-
注册推广活动。 使用内置的注册推广活动,在用户登录时提示其设置 Authenticator 密钥。持续 60–90 天,并衡量采用情况。 配合沟通:发送 3 封电子邮件 + 发布 Teams 横幅。
-
条件访问 — 身份验证强度。 创建 CA 策略,要求以下对象使用抗网络钓鱼 MFA 身份验证强度:
- 所有管理员角色(Global Admin、Privileged Role Admin 等)。
- 特权应用程序(Azure 门户、Entra 管理中心、Exchange 管理员、GitHub Enterprise 登录)。
- 影响重大的数据应用(SAP、人力资源、财务)。 按应用逐步推出,而非在整个租户范围内统一启用,以限制影响范围。
-
停用较弱的方法。
- 短信和语音 — 在身份验证方法策略中将其禁用为 MFA 方法。如有需要,它们仍可仅用于 SSPR。
- 不使用数字匹配的 Authenticator 推送通知 — 数字匹配现已默认启用;请确认已强制执行。
- 旧版 MFA 注册页面 — 改用组合注册(早已默认启用)。 顺序:先降低其优先级(标记为“次要”),监控登录日志,找出仍依赖该方法的用户,然后再禁用。
-
生命周期管理。
- 设备丢失:在用户的身份验证方法中撤销已注册的验证器,签发新的 TAP,由用户重新注册。
- 工作变动:密钥仍然有效 — 它绑定到用户身份。CA 强度将在下次登录时重新评估。
- 终止雇佣:按标准离职流程撤销身份;密钥将失效。
-
报告。 在 Entra → 监控 → 身份验证方法活动中,跟踪:
- 至少注册了一种抗网络钓鱼方法的用户百分比。
- 使用抗网络钓鱼方法登录的百分比。
- 按应用划分的方法使用情况。 目标:60 天内让 100% 的管理员使用抗网络钓鱼方法;12 个月内让 90% 的全体员工使用抗网络钓鱼方法。
防护措施
- 在注册覆盖率足够高之前,不要强制执行抗网络钓鱼的 CA。 周一上午 9 点可能导致用户被锁定。分阶段实施:先开展注册推广活动,再按组强制执行。
- TAP 必须通过经过身份验证的渠道发放(由服务台进行严格验证、Verified ID、现场办理)。泄露的 TAP 可绕过密码验证。
- 同步通行密钥会跨越设备信任边界。 用户从个人 Mac 登录时,使用的通行密钥与在公司 Mac 上使用的相同。如果这不符合你的威胁模型,请为敏感用户群使用设备绑定通行密钥或硬件密钥。
- 证明验证允许列表需要生命周期管理。 新款 YubiKey 型号意味着新的 AAGUID。将其纳入采购流程。
- 数字匹配 MFA 并不能抵御网络钓鱼。 它能阻止 MFA 疲劳轰炸,但实时 AiTM 代理仍然可以得手。不要混为一谈。
- 把 SMS 作为“以防万一”的备用方式会破坏整个计划。 攻击者会针对备用方式发起攻击。对于受抗网络钓鱼 CA 保护的用户群,请移除该方式。
- 配置“身份验证强度:抗网络钓鱼”的 Conditional Access 时,不要将紧急访问账户纳入范围。 始终排除紧急访问账户。
常见反模式
- “第一天就要求管理员必须使用通行密钥,却没有注册推广活动” — 管理员会在最不合时宜的时候被锁定。
- “永远允许所有人把 SMS 作为 MFA 备用方式” — SIM 卡交换和诱骗攻击会针对最薄弱的方式。第一天就为第 0 层用户移除该方式。
- “通过用户无法在没有 MFA 的情况下访问的邮箱向其发送 TAP” — 陷入先有鸡还是先有蛋的困境。使用服务台渠道并验证身份。
- “强制执行证明验证,却未将全新 YubiKey 型号加入允许列表” — 采购当天才发现问题。维护允许列表。
- “让全局管理员在个人 iCloud 上使用同步通行密钥” — 管理员凭据存储在个人手机上。管理员应使用硬件密钥和设备绑定通行密钥。
- “把数字匹配 MFA 称为抗网络钓鱼” — 它并非如此。AiTM 可以绕过它。
- “在员工覆盖率达到 95% 之前,就在整个租户中禁用密码登录” — 尚未注册的用户会被锁定。先按应用使用 CA 并进行监控。
示例提示词
为 25,000 名用户规划为期 12 个月的通行密钥推广:试点、推广活动、CA 强制执行、淘汰旧方式。为 300 名管理员发放启用证明验证的 FIDO2 硬件密钥;建立 AAGUID 允许列表。编写 Conditional Access 策略,要求全局管理员和 Azure 门户使用抗网络钓鱼 MFA。在 90 天内为受监管用户群将 SMS MFA 替换为 Authenticator 通行密钥。通过 HR 入职工作流,使用 Temporary Access Pass 为新员工完成初始设置。制定通行密钥注册推广活动,并设定成功指标和回滚计划。帮助丢失手机和唯一一把 FIDO2 密钥的用户恢复访问 — 编写包含身份验证步骤的操作手册。为 Mac 占比较高的创意团队比较设备绑定与同步通行密钥。
Microsoft Learn
- Entra 中的通行密钥概述:https://learn.microsoft.com/entra/identity/authentication/concept-authentication-passwordless
- Microsoft Authenticator 通行密钥:https://learn.microsoft.com/entra/identity/authentication/how-to-enable-authenticator-passkey
- FIDO2 安全密钥:https://learn.microsoft.com/entra/identity/authentication/concept-authentication-passwordless#fido2-security-keys
- 证明验证和 AAGUID:https://learn.microsoft.com/entra/identity/authentication/concept-fido2-compatibility
- Temporary Access Pass:https://learn.microsoft.com/entra/identity/authentication/howto-authentication-temporary-access-pass
- CA 中的身份验证强度:https://learn.microsoft.com/entra/identity/authentication/concept-authentication-strengths
- 注册推广活动:https://learn.microsoft.com/entra/identity/authentication/how-to-mfa-registration-campaign
- 数字匹配 MFA:https://learn.microsoft.com/entra/identity/authentication/how-to-mfa-number-match
- 淘汰 SMS/语音验证:https://learn.microsoft.com/entra/identity/authentication/how-to-authentication-methods-manage