是否可以为每个 Active Directory 用户强制执行特定的凭据提供程序?

mbr*_*nyc 6 windows active-directory credentials

我有一个凭据提供程序没有按照我希望的方式行事。它提供辅助身份验证,但它的范围是针对主机范围内的所有交互式 Windows 登录,而不是针对特定用户。

除了凭据提供程序之外,还安装了凭据提供程序过滤器。凭据提供程序过滤器将登录屏幕上的凭据提供程序的使用限制为仅此凭据提供程序。然而,如果凭证提供者过滤器被移除(通过删除下面的键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters),那么用户可以将凭证提供者更改为任何其他可用的凭证提供者(包括我们的好老朋友PasswordProvider)。

我的目的是强制某些用户使用凭证提供程序。例如,如果此用户尝试使用另一个凭据提供程序登录,那很好,但我希望 AD 拒绝此请求……只允许从正确的凭据提供程序调用的请求。

这可能吗?我希望有一种方法可以在 AD 中配置用户对象来限制可接受的凭据提供程序。

谢谢

Eri*_*ikE 2

好问题。正如此处所述,如果没有更好的来源,答案似乎是否定的。

引用:

值得注意的是,凭证提供者不是执行机制。

因为:

凭据提供程序在 Windows 计算机上注册并负责以下操作。

  • 描述身份验证所需的凭证信息。
  • 处理与任何外部身份验证机构的通信和逻辑。
  • 打包交互式和网络登录的凭据。

也就是说,它们是客户端机制。

此外,还描述了一种最佳实践,即不要完全禁止访问至少一个主机范围的提供程序,以免导致完全锁定:

虽然第三方凭据提供商可能会满足特定用户组的额外身份验证要求,但确保用户在发生重大更改时始终可以重新获得对其计算机的访问权限非常重要。系统凭证提供者提供了这种保证。

所以......建议似乎是不排除对主机范围提供商的访问。如果您无论如何都想限制,简单的解决方案是:不授予用户删除注册表项的权限

受保护的用户安全组不会执行您要求的操作,而是强化服务器端身份验证过程的一种方法。