macOS 平台单一登录 (PSSO) 是在 macOS 上使用 Microsoft Enterprise 单一登录扩展启用的功能。 平台 SSO 使用户能够通过 PSSO 主刷新令牌(PRT)加入 macOS 设备,并使用硬件绑定密钥、智能卡或其Microsoft Entra ID 密码登录。
除了 PSSO PRT,Microsoft Entra 还颁发本地和基于云的 Kerberos 票证授予票证(TGT),这些票证随后通过 PSSO 中的 TGT 映射与 macOS 中的本机 Kerberos 堆栈共享。 客户可以灵活地确定这些 TGT 在其环境中是如何利用的,并且可以相应地配置 Kerberos SSO 扩展文件。 Apple 拥有和维护的 Kerberos SSO 扩展旨在为 macOS 上基于 Kerberos 的资源提供无缝单一登录。 如需 Kerberos sso 扩展配置所需的任何帮助,请联系 Apple。
本教程演示如何利用平台 SSO TGT 支持基于 Kerberos 的 SSO 到本地和云资源,以及 SSO 到 Microsoft Entra ID。 Kerberos SSO 是平台 SSO 中的可选功能,但如果用户仍需要访问使用 Kerberos 进行身份验证的本地 Active Directory 资源,则建议启用此功能。
自定义 Kerberos TGT 设置
客户可以使用 SSO 扩展配置中的扩展数据字典中的以下键/值自定义 TGT 映射设置。 此选项 仅在公司门户版本 2508 及更高版本中启用。
-
键:
custom_tgt_setting
-
类型:
Integer
价值 | 说明 |
---|---|
0 |
本地 TGT 和云 TGT - 同时映射本地 TGT 和云 TGT。 这是默认配置。 |
1 |
仅限本地 TGT - 仅映射本地 TGT。 |
2 |
仅限云 TGT - 仅映射基于云的 TGT。 |
3 |
无 TGT - 完全禁用 TGT 映射。 |
配置示例:
先决条件
- 最低版本为 macOS 14 Sonoma。
- Microsoft Intune 公司门户版本 5.2408.0 或更高版本
- 在移动设备管理 (MDM) 中注册的 Mac 设备。
- 管理员配置的具有平台 SSO 设置的 SSO 扩展 MDM 有效负载已部署到设备。 如果 Intune 是你的 MDM,请参阅平台 SSO 文档或 Intune 部署指南。
- 部署 Microsoft Entra Kerberos,这是本地 Active Directory 中某些 Kerberos 功能所必需的。 有关详细信息,请参阅 适用于 Windows Hello 企业版的 Cloud Kerberos 信任部署指南 ,或直接参阅 Cloud Kerberos 信任配置说明 以开始设置。 如果已经部署了具有云 Kerberos 信任或 Windows 无密码安全密钥登录的 Windows Hello 企业版,则此步骤已完成。
设置 macOS 设备
请参阅 Microsoft Entra ID macOS Platform SSO 文档 来配置和部署平台 SSO。 无论是否选择使用本指南部署 Kerberos SSO,都应在企业管理的 Mac 上部署平台 SSO。
本地 Active Directory 的 Kerberos SSO MDM 配置文件设置
如果计划同时使用 Microsoft Entra ID Cloud Kerberos 和本地 Active Directory 领域,则应配置单独的 Kerberos SSO MDM 配置文件。 如果不打算使用 Microsoft Entra Cloud Kerberos TGT,则只需配置本地 Kerberos SSO 配置文件。
使用以下设置配置本地 Active Directory 配置文件,确保将所有对 contoso.com 和 Contoso 的引用替换为环境的正确值:
配置密钥 | 建议的值 | 注意 |
---|---|---|
Hosts |
<string>.contoso.com</string> |
将 contoso.com 替换为本地域/林名称。 在域/林名称之前保留上述 . 字符 |
Hosts |
<string>contoso.com</string> |
将 contoso.com 替换为本地域/林名称 |
Realm |
<string>CONTOSO.COM</string> |
将 CONTOSO.COM 替换为本地领域名称。 该值应全部大写。 |
PayloadOrganization |
<string>Contoso</string> |
将 Contoso 替换为组织的名称 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>ExtensionData</key>
<dict>
<key>allowPasswordChange</key>
<true/>
<key>allowPlatformSSOAuthFallback</key>
<true/>
<key>performKerberosOnly</key>
<true/>
<key>pwReqComplexity</key>
<true/>
<key>syncLocalPassword</key>
<false/>
<key>usePlatformSSOTGT</key>
<true/>
</dict>
<key>ExtensionIdentifier</key>
<string>com.apple.AppSSOKerberos.KerberosExtension</string>
<key>Hosts</key>
<array>
<string>.contoso.com</string>
<string>contoso.com</string>
</array>
<key>Realm</key>
<string>CONTOSO.COM</string>
<key>PayloadDisplayName</key>
<string>Single Sign-On Extensions Payload for On-Premises</string>
<key>PayloadType</key>
<string>com.apple.extensiblesso</string>
<key>PayloadUUID</key>
<string>1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
<key>TeamIdentifier</key>
<string>apple</string>
<key>Type</key>
<string>Credential</string>
</dict>
</array>
<key>PayloadDescription</key>
<string></string>
<key>PayloadDisplayName</key>
<string>Kerberos SSO Extension for macOS for On-Premises</string>
<key>PayloadEnabled</key>
<true/>
<key>PayloadIdentifier</key>
<string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
<key>PayloadOrganization</key>
<string>Contoso</string>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
使用文本编辑器将配置保存为具有 .mobileconfig 文件扩展名的文件(例如,文件可以命名为 本地 kerberos.mobileconfig),然后根据您的环境使用正确的值更新配置。
Microsoft Entra ID Cloud Kerberos 的 Kerberos SSO MDM 配置文件配置
如果计划同时使用 Microsoft Entra ID Cloud Kerberos 和本地 Active Directory 领域,则应配置单独的 Kerberos SSO MDM 配置文件。 建议在 Microsoft Entra ID Cloud Kerberos 配置文件之前部署本地 Active Directory 配置文件。
使用以下设置配置 Microsoft Entra ID Cloud Kerberos 配置文件,确保将所有引用替换为租户的正确值:
配置密钥 | 建议的值 | 注意 |
---|---|---|
preferredKDCs |
<string>kkdcp://login.partner.microsoftonline.cn/aaaabbbb-0000-cccc-1111-dddd2222eeee/kerberos</string> |
将 aaaabbbb-0000-cccc-1111-dddd2222eeee 值替换为租户 ID,可在Microsoft Entra 管理中心 的“概述”页上找到 |
PayloadOrganization |
<string>Contoso</string> |
将 Contoso 替换为组织的名称 |
Hosts |
<string>.chinacloudapi.cn</string> |
|
Hosts |
<string>chinacloudapi.cn</string> |
|
Realm |
<string>KERBEROS.MICROSOFTONLINE.COM</string> |
该值应全部大写。 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>ExtensionData</key>
<dict>
<key>usePlatformSSOTGT</key>
<true/>
<key>performKerberosOnly</key>
<true/>
<key>preferredKDCs</key>
<array>
<string>kkdcp://login.partner.microsoftonline.cn/aaaabbbb-0000-cccc-1111-dddd2222eeee/kerberos</string>
</array>
</dict>
<key>ExtensionIdentifier</key>
<string>com.apple.AppSSOKerberos.KerberosExtension</string>
<key>Hosts</key>
<array>
<string>chinacloudapi.cn</string>
<string>.chinacloudapi.cn</string>
</array>
<key>Realm</key>
<string>KERBEROS.MICROSOFTONLINE.COM</string>
<key>PayloadDisplayName</key>
<string>Single Sign-On Extensions Payload for Microsoft Entra ID Cloud Kerberos</string>
<key>PayloadType</key>
<string>com.apple.extensiblesso</string>
<key>PayloadUUID</key>
<string>00aa00aa-bb11-cc22-dd33-44ee44ee44ee</string>
<key>TeamIdentifier</key>
<string>apple</string>
<key>Type</key>
<string>Credential</string>
</dict>
</array>
<key>PayloadDescription</key>
<string></string>
<key>PayloadDisplayName</key>
<string>Kerberos SSO Extension for macOS for Microsoft Entra ID Cloud Kerberos</string>
<key>PayloadEnabled</key>
<true/>
<key>PayloadIdentifier</key>
<string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
<key>PayloadOrganization</key>
<string>Contoso</string>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
使用 具有 mobileconfig 文件扩展名的文本编辑器保存配置(例如,文件可以在使用适合环境的正确值更新配置后命名为 cloud-kerberos.mobileconfig)。
注意
请确保注意 usePlatformSSOTGT 并执行KerberosOnly 密钥。 如果 usePlatformSSOTGT 设置为 true,则 Kerberos 扩展将平台 SSO 中的 TGT 与同一领域配合使用。 默认值为 false。 如果 performKerberosOnly 设置为 true,则 Kerberos 扩展不会执行密码过期检查、外部密码更改检查或检索用户的主目录。 默认值为 false。 这适用于本地和云配置,应在两个配置文件中配置这些密钥。
Intune 配置步骤
如果使用 Intune 作为 MDM,可以执行以下步骤来部署配置文件。 请确保按照[前面的说明](#Kerberos 本地 Active Directory 的 SSO MDM 配置文件配置)将 contoso.com 值替换为组织的正确值。
- 登录 Microsoft Intune 管理中心。
- 选择“设备”>“配置”>“创建”>“新策略”。
- 输入以下属性:
- 平台:选择 macOS。
- 配置文件类型:选择“模板”。
- 选择“自定义”模板,并选择“创建”。
- 在“基础”中,输入以下属性:
- 名称:输入策略的描述性名称。 命名策略,以便以后可以轻松识别它们。 例如,将策略命名为 macOS - 平台 SSO Kerberos。
- 描述:输入策略的描述。 此设置是可选的,但建议使用。
- 选择下一步。
- 在“自定义配置文件名称”框中输入名称。
- 选择“部署通道”。 建议使用设备通道。
- 单击文件夹图标以上传配置文件。 自定义模板后,请选择[以前保存](#Kerberos 本地 Active Directory 的 SSO MDM 配置文件配置)的 kerberos.mobileconfig 文件。
- 选择下一步。
- 在范围标记(可选)中,分配标记以将配置文件筛选到特定的 IT 组,例如
US-NC IT Team
或JohnGlenn_ITDepartment
。 选择下一步。- 有关范围标记的详细信息,请参阅对分布式 IT使用 RBAC 角色和范围标记。
- 在“分配”中,选择将接收配置文件的用户或用户组。 平台 SSO 策略是基于用户的策略。 不要将平台 SSO 策略分配给设备。
- 有关分配配置文件的详细信息,请参阅分配用户和设备配置文件。
- 选择下一步。
- 在“查看 + 创建”中查看设置。 选择“创建”时,将保存所做的更改,并分配配置文件。 配置文件列表中也显示了该策略。
- 如果需要部署这两个配置文件,请重复此过程,因为您将同时使用本地 Kerberos SSO 和 Microsoft Entra ID Cloud Kerberos。
下次设备检查配置更新时,将应用配置的设置。
测试 Kerberos SSO
用户完成平台 SSO 注册后,可以通过在终端应用中运行以下命令 app-sso platform -s
来检查设备是否具有 Kerberos 票证:
app-sso platform -s
应该有两个 Kerberos 票证,一个用于本地 AD,其 ticketKeyPath 值为 tgt_ad,另一个用于 Microsoft Entra ID 租户,其 ticketKeyPath 值为 tgt_cloud。 输出应如下所示:
使用支持 Kerberos 的相应资源进行测试,以验证配置是否正常工作:
- 通过使用 Finder 访问本地 AD 集成的文件服务器或使用 Safari 访问 Web 应用程序,测试本地 Active Directory 功能。 用户应能够访问文件共享,而无需对交互式凭据提出质询。
- 通过访问为 Microsoft Entra ID 云 kerberos 启用的Azure 文件存储共享来测试 Microsoft Entra ID Kerberos 功能。 用户应能够访问文件共享,而无需对交互式凭据提出质询。
注意
请注意,Microsoft的平台 SSO 实现负责颁发 Kerberos TGT 并将其传送到 macOS,以便 macOS 可以导入它们。 如果在运行app-sso platform -s
时看到 TGT,那么说明 TGT 已成功导入。 如果遇到任何持续的 Kerberos 问题,例如通过 Kerberos 访问本地资源时出现问题,建议联系 Apple 以获取 Kerberos MDM 配置文件更进一步的配置支持。 macOS 中的 Kerberos 实现使用本机 Apple 提供的 Kerberos 功能。
使用云 Kerberos TGT 访问 Azure 文件存储
通过平台 SSO 颁发的云 TGT 可无缝访问 Azure 文件共享,而无需提示用户提供交互式凭据。 请注意,使用 PSSO Kerberos TGT 功能访问 Azure 文件共享目前处于有限预览状态。 如果你有兴趣试用它,请联系 azurefiles@microsoft.com 加入支持部门。 如果需要有关在 Azure 文件中配置云文件共享的指导,请参阅 本指南。
注意
通过 SMB 装载文件共享时,请确保与 Azure 文件共享的应用注册关联的清单文件包含cifs
的映射。 如果此值设置为大写 CIFS
,可能会导致装载过程中出现问题。
已知问题
Kerberos SSO 扩展菜单附加项
使用平台 SSO 部署对 Kerberos SSO 的支持时,仍使用 macOS 的标准 Kerberos SSO 扩展功能。 与在没有平台 SSO 的情况下部署本机 Kerberos SSO 扩展一样,Kerberos SSO 扩展菜单附加项会显示在 macOS 菜单栏中:
使用平台 SSO 部署 Kerberos 支持时,用户无需与 Kerberos SSO 扩展菜单进行交互,才能使 Kerberos 功能正常工作。 如果用户未登录菜单栏扩展,并且菜单栏扩展显示“未登录”,Kerberos SSO 功能仍将运行。 根据本文所述,你可以指示用户在使用平台 SSO 进行部署时忽略菜单栏附加项。 请改为确保验证 Kerberos 功能可在用户不与菜单栏附加项交互的情况下按预期运行,如本文的测试 Kerberos SSO 部分所述。
对 Kerberos SSO 的浏览器支持
某些浏览器需要其他配置才能启用 Kerberos SSO 支持,包括如果使用平台 SSO 在 macOS 设备上启用 Kerberos。 在 macOS 上部署 Kerberos 支持时,请为使用的每个浏览器部署适当的设置,以确保它们可以与 macOS Kerberos SSO 功能进行交互:
- Safari:默认支持 Kerberos SSO
- Microsoft Edge:
- Google Chrome
- Mozilla Firefox
- 配置 Mozilla Firefox network.negotiate-auth.trusted-uris 和 network.automatic-ntlm-auth.trusted-uris 设置以启用 Kerberos SSO 支持