原文地址:support.jumpcloud.com/support/s/a…
原文作者:
发布时间:
用于macOS的JumpCloud服务账户简介
JumpCloud利用服务账户来确保MacOS系统上的JumpCloud管理用户能够解锁FileVault加密。在JumpCloud为JumpCloud管理的用户提供FileVault访问权限之前,必须创建JumpCloud服务账户,以提供其授予新用户安全令牌的重要功能。这个服务账户是在JumpCloud代理安装过程中创建的,也可能在用户登录时自动安装。
了解High Sierra及以后的macOS版本中的安全账户
macOS 10.13中出现的苹果文件系统(APFS)改变了苹果管理FileVault加密密钥的方法。为了保护和提供FileVault解密所需的加密密钥的访问,苹果引入了SecureTokens。
SecureTokens被授予使用苹果设置助手为第一个管理用户创建本地账户的macOS用户,然后随后通过苹果在系统偏好设置中的用户和群组窗格。苹果的macOS部署参考指南描述了系统账户可以被授予安全令牌的其他方法。拥有安全令牌的用户可以在macOS系统上启用和管理FileVault,而由这些用户创建的用户也会通过信任链的方法获得安全令牌。
JumpCloud服务账户如何工作
JumpCloud服务账户作为一个系统账户被安装,其唯一目的是为JumpCloud管理的账户管理安全令牌。作为一个服务账户,它的背景是为JumpCloud管理的其他用户账户提供安全级别的服务,而且它不能被其他用户登录--JumpCloud服务账户没有可访问的密码或有效的主目录。
在使用JumpCloud macOS FileVault 2策略时,JumpCloud服务账户也被用来轮换FileVault恢复密钥。此外,JumpCloud通过Mac代理提供恢复密钥托管服务。
预期的行为
- 服务账户在启动时出现在Filevault解密屏幕的用户列表中。
- 服务账户不会出现在主登录窗口,也不会显示在系统偏好设置>用户和组的用户列表中。
- 新用户需要登录才能被添加到FileVault并被允许解密系统。
- JumpCloud接管的现有用户,如果没有启用安全令牌,则需要退出并重新登录,才能被添加到FileVault并允许解密系统。
- JumpCloud管理的用户的密码重置行为与启用了FileVault的其他版本的macOS相同。
- 当JumpCloud代理被卸载时,JumpCloud服务账户会被删除。
JumpCloud服务账户的安装方式
服务账户可以由JumpCloud自动安装,也可以由管理员手动安装。
自动安装
当管理员级别的用户登录到Mac系统时,JumpCloud会自动安装服务账户。
要想让JumpCloud能够在登录时自动安装服务账户,需要具备以下条件。
- 系统必须是macOS 10.13.5及以上版本。
- 系统必须利用苹果文件系统(APFS)。
- 登录的用户必须是Mac系统上JumpCloud管理的管理员用户。
手动安装
如果服务账户不能自动安装,管理员可以手动安装服务账户。
如果用户是支持SecureToken的用户。
在代理安装过程中,如果当前用户是启用了安全令牌的用户,安装窗口会提示当前用户输入密码来安装JumpCloud服务账户。如果用户点击跳过,服务账户就没有安装,JumpCloud就不能在该系统上管理FileVault。该系统将被绑定到JumpCloud,但不会有一个有效的服务账户。
如果用户不是支持SecureToken的用户。
在代理安装过程中,如果当前用户不是启用安全令牌的用户,安装窗口会要求用户输入启用安全令牌的用户名和密码。如果用户点击跳过,服务账户就没有安装,JumpCloud就不能在该系统上管理FileVault。
如果密码输入错误。
在代理安装过程中,如果输入了SecureToken管理员的用户名,但密码输入错误,则要求用户输入正确的密码,将系统绑定到JumpCloud。如果用户点击退出,系统无论如何也不会与JumpCloud绑定,安装程序会显示失败信息。
对于JumpCloud管理用户的系统,如果以下情况属实。
- macOS 10.13.5及以上版本
- 启用了FileVault的用户
- APFS
在JumpCloud代理的安装过程中,需要提供一个原生创建的管理账户的凭证,并将SecureToken ENABLED。安全令牌会授予第一个登录到设置助手所创建的系统的用户。要检查该用户的安全令牌状态,请在终端运行以下命令。
# sysadminctl interactive -secureTokenStatus SECURETOKEN_ADMIN_USERNAME
# SecureToken is ENABLED for user SECURETOKEN USER
这个命令可以使用JumpCloud代理来运行,这个命令可以使用JumpCloud PowerShell模块来导入。
在验证了用户启用了SecureToken之后,可以使用手动安装方法或CLI方法来安装该代理。手动方法包含与没有此选项的安装程序相同的步骤,并且还要求提供之前验证的SecureToken管理员用户的凭证。这个过程会创建用户"_jumpcloudserviceaccount",代理会利用它来管理系统上任何JumpCloud管理的用户的FileVault访问。
在少数情况下,你可能会遇到一个没有启用SecureToken的用户的macOS系统。在这些罕见的情况下,你可以尝试删除系统上的/var/db/.AppleSetupDone文件,然后重新启动。这个动作会导致苹果设置助手在下一次系统启动时再次运行,让你有机会创建一个新的启用安全令牌的本地管理员账户。
在已经被JumpCloud管理的系统上手动安装服务账户
如果代理升级后无法自动安装服务账户,您可以使用手动安装方法或 CLI 方法在现有代理安装的基础上重新安装代理,从而手动安装服务账户。当你重新安装代理时,不会提示你输入连接密钥,而且重新安装代理不会在JumpCloud中创建新的系统条目。
代理的升级可以使用JumpCloud的命令完成。可使用JumpCloud PowerShell模块导入一个命令示例,以完成代理的重新安装。
安装后,您可以通过运行以下命令来验证服务账户的存在。
- verify_serviceaccount.sh - 你可以从JumpCloud命令库中导入此命令。
dscl . -list /users | grep "_jumpcloudserviceaccount"
确定哪些系统有服务账户
有两个只读的API v1系统API(/v1/systems和/v1/systems/{id})属性可供管理员用来确定某个系统是否拥有JumpCloud服务账户。
目前,服务账户只适用于采用APFS文件系统的Mac OS X系统。如果API报告说JumpCloud服务账户不存在,可能是因为系统配置不支持JumpCloud服务账户,或者系统配置支持服务账户,但系统上还没有创建服务账户。为了解决这两种可能性之间的歧义,管理员需要检查这两个新属性。
- hasServiceAccount - 报告系统是否有JumpCloud的服务账户。可能的值是真或假。如果API返回false,管理员可能要检查文件系统属性,以确定false是否意味着 "不适用 "或服务账户不存在。
- filesystem - 报告系统中使用的文件系统。只有APFS或大小写敏感的APFS系统适用于hasServiceAccount。
了解更多关于使用Mac代理的信息。