昨天有人问我是否可以使用 ADFS 建立跨域身份验证。
设想:
- 两个不同的 Windows 域(A 和 B),没有任何信任配置
- 使用 IPSec Site2Site 建立域之间的网络访问(所有端口均需单独打开)
- 域 A 中服务器上的一项特定 Windows 服务必须使用域 B 中的 AD 帐户进行登录(Windows 服务 -> 登录 -> 此帐户 -> 域 B 中的帐户)
我们的合作伙伴由于安全原因不想建立域信任,因此询问我们是否可以通过 ADFS 实现此身份验证过程?
ADFS 对我来说很新,我不确定这种情况是否可以通过 ADFS 实现?
答案1
如果没有域信任,这是不可能的。
ADFS 允许应用程序在不直接访问 AD(或其他身份提供者)的情况下对其进行身份验证;但应用程序必须明确支持此身份验证方法。Windows
登录不支持。
要登录 Windows 系统,您需要:
- 使用本地用户帐户登录
- 使用系统加入域中的用户帐户登录
- 使用受信任域中的用户帐户登录
答案2
补充@Massimo 的回答,如果您可以更改 Windows 服务以使用带有客户端凭据流的 OpenID Connect(即服务而非用户,因此无需明确登录),那么这将起作用。
另一种选择是让服务使用老式的 WS-Trust,即 WCF。
这两者都受 ADFS 支持。