Introduction
Sur les Mac Apple Silicon (M1/M2/M3), Level crée un compte de service dédié pour la gestion des correctifs. Ce compte est nécessaire pour que Level puisse déverrouiller FileVault et installer les mises à jour 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.
À quoi sert le compte de service
Le compte de service Level est un compte système ayant un seul objectif : installer les mises à jour. 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 des 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 : Le compte de service est réservé aux Mac Apple Silicon. Les Mac Intel n'en ont pas besoin car le processus de gestion des correctifs sur Intel n'a pas besoin de déverrouiller FileVault au démarrage.
Configuration manuelle
Si le compte de service n'a pas été créé lors de l'installation, exécutez cette commande sur l'appareil cible :
/usr/local/bin/level --create-service-account
Il vous sera demandé un nom d'utilisateur et un mot de passe administrateur. Ces identifiants correspondent à un administrateur système existant sur l'appareil — elles servent à autoriser la création du compte de service, et non à définir son mot de passe.
💡 CONSEIL : Pour une configuration via script ou MDM, passez les identifiants en tant qu'indicateurs afin d'ignorer l'invite interactive :
Exemple
/usr/local/bin/level --create-service-account --admin-name=adminuser --admin-password=adminpass
Référence CLI
ℹ️ REMARQUE : Toutes les options du compte de service sont réservées aux Mac Apple Silicon. Les exécuter sur un Mac Intel n'aura aucun effet.
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êchera Level d'installer des mises à jour sur cet appareil jusqu'à ce que le compte soit recréé.
Jetons sécurisés macOS
Pourquoi --create-service-account échoue-t-il avec «The provided admin credentials are valid, but the account lacks a secure token» ?
Sur les Mac Apple Silicon (et les Mac Intel avec FileVault), macOS exige que le compte administrateur autorisant la création d'un autre compte détienne un SecureToken. Le compte de service Level a besoin d'un SecureToken pour pouvoir déverrouiller FileVault au démarrage, et Apple n'autorise pas un administrateur sans SecureToken à accorder un jeton à un autre compte. Si les identifiants administrateur que vous passez à --create-service-account ne possède pas de SecureToken, l'agent échouera avec cette erreur même si ces identifiants sont par ailleurs des identifiants d'administrateur valides.
Ce cas se présente le plus souvent lorsque le compte administrateur a été créé par une inscription PreStage Jamf (ou un autre prestage MDM) sans séquestre 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 d'abord un SecureToken à celui-ci.
Comment obtenir un SecureToken sur le compte administrateur que je souhaite utiliser ?
Il existe trois méthodes courantes, selon l'état de l'appareil :
Assistant de configuration (solution idéale, 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 comptez utiliser pour le déploiement de Level, aucune action supplémentaire n'est nécessaire.
Jeton Bootstrap via MDM (recommandé pour les déploiements en parc). Configurez l'inscription en prestage de votre MDM pour créer un Compte administrateur local géré avec le séquestre du jeton Bootstrap activé. Dans Jamf, ce paramètre se trouve dans l'inscription PreStage sous Paramètres du compte. Le MDM accorde alors un SecureToken à cet administrateur lors de l'inscription, et vous pouvez passer ses identifiants à
--create-service-accountde manière non interactive.Accorder le jeton depuis un détenteur existant de SecureToken. 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>possédera un SecureToken et pourra être utilisé pour--create-service-accountà l'avenir.
J'ai déployé un parc sans administrateur détenteur d'un SecureToken. Que faire maintenant ?
Pour chaque appareil, exécutez sysadminctl -secureTokenStatus sur les comptes administrateurs locaux pour trouver celui qui possède un SecureToken (souvent l'utilisateur d'origine 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, résolvez le problème sous-jacent en activant le séquestre du jeton Bootstrap dans le prestage MDM.
Cela s'applique-t-il également aux Mac Intel ?
Oui, sur tout Mac avec FileVault activé. Sur Apple Silicon, le SecureToken est effectivement requis indépendamment de l'état de FileVault. Le symptôme et la solution sont identiques sur les deux architectures.
Si vous le souhaitez, je peux également ouvrir une PR de documentation avec cette section FAQ rédigée dans le dépôt/CMS qui héberge l'article — indiquez-moi simplement lequel.
FAQ
Pourquoi Level a-t-il besoin d'un compte de service uniquement pour installer des mises à jour ? macOS exige que FileVault soit déverrouillé avant que le système puisse installer des mises à jour au démarrage. Le compte de service donne à Level un moyen d'effectuer ce déverrouillage 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 du 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'identification lors de l'installation. Dois-je configurer le compte ? Seulement si vous souhaitez que Level gère la gestion des correctifs sur cet appareil. Exécutez
--create-service-accountmanuellement ou le déployer via vos outils de déploiement. La surveillance, le contrôle à distance et les autres fonctionnalités fonctionnent sans lui.Puis-je automatiser la création du compte de service à grande échelle ? Oui — utilisez
--admin-name=et--admin-password=pour passer les identifiants de manière non interactive. Ceux-ci peuvent être transmis dans le cadre d'un script post-installation dans votre MDM ou outil de déploiement.Que se passe-t-il avec le compte de service si je désinstalle Level ? Il est supprimé automatiquement dans le cadre du processus de désinstallation.
