在一个域中,许多机器用于为用户提供服务,因此 Active Directory 需要跟踪这些服务,以便用户可以进行身份验证。
Active Directory 服务可能很棘手,因为它与计算机服务不同。Windows 或 Linux 计算机上的服务可以被认为是一个不断运行任务的后台进程。但是,计算机上的服务不需要侦听端口,例如检查可用系统更新的服务。
另一方面,Active Directory 是一个标识符,它指示计算机上可以访问或可以访问哪些远程服务。并非所有远程服务都注册到域数据库,但需要通过 Kerberos 对域用户进行身份验证的服务需要注册。
Active Directory 中的每个注册服务都提供以下信息:
-
运行计算机服务的用户;
-
一个服务类,指定它是什么类型的服务,例如 web 服务器;
-
托管服务的计算机;
-
机器上的服务端口(可选);
-
服务路径(可选)。
为了存储此信息,每个服务都由服务主体名称 (SPN) 标识,其格式如下:
service_class/machine_name[:port][/path]
machine_name 可以是主机名或完全限定域名(完全限定域名:主机名和域名组合)
为了与 Kerberos 兼容,保留这两种格式是正常的。例如:
ldap/DC01
ldap/dc01.contoso.local
LDAP 服务 SPN
SPN 将存储在用户&#