[CI/CD]安装和使用macOS的服务账户

487 阅读7分钟

原文地址: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模块导入一个命令示例,以完成代理的重新安装。

安装后,您可以通过运行以下命令来验证服务账户的存在。

确定哪些系统有服务账户

有两个只读的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代理的信息。


www.deepl.com 翻译