Introducción
En Mac con Apple Silicon (M1/M2/M3), Level crea una cuenta de servicio dedicada para gestionar los parches. Esta cuenta es necesaria para que Level pueda desbloquear FileVault e instalar actualizaciones sin una sesión de usuario interactiva.
Se crea automáticamente durante la instalación del agente. Si omitiste el aviso durante la instalación o necesitas administrarla más adelante, puedes hacerlo mediante la línea de comandos.
Qué es la cuenta de servicio
La cuenta de servicio de Level es una cuenta del sistema con un único propósito: instalar actualizaciones. No es una cuenta de usuario en ningún sentido práctico.
Sin privilegios de administrador
Sin privilegios de inicio de sesión (sin carpeta personal, sin shell)
Oculta en la ventana de inicio de sesión y en Usuarios & Grupos de preferencias
Si FileVault está activado, la cuenta es visible al arrancar y puede desbloquear la unidad
Se elimina automáticamente cuando se desinstala el agente de Level
ℹ️ NOTA: La cuenta de servicio es exclusiva de Apple Silicon. Los Mac con Intel no la necesitan porque el flujo de gestión de parches en Intel no requiere desbloquear FileVault al arrancar.
Configuración manual
Si la cuenta de servicio no se creó durante la instalación, ejecuta este comando en el dispositivo de destino:
/usr/local/bin/level --create-service-account
Se te pedirá un nombre de usuario y una contraseña de administrador. Estas credenciales corresponden a un administrador del sistema existente en el dispositivo — se utilizan para autorizar la creación de la cuenta de servicio, no para establecer su contraseña.
💡 CONSEJO: Para una configuración mediante scripts o MDM, pasa las credenciales como indicadores para omitir el aviso interactivo:
Ejemplo
/usr/local/bin/level --create-service-account --admin-name=adminuser --admin-password=adminpass
Referencia de CLI
ℹ️ NOTA: Todas las opciones de cuenta de servicio son exclusivas de Apple Silicon. Ejecutarlas en un Mac con Intel no tendrá ningún efecto.
Todas las opciones requieren la ruta completa al binario del agente de Level: /usr/local/bin/level
Opción | Descripción |
| Comprueba si existe una cuenta de servicio de Level en este dispositivo |
| Crea una nueva cuenta de servicio de Level |
| Elimina la cuenta de servicio de Level |
| Nombre de usuario de administrador para |
| Contraseña de administrador para |
⚠️ ADVERTENCIA: Eliminar la cuenta de servicio con --delete-service-account impedirá que Level instale actualizaciones en este dispositivo hasta que la cuenta se vuelva a crear.
Tokens seguros de macOS
¿Por qué falla --create-service-account con «The provided admin credentials are valid, but the account lacks a secure token»?
En los Mac con Apple Silicon (y en los Mac con Intel con FileVault activado), macOS requiere que la cuenta de administrador que autoriza la creación de otra cuenta tenga un SecureToken. La cuenta de servicio de Level necesita un SecureToken para poder desbloquear FileVault al arrancar, y Apple no permite que un administrador sin SecureToken otorgue un token a otra cuenta. Si las credenciales de administrador que pasas a --create-service-account no tienen un SecureToken, el agente fallará con este error aunque esas credenciales sean credenciales de administrador válidas en cualquier otro sentido.
Esto ocurre con mayor frecuencia cuando la cuenta de administrador fue creada por una inscripción PreStage de Jamf (u otro prestage de MDM) sin custodia del Bootstrap Token — esas cuentas son administradores reales, pero no se les otorga automáticamente un SecureToken.
¿Cómo compruebo si una cuenta de administrador tiene un SecureToken?
sysadminctl -secureTokenStatus <adminuser>
Si la salida es ENABLED, esa cuenta puede autorizar --create-service-account. Si es DISABLED, deberás usar un administrador diferente o otorgarle un SecureToken a este primero.
¿Cómo obtengo un SecureToken en la cuenta de administrador que quiero usar?
Existen tres caminos comunes, según el estado del dispositivo:
Asistente de Configuración (la opción más limpia, para dispositivos nuevos). Al primer usuario interactivo que pasa por el Asistente de Configuración se le otorga automáticamente un SecureToken. Si ese es el administrador que piensas usar para la implementación de Level, no se requiere ninguna acción adicional.
Bootstrap Token mediante MDM (recomendado para implementaciones en flota). Configura la inscripción prestage de tu MDM para crear un Cuenta de administrador local gestionada con la custodia del Bootstrap Token activada. En Jamf, esto se configura en la inscripción PreStage bajo Configuración de cuenta. El MDM entonces otorga un SecureToken a ese administrador durante la inscripción, y puedes pasar sus credenciales a
--create-service-accountde forma no interactiva.Otorgar el token desde un titular de SecureToken existente. Si el dispositivo ya tiene otra cuenta con un SecureToken (generalmente la cuenta original del usuario final), úsala una vez para otorgar un token a tu administrador:
sudo sysadminctl -secureTokenOn <adminuser> -password <adminpw> \
-adminUser <tokenholder> -adminPassword <tokenholderpw>
Después de esto,<adminuser>tendrá un SecureToken y podrá usarse para--create-service-accounten adelante.
Implementé una flota sin un administrador con SecureToken. ¿Qué hago ahora?
En cada dispositivo, ejecuta sysadminctl -secureTokenStatus en las cuentas de administrador locales para encontrar una que tenga un SecureToken (generalmente el usuario original del Asistente de Configuración). Usa esa cuenta para ejecutar --create-service-account directamente, o para otorgar un SecureToken a tu administrador de implementación estándar (opción 3 anterior) de modo que las operaciones futuras sean no interactivas. Para nuevas inscripciones, soluciona el problema subyacente activando la custodia del Bootstrap Token en el prestage del MDM.
¿Esto aplica también a los Mac con Intel?
Sí, en cualquier Mac con FileVault activado. En Apple Silicon, el SecureToken es efectivamente obligatorio independientemente del estado de FileVault. El síntoma y la solución son los mismos en ambas arquitecturas.
Si lo deseas, también puedo abrir un PR de documentación con esta sección de preguntas frecuentes redactada en el repositorio o CMS que aloja el artículo; simplemente indícame cuál es.
Preguntas frecuentes
¿Por qué Level necesita una cuenta de servicio solo para instalar actualizaciones? macOS requiere que FileVault esté desbloqueado antes de que el sistema pueda instalar actualizaciones al arrancar. La cuenta de servicio le da a Level una forma de realizar ese desbloqueo sin una sesión de usuario interactiva.
¿Mis usuarios verán esta cuenta? No. La cuenta de servicio está oculta en la ventana de inicio de sesión y en Configuración del sistema → Usuarios & Grupos. Solo aparece en la pantalla de desbloqueo de FileVault al arrancar en dispositivos con FileVault activado.
Descarté el aviso de credenciales durante la instalación. ¿Necesito configurar la cuenta? Solo si deseas que Level gestione los parches en este dispositivo. Ejecuta
--create-service-accountmanualmente o envíala mediante tus herramientas de implementación. La supervisión, el control remoto y otras funciones funcionan sin ella.¿Puedo automatizar la creación de la cuenta de servicio a gran escala? Sí — usa
--admin-name=y--admin-password=indicadores para pasar credenciales de forma no interactiva. Estos pueden pasarse como parte de un script posterior a la instalación en tu MDM o herramienta de implementación.¿Qué ocurre con la cuenta de servicio si desinstalo Level? Se elimina automáticamente como parte del proceso de desinstalación.
