PowerScale:OneFS:Kerberos 身份验证的服务主体名称Service principal names for Kerberos Authentication
Summary: 本文介绍服务主体名称以及如何为 PowerScale 群集创建或添加它们。
Symptoms
介绍
服务主体名称 (SPN) 是客户端唯一标识服务实例的名称。SPN 是唯一的,即使对于 Active Directory 环境中的计算机上的多个服务实例也是如此。如果客户端出于身份验证目的使用多个名称,则会为服务实例分配多个 SPN。这包括 DNS 中每个 SmartConnect 区域名称或别名的一个唯一 SPN。有关详细信息,请参阅 Microsoft 开发人员网络中心中的服务主体名称一文。
非 Active Directory 环境中
使用 NFS 的 KerberosOneFS 不会使用非 Active Directory 身份验证服务器(例如 MIT 或 HEIMDAL)自动设置和配置 NFS Kerberos。这需要对以下文章中列出的非 Active Directory 环境进行不同的手动配置。请参阅 OneFS:如何配置 Isilon 群集以在非 Active Directory 环境中将 Kerberos 与 NFS 结合使用),知识库文章 16584。
具有 Active Directory 环境
的 Kerberos为了在基于 Active Directory 的环境中按名称连接到群集而不提供用户名和密码,必须使用 Kerberos 身份验证。
使用 Kerberos 访问群集时,客户端会根据客户端用于连接的 DNS 名称与群集建立 Kerberos 票证。加入 AD 域时,群集会将任何 SmartConnect 分区名称或别名注册为在域上的群集计算机帐户上配置的 SPN。在将群集加入域后创建的任何其他 SmartConnect 分区名称或别名都必须手动添加 SPN。这适用于 DNS 名称和短名称。
DNS 服务器上还必须有每个新 SmartConnect 分区名称或别名的委派记录。
SPN 在 Active Directory 林中必须 唯一 。如果存在重复的 SPN 或计算机帐户,则可能会发生身份验证失败。请参阅 OneFS:如何在 Active Directory 中查找重复的服务主体名称 (SPN),https://www.dell.com/dci/fp/session/authorize?client_id=3a4eea6a-4a4e-4f2e-be4a-adc5d51a357a&redirect_uri=https%3A%2F%2Fwww.dell.com%2Fsupport%2Fkbdoc%2Fen-us%2F000032723
将群集加入多个 AD 域时,加入时的现有 SmartConnect 分区会为每个 AD 提供程序添加 SPN。这可能会导致在两个域之间注册重复的 SPN。如果两个域与以跨领域方式连接到群集的客户端共享双向信任(Microsoft信任),则这会导致问题(对于 FQDN SPN)。来自域 A 的客户端使用 DomainB 访问群集上的访问分区,使用不正确的机器帐户来加密票证,从而导致“KRB5KRB_AP_ERR_MODIFIED” 错误。
要查看已注册的 SPN,请执行以下作:
OneFS 6.5 及更低版本:
# isi auth ads spn list
OneFS 7.0 及更高版本:
# isi auth ads spn list --domain=<FullyQualifiedDomainName>
输出类似于以下示例:
# isi auth ads spn list --domain=MY.DOMAIN.COM
SPNs registered for isicluster$:
HOST/isicluster
HOST/isicluster.MY.DOMAIN.COM
缺少 SPN 的症状
- 如果在连接到 Active Directory 时缺少 SPN,OneFS 将创建事件/警报,类似于以下内容 (KB 502666):
Recurring: AD server missing needed SPN(s) HOST/isicluster, HOST/isicluster.isilon.com; try 'isi auth ads spn check' AD server missing needed SPN(s) HOST/zonecifs.isilon.com, HOST/zonemgmt.isilon.com, HOST/nfs.isilon.com; try 'isi auth ads spn check'
- 通过 SmartConnect 分区名称或短名称对群集进行身份验证失败,但使用 IP 连接可正常工作。
- 对域控制器的大量 NTLM 身份验证请求。
Cause
要查找缺少的 SPN,请执行以下作:
OneFS 6.0 及更早版本:
列出群集上的 SmartConnect 分区:
# isi networks list pools
然后与已注册的 SPN 列表进行比较:
# isi auth ads spn list.
SPNs registered for isicluster$:
HOST/isicluster
HOST/isicluster.MY.DOMAIN.CORP
OneFS 6.5 版本:
# isi auth ads spn check
OneFS 7.x 版本:
# isi auth ads spn check --domain=<FQDN>
OneFS 8.x 和更高版本:
# isi auth ads spn check --provider-name
or
# isi auth ads spn check <provider-name>
提醒:在 OneFS 中,可以配置多个域和访问分区。可能必须为加入群集的每个域运行该命令。建议域为大写字母,因为某些早期版本区分大小写。具有受信任域的多个访问分区也可能导致重复的 SPN 问题。请联系支持部门,以获取有关使用受信任域的多个访问分区的帮助。
Resolution
创建或添加 SPN 需要具有域管理权限的用户帐户。
重要!
用户必须在添加 SPN 时指定 AD 管理员用户名。如果用户无法执行此作,则会收到以下错误:
LdapError: Failed to modify attribute[19]
仅使用用户名本身不限定(无域指定)。
要在 OneFS 6.5 及更高版本中使用修复选项添加缺少的 SPN:
OneFS 6.5 版本:
# isi auth ads spn check --repair --user=<domainadmin>
OneFS 7.x:
# isi auth ads spn check --repair --user=<domainadmin> --domain=<FQDN>
OneFS 8.x:
# isi auth ads spn fix <providername> --user=<admin user of AD>
提醒:在 OneFS 中,可以配置多个域和访问分区。将修复选项用于多个访问分区和受信任域可能会导致出现重复的 SPN。建议使用“isi auth ads spn create” 命令创建 SPN。
警告:某些客户环境可能涉及使用相同 SmartConnect 分区名称的多个群集。它们可能依赖于故障切换自动化在群集之间添加/删除 SPN,并出于故障切换目的更改 DNS。运行修复/修复命令可能会引入身份验证问题,如果完成,请谨慎使用。Isilon 建议仅添加每个 SPN 所需的 SPN。
要在 OneFS 6.5 及更高版本中添加单个 SPN:
OneFS 6.5 版本:
# isi auth ads spn create --spn=<service>/<DNS name> --user=<domainadmin>
OneFS 7.x:
# isi auth ads spn create --spn=<service>/<DNS name> --user=<domainadmin> --domain=<FQDN>
OneFS 8.x:
# isi auth ads spn create <providername> --spn=<service>/<DNS name> --user=<admin user of AD>
提醒:如果需要,可以在“缺少的 SPN”列表之外添加其他 SPN(例如,如果正在使用 CNAME)。
Additional Information
相关文章:
”如果服务主体名称 (SPN) 不正确或缺失,身份验证服务可能会失败,“ 89649
”OneFS:如何创建 SPN 帐户以允许使用 SmartConnect DNS 条目进行 Kerberos 身份验证、16528
“如何在 Microsoft Active Directory 环境中查看 SPN 列表”、16589
“SQL 客户端无法将文件从 Isilon 群集”批量插入“到 SQL 数据库、89574
”如何在 OneFS 5.5.x - 6.5.x 中启用 Active Directory 的 CIFS 共享启用 Mac OS X 单点登录 (SSO),“16675
”Isilon OneFS 7.1.0.0:SMB2 客户端无法使用 Kerberos 身份验证连接到群集,“ 174024
”OneFS:如何在 Active Directory 中查找重复的服务主体名称 (SPN),“ 186215。
OneFS:如何配置 Isilon 群集以在非 Active Directory 环境中将 Kerberos 与 NFS 配合使用,“ 16584。”
OneFS:AD 服务器缺少所需 SPN 警报,“502666