为组织启用通行密钥 (FIDO2)

对于目前使用密码的企业,通行密钥 (FIDO2) 为工作者提供了无需输入用户名或密码即可进行身份验证的无缝方式。 通行密钥 (FIDO2) 可提高员工的工作效率,并且安全性更高。

本文介绍了在组织中启用通行密钥的要求和步骤。 完成这些步骤后,组织中的用户可以使用存储在 FIDO2 安全密钥或 Microsoft Authenticator 上的通行密钥注册并登录到其 Microsoft Entra 帐户。

有关在 Microsoft Authenticator 中启用通行密钥的详细信息,请参阅如何在 Microsoft Authenticator 中启用通行密钥

有关通行密钥身份验证的详细信息,请参阅支持使用 Microsoft Entra ID 进行 FIDO2 身份验证

注意

Microsoft Entra ID 目前支持存储在 FIDO2 安全密钥和 Microsoft Authenticator 中的设备绑定通行密钥。 Microsoft 致力于使用通行密钥保护客户和用户。 我们正在投资为工作帐户构建同步通行密钥和设备绑定通行密钥。

要求

  • Microsoft Entra 多重身份验证 (MFA)
  • 可使用 Microsoft Entra ID 或 Microsoft Authenticator 进行证明的 FIDO2 安全密钥。
  • 支持通行密钥 (FIDO2) 身份验证的设备。 对于已联接到 Microsoft Entra ID 的 Windows 设备,可在 Windows 10 版本 1903 或更高版本上获得最佳体验。 已建立混合联接的设备必须运行 Windows 10 版本 2004 或更高版本。

Windows、macOS、Android 和 iOS 上的主要场景都支持通行密钥 (FIDO2)。 有关受支持的场景的详细信息,请参阅 Microsoft Entra ID 中对 FIDO2 身份验证的支持

注意

即将在 Android 上的 Edge 浏览器中支持同一设备注册。

通行密钥 (FIDO2) Authenticator 证明 GUID (AAGUID)

FIDO2 规范要求每个安全密钥供应商在注册期间提供 Authenticator 证明 GUID (AAGUID)。 AAGUID 是指示密钥类型的 128 位标识符,如制造商和型号。 桌面设备和移动设备上的通行密码 (FIDO2) 提供程序也需要在注册期间提供 AAGUID。

注意

供应商必须确保该供应商所产生的所有完全相同的安全密钥或通行密钥 (FIDO2) 提供程序的 AAGUID 相同,并且不同于(概率较高)所有其他类型安全密钥或通行密钥 (FIDO2) 提供程序的 AAGUID。 为了确保这一点,应随机生成给定安全密钥模型或通行密钥 (FIDO2) 提供程序的 AAGUID。 有关详细信息,请参阅 Web 身份验证:用于访问公钥凭据的 API - 级别 2 (w3.org)

你可以与安全密钥供应商合作,确定通行密钥 (FIDO2) 的 AAGUID,或查看符合使用 Microsoft Entra ID 证明的条件的 FIDO2 安全密钥。 如果已注册通行密钥 (FIDO2),可通过查看用户的通行密钥 (FIDO2) 的身份验证方法详细信息来查找 AAGUID。

有关如何查看密钥的 AAGUID 的屏幕截图。

启用通行密钥 (FIDO2) 身份验证方法

  1. 至少以身份验证策略管理员的身份登录到 Microsoft Entra 管理中心

  2. 浏览到“保护”>“身份验证方法”>“身份验证方法策略”。

  3. 在“通行密钥 (FIDO2)”方法下,将开关设置为“启用”。 选择“所有用户”或“添加组”以选择特定组仅支持安全组

  4. 在“配置”选项卡上:

    • 将“允许自助服务设置”设置为“是”。 如果设置为“否”,则用户无法使用安全信息来注册通行密钥,即便身份验证方法策略启用了通行密钥 (FIDO2)。

    • 如果你的组织希望确保 FIDO2 安全密钥模型或通行密钥提供程序是真实的,而且来自合法供应商,应将“强制证明”应设置为“是”。

      • 对于 FIDO2 安全密钥,我们需要安全密钥元数据通过 FIDO 联盟元数据服务进行发布和验证,还要求该元数据通过 Microsoft 的另外一组验证测试。 有关详细信息,请参阅成为与 Microsoft 兼容的 FIDO2 安全密钥供应商
      • 对于 Microsoft Authenticator 中的通行密钥,也计划正式发布证明支持。

      警告

      证明强制控制是否仅在注册期间允许通行密钥 (FIDO2)。 如果“强制证明”随后设置为“是”,则在没有证明的情况下,注册了通行密钥 (FIDO2) 的用户在不会被阻止登录。

    密钥限制策略

    • 只有当你的组织希望仅允许或禁止特定的安全密钥模型或通行密钥提供程序(由它们的 AAGUID 标识)时,才应将“强制密钥限制”设置为“是”。 可以与安全密钥供应商合作,确定通行密钥的 AAGUID。 如果已注册通行密钥,可查看用户的通行密钥的身份验证方法详细信息来找到 AAGUID。

    将“强制实施密钥限制”设置为“是”时,可以选择让 Microsoft Authenticator(预览版)自动在密钥限制列表中添加 Authenticator 应用 AAGUID。 有关详细信息,请参阅在 Microsoft Authenticator(预览版)中启用通行密钥

    警告

    对于注册和身份验证,密钥限制设置了特定模型或提供程序的可用性。 如果更改密钥限制,并移除以前允许的 AAGUID,那么以前注册允许方法的用户无法再使用该方法来进行登录。

    如果你的组织当前未强制实施密钥限制,并且已具有活动密钥使用情况,那么你应收集当前使用的密钥的 AAGUID。 将它们与 Authenticator AAGUID 一起添加到允许列表,以启用此预览。 可以使用自动化脚本来完成此任务,该脚本会分析日志(例如注册详细信息和登录日志)。

    注意

    如果关闭密钥限制,请务必清除“Microsoft Authenticator(预览版)”复选框,这样就不会提示用户在 Authenticator 应用中的“安全信息”中设置通行密钥。

    显示启用 Microsoft Authenticator 通行密钥的屏幕截图。

  5. 完成配置后,选择“保存”

    注意

    如果在尝试保存时发现错误,请在一个操作中将多个组替换为单个组,然后再次单击“保存”

使用 Microsoft Graph API(预览版)预配 FIDO2 安全密钥

目前其为预览版,管理员可以使用 Microsoft Graph 和自定义客户端代表用户预配 FIDO2 安全密钥。 预配需要使用“身份验证管理员”角色或具有 UserAuthenticationMethod.ReadWrite.All 权限的客户端应用程序。 预配改进包括:

  • 能够从 Microsoft Entra ID 请求 WebAuthn 创建选项
  • 能够使用 Microsoft Entra ID 直接注册预配的安全密钥

借助这些新 API,组织可以生成自己的客户端,代表用户预配安全密钥上的通行密钥 (FIDO2) 凭据。 若要简化此过程,需要执行三个主要步骤。

  1. 为用户请求创建选项:Microsoft Entra ID 返回客户端预配通行密钥 (FIDO2) 凭据所需的数据。 这包括用户信息、信赖方 ID、凭据策略要求、算法、注册质询等信息。
  2. 使用创建选项预配通行密钥 (FIDO2) 凭据:使用 creationOptions 和支持客户端到验证器协议 (CTAP) 的客户端来预配凭据。 在此步骤中,需要插入安全密钥并设置 PIN。
  3. 使用 Microsoft Entra ID 注册 预配凭据:使用预配过程的格式化输出为目标用户注册密钥 (FIDO2) 凭据提供所需的数据,Microsoft Entra ID。

显示预配通行密钥 (FIDO2) 所需的步骤的概念图。

使用 Microsoft Graph API 启用通行密钥 (FIDO2)

除了使用 Microsoft Entra 管理中心之外,还可以使用 Microsoft Graph API 来启用通行密钥 (FIDO2)。 若要启用通行密钥 (FIDO2),需要至少以身份验证策略管理员身份更新身份验证方法策略。

使用 Graph 浏览器配置策略:

  1. 登录到 Graph 浏览器,并同意授予“Policy.Read.All”和“Policy.ReadWrite.AuthenticationMethod”权限

  2. 检索身份验证方法策略:

    GET https://graph.microsoft.com/beta/authenticationMethodsPolicy/authenticationMethodConfigurations/FIDO2
    
  3. 若要禁用证明强制实施,并强制实施密钥限制以便仅允许使用 RSA DS100 的 AAGUID,请使用以下请求正文执行 PATCH 操作:

    PATCH https://graph.microsoft.com/beta/authenticationMethodsPolicy/authenticationMethodConfigurations/FIDO2
    
    Request Body:
    {
        "@odata.type": "#microsoft.graph.fido2AuthenticationMethodConfiguration",
        "isAttestationEnforced": false,
        "keyRestrictions": {
            "isEnforced": true,
            "enforcementType": "allow",
            "aaGuids": [
                "7e3f3d30-3557-4442-bdae-139312178b39",
    
                <insert previous AAGUIDs here to keep them stored in policy>
            ]
        }
    }
    
  4. 确保正确更新通行密钥 (FIDO2) 策略。

    GET https://graph.microsoft.com/beta/authenticationMethodsPolicy/authenticationMethodConfigurations/FIDO2
    

删除通行密钥 (FIDO2)

若要删除与用户帐户关联的通行密钥 (FIDO2),请从用户的身份验证方法中删除该密钥。

  1. 登录到 Microsoft Entra 管理中心并搜索需要删除其通行密钥 (FIDO2) 的用户。
  2. 选择“身份验证方法”>右键单击“通行密钥(设备绑定)”,然后选择“删除”

强制实施通行密钥 (FIDO2) 登录

若要让用户在访问敏感资源时使用通行密钥 (FIDO2) 登录,你可以:

  • 使用内置的防网络钓鱼身份验证强度

  • 创建自定义身份验证强度

以下步骤显示了如何创建自定义身份验证强度条件访问策略,该策略仅允许特定安全密钥模型或通行密钥 (FIDO2) 提供程序使用通行密钥 (FIDO2) 登录。 有关 FIDO2 提供程序的列表,请参阅可使用 Microsoft Entra ID 进行证明的 FIDO2 安全密钥

  1. 最低以条件访问管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“保护”>“身份验证方法”>“身份验证强度”。
  3. 选择“新建身份验证强度”。
  4. 为你的新身份验证强度提供一个名称。
  5. (可选)提供说明。
  6. 选择“通行密钥(FIDO2)”
  7. (可选)如果要限制特定 AAGUID,请选择“高级选项”,然后选择“添加 AAGUID”。 输入允许的 AAGUID。 选择“保存”。
  8. 选择“下一步”并查看策略配置。

已知问题

B2B 协作用户

资源租户中的 B2B 协作用户不支持注册 通行密钥 (FIDO2) 凭据。

UPN 更改

如果用户的 UPN 发生更改,你将无法再修改通行密钥 (FIDO2) 来消除该更改。 如果用户具有通行密钥,则需要登录“安全信息”,删除旧的通行密钥,然后添加新通行密钥。

后续步骤

本机应用和浏览器对通行密钥 (FIDO2) 无密码身份验证的支持

FIDO2 安全密钥 Windows 10 登录

对本地资源启用 FIDO2 身份验证

代表用户注册安全密钥

详细了解如何注册设备

了解 Microsoft Entra 多重身份验证的详细信息