Introduction
Level crée un compte de service dédié sur macOS à deux fins :
Installer les mises à jour système macOS nécessitant un redémarrage sur les Mac Apple Silicon
Exécuter les actions d'activation, de désactivation et de rotation de clé de récupération FileVault gérées par Level sur les Mac Apple Silicon et Intel
Le compte permet à Level d'effectuer ces opérations sans session utilisateur interactive.
Il est créé automatiquement lors de l'installation de l'agent. Si vous avez ignoré l'invite au moment de l'installation ou si vous devez le gérer ultérieurement, vous pouvez le faire via la ligne de commande.
Ce qu'est le compte de service
Le compte de service Level est un compte système utilisé pour les mises à jour macOS et les actions FileVault. Ce n'est pas un compte utilisateur au sens pratique du terme.
Aucun privilège administrateur
Aucun privilège de connexion (pas de dossier personnel, pas de shell)
Masqué dans la fenêtre de connexion et dans Utilisateurs & Préférences Groupes
Si FileVault est activé, le compte est visible au démarrage et peut déverrouiller le disque
Supprimé automatiquement lors de la désinstallation de l'agent Level
ℹ️ REMARQUE : Level utilise le compte de service pour les mises à jour système macOS nécessitant un redémarrage sur Apple Silicon. Les actions FileVault gérées par Level utilisent le compte sur les Mac Apple Silicon et Intel.
Configuration manuelle
Si le compte de service n'a pas été créé lors de l'installation, exécutez cette commande en tant qu'administrateur sur l'appareil cible :
sudo /usr/local/bin/level --create-service-account
Une invite vous demandera un nom d'utilisateur et un mot de passe administrateur. Ces identifiants doivent appartenir à un administrateur macOS local existant sur l'appareil avec un SecureToken. Un compte administrateur utilisé uniquement pour se connecter à une console MDM ne satisfait pas à cette exigence.
💡 CONSEIL : Pour une configuration par script ou basée sur MDM, transmettez les identifiants de l'administrateur local en tant qu'indicateurs afin d'ignorer l'invite interactive :
Exemple
sudo /usr/local/bin/level --create-service-account --admin-name=adminuser --admin-password=adminpass
Après la création, vérifiez le compte :
sudo /usr/local/bin/level --check-service-account
Pour un déploiement MDM, assurez-vous que le compte administrateur existe localement sur chaque Mac et possède un SecureToken avant d'exécuter la commande dans un script post-installation. Stockez les identifiants à l'aide du mécanisme de secret protégé de votre MDM.
Référence CLI
ℹ️ REMARQUE : Les commandes de compte de service sont disponibles sur les Mac Apple Silicon et Intel. Exécutez-les en tant que root avec sudo. La sortie générale level --check La sortie inclut une ligne de compte de service uniquement sur Apple Silicon ; utilisez --check-service-account pour vérifier le compte directement sur l'une ou l'autre architecture.
Toutes les options nécessitent le chemin complet vers le binaire de l'agent Level : /usr/local/bin/level
Option | Description |
| Vérifie si un compte de service Level existe sur cet appareil |
| Crée un nouveau compte de service Level |
| Supprime le compte de service Level |
| Nom d'utilisateur administrateur pour |
| Mot de passe administrateur pour |
⚠️ AVERTISSEMENT : La suppression du compte de service avec --delete-service-account empêche Level d'installer les mises à jour système macOS nécessitant un redémarrage sur Apple Silicon et d'exécuter les actions FileVault gérées par Level jusqu'à ce que le compte soit recréé.
Jetons sécurisés macOS
Pourquoi --create-service-account échoue-t-il avec « Les identifiants administrateur fournis sont valides, mais le compte ne dispose pas d'un jeton sécurisé » ?
Chaque fois que Level crée le compte de service, macOS exige que l'administrateur local autorisant l'opération dispose d'un SecureToken. Cette exigence s'applique sur les Mac Apple Silicon et Intel, même si FileVault n'est pas activé lors de la création du compte. Le compte de service Level reçoit également un SecureToken afin de pouvoir effectuer des opérations nécessitant un accès FileVault. Si les identifiants administrateur que vous transmettez à --create-service-account ne possèdent pas de SecureToken, l'agent échoue avec cette erreur même si ces identifiants sont par ailleurs des identifiants administrateur valides.
Cela se produit le plus souvent lorsque le compte administrateur a été créé par une inscription Jamf PreStage (ou un autre prestage MDM) sans escrow de jeton Bootstrap. Ces comptes sont de véritables administrateurs, mais ils ne reçoivent pas automatiquement un SecureToken.
Comment vérifier si un compte administrateur possède un SecureToken ?
sysadminctl -secureTokenStatus <adminuser>
Si la sortie est ENABLED, ce compte peut autoriser --create-service-account. Si c'est DISABLED, vous devrez soit utiliser un autre administrateur, soit accorder un SecureToken à celui-ci au préalable.
Comment obtenir un SecureToken sur le compte administrateur que je souhaite utiliser ?
Il existe trois voies courantes, selon l'état de l'appareil :
Assistant de configuration (solution la plus simple, pour les nouveaux appareils). Le premier utilisateur interactif passant par l'Assistant de configuration reçoit automatiquement un SecureToken. Si c'est l'administrateur que vous souhaitez utiliser pour le déploiement Level, aucune action supplémentaire n'est nécessaire.
Jeton Bootstrap via MDM (recommandé pour les déploiements en flotte). Configurez l'inscription prestage de votre MDM pour créer un Compte administrateur local géré avec l'escrow de jeton Bootstrap activé. Dans Jamf, cela se configure dans l'inscription PreStage sous Paramètres du compte. Le MDM accorde alors un SecureToken à cet administrateur lors de l'inscription, et vous pouvez transmettre ses identifiants à
--create-service-accountde manière non interactive.Accorder le jeton depuis un titulaire de SecureToken existant. Si l'appareil possède déjà un autre compte avec un SecureToken (souvent le compte de l'utilisateur final d'origine), utilisez-le une fois pour accorder un jeton à votre administrateur :
sudo sysadminctl -secureTokenOn <adminuser> -password <adminpw> -adminUser <tokenholder> -adminPassword <tokenholderpw>
Après cela,
<adminuser>disposera d'un SecureToken et pourra être utilisé pour--create-service-accountà l'avenir.
J'ai déployé une flotte sans administrateur disposant d'un SecureToken. Que faire maintenant ?
Pour chaque appareil, exécutez sysadminctl -secureTokenStatus sur les comptes administrateurs locaux pour en trouver un qui possède un SecureToken (souvent l'utilisateur original de l'Assistant de configuration). Utilisez ce compte soit pour exécuter --create-service-account directement, ou pour accorder un SecureToken à votre administrateur de déploiement standard (option 3 ci-dessus) afin que les opérations futures soient non interactives. Pour les nouvelles inscriptions, corrigez le problème sous-jacent en activant l'escrow de jeton Bootstrap dans le prestage MDM.
Cela s'applique-t-il également aux Mac Intel ?
Oui. La création du compte de service nécessite un administrateur local disposant d'un SecureToken sur les Mac Intel et Apple Silicon. Level utilise le compte pour les actions FileVault sur les deux architectures, mais seul le flux de mise à jour système Apple Silicon l'utilise pour les mises à jour macOS nécessitant un redémarrage.
FAQ
Pourquoi Level a-t-il besoin d'un compte de service ? Level utilise le compte pour installer les mises à jour système macOS nécessitant un redémarrage sur Apple Silicon et pour exécuter les actions FileVault gérées par Level sur les Mac Apple Silicon et Intel sans session utilisateur interactive.
Mes utilisateurs verront-ils ce compte ? Non. Le compte de service est masqué dans la fenêtre de connexion et dans Réglages système → Utilisateurs & Groupes. Il n'apparaît qu'à l'écran de déverrouillage FileVault au démarrage sur les appareils avec FileVault activé.
J'ai ignoré l'invite d'identifiants lors de l'installation. Dois-je configurer le compte ? Configurez-le si vous souhaitez que Level installe les mises à jour système macOS nécessitant un redémarrage sur Apple Silicon ou exécute les actions FileVault gérées par Level. Exécutez
--create-service-accountmanuellement ou déployez-le via vos outils de déploiement.Puis-je automatiser la création du compte de service à grande échelle ? Oui. Utilisez
--admin-name=et--admin-password=pour transmettre les identifiants d'un administrateur macOS local disposant d'un SecureToken. Exécutez la commande en tant que root dans un script post-installation dans votre MDM ou votre outil de déploiement.Que devient le compte de service si je désinstalle Level ? Il est supprimé automatiquement dans le cadre du processus de désinstallation.
