Extensions du système
La configuration Extensions du système définit quelles extensions système peuvent être chargées sur les Mac gérés sans confirmation de l’utilisateur, quels types d’extensions un éditeur peut installer et quelles extensions sont protégées contre la désactivation ou la suppression. Relution transmet les paramètres sous forme de profil avec le type de payload com.apple.system-extension-policy.
Contrairement aux extensions du noyau (KEXT), les extensions système s’exécutent en dehors du noyau et, selon Apple, les remplacent progressivement depuis macOS 10.15. Les clients VPN, les filtres de contenu, les antivirus et les pilotes de périphériques en sont des exemples typiques. Pour les extensions qui sont encore livrées sous forme de KEXT, la configuration Extensions du noyau → s’applique.

Prérequis
- La configuration n’est possible qu’une fois par politique.
- Elle n’est disponible que pour les appareils avec inscription de l’appareil, pas pour les appareils avec inscription utilisateur (User Enrollment) →.
- La configuration s’adresse aux Mac à partir de macOS 10.15. macOS n’évalue certaines options qu’à partir de versions plus récentes (voir les sections correspondantes).
- Un appareil supervisé n’est pas nécessaire.
Général
Les options suivantes sont disponibles dans la section Général. La clé du profil figure entre parenthèses.
- Permettre à l’utilisateur d’approuver les extensions du système (
AllowUserOverrides, valeur par défaut : activé) : si l’option est activée, l’utilisateur peut en plus approuver des extensions système qui ne sont pas explicitement autorisées par la configuration. Si elle est désactivée, l’utilisateur ne peut pas approuver d’extensions système qui ne sont pas autorisées par un profil de configuration. La valeur est toujours transmise. - Autoriser toutes les extensions du système signées par ces identifiants d’équipe (
AllowedTeamIdentifiers) : liste d’identifiants d’équipe. Toutes les extensions système valablement signées de ces éditeurs sont autorisées sans autre précision.
Un identifiant d’équipe peut figurer soit sous Autoriser toutes les extensions du système signées par ces identifiants d’équipe, soit dans la section Extensions autorisées du système, mais pas dans les deux. Sinon, le message Le même identifiant d’équipe ne peut pas être défini dans les identifiants d’équipe autorisés et les extensions de système autorisées. s’affiche et la configuration ne peut pas être enregistrée.
Listes avec identifiant d’équipe et identifiants de bundle
Les sections Extensions autorisées du système, Extensions du système qui ne peuvent pas être supprimées de l’interface utilisateur, Extensions du système qui ne peuvent être supprimées et Extensions du système pouvant être supprimées ont la même structure. Chaque entrée associe un Identifiant de l’équipe à une liste d’identifiants de bundle (champ Identifiants de l’offre groupée dans le portail).
Ajouter ouvre la boîte de dialogue Ajouter un nouveau mappage de l’identifiant de l’équipe avec les champs suivants :
- Identifiant de l’équipe (obligatoire) : identifiant d’équipe de l’éditeur avec lequel l’extension est signée, p. ex.
ABCDE12345. - Identifiants de l’offre groupée : liste des identifiants de bundle des extensions système de cet éditeur, p. ex.
com.example.app.network-extension.
Le menu contextuel d’une entrée propose Éditer et Supprimer. Chaque identifiant d’équipe ne peut être ajouté qu’une seule fois par section ; une deuxième entrée est refusée avec le message L’identifiant de l’équipe existe déjà. Les identifiants de bundle supplémentaires sont donc ajoutés à l’entrée existante. Si une section reste vide, la clé correspondante n’est pas transmise.
Extensions autorisées du système
Clé AllowedSystemExtensions. Des extensions système individuelles d’un éditeur sont autorisées par identifiant d’équipe et identifiant de bundle. Cette variante est plus restrictive que l’autorisation de l’identifiant d’équipe entier dans la section Général.
Extensions du système qui ne peuvent pas être supprimées de l’interface utilisateur
Clé NonRemovableFromUISystemExtensions. Selon Apple, les extensions système indiquées ne peuvent pas être désactivées ou désinstallées depuis les Réglages Système ou le Finder. Selon Apple, macOS évalue la clé à partir de macOS 15.
Extensions du système qui ne peuvent être supprimées
Clé NonRemovableSystemExtensions. Selon Apple, les extensions système indiquées ne peuvent pas être désactivées ou désinstallées tant que la protection de l’intégrité du système (SIP) est active. Selon Apple, macOS évalue la clé à partir de macOS 15.
Extensions du système pouvant être supprimées
Clé RemovableSystemExtensions. Les extensions système indiquées peuvent se supprimer elles-mêmes : une app peut les désactiver via l’interface OSSystemExtensionDeactivationRequest sans qu’un administrateur ne confirme l’opération. macOS évalue la clé à partir de macOS 12.
Entrées contradictoires
La même entrée (même Identifiant de l’équipe avec les mêmes identifiants de bundle) ne doit pas figurer simultanément dans deux des sections suivantes. Dans ce cas, Relution affiche un message et n’enregistre pas la configuration :
- Extensions du système qui ne peuvent être supprimées et Extensions du système pouvant être supprimées : message Le même identifiant d’équipe et de paquet ne peut pas être défini dans les extensions du système amovible et dans les extensions du système non amovible.
- Extensions du système qui ne peuvent être supprimées et Extensions du système qui ne peuvent pas être supprimées de l’interface utilisateur : message Le même identifiant d’équipe et de paquet ne peut pas être défini dans les extensions de système inamovibles de l’interface utilisateur et dans les extensions de système inamovibles.
Types d’extension système autorisés
Clé AllowedSystemExtensionTypes. Cette section définit, pour chaque identifiant d’équipe, les types d’extensions système que l’éditeur peut installer. Ajouter ouvre une boîte de dialogue avec les champs suivants :
- Identifiant de l’équipe (obligatoire) : identifiant d’équipe de l’éditeur.
- Types d’extension autorisés (obligatoire, sélection multiple) :
- Pilote (
DriverExtension, option Conducteur dans le portail) : extensions de pilotes pour le matériel, p. ex. basées sur DriverKit. - Réseau (
NetworkExtension) : extensions réseau, p. ex. pour les clients VPN ou les filtres de contenu. - Sécurité des points finaux (
EndpointSecurityExtension) : extensions pour les logiciels de sécurité, p. ex. les antivirus.
- Pilote (
Ici aussi, chaque identifiant d’équipe ne peut être ajouté qu’une seule fois. Si la section reste vide, la clé n’est pas transmise et Relution ne restreint pas les types d’extensions.
Lecture de l’identifiant d’équipe et de l’identifiant de bundle
Sur un Mac sur lequel l’extension est déjà installée, la commande systemextensionsctl list dans le Terminal liste toutes les extensions système avec leur identifiant d’équipe et leur identifiant de bundle :
systemextensionsctl list
Pour chaque extension, la sortie indique l’identifiant d’équipe dans la colonne teamID et l’identifiant de bundle dans la colonne bundleID. De nombreux éditeurs indiquent également ces deux valeurs dans leur documentation pour les solutions MDM.
Particularités
- Relution Decon : si une configuration Relution Decon → est active sur un Mac, Relution ajoute l’identifiant d’équipe
6YCL5AN4F4àAllowedTeamIdentifierslors de la transmission, afin que l’extension réseau de Decon puisse se charger. Si aucune des politiques de l’appareil ne contient de configuration Extensions du système, Relution en génère une avec cet identifiant d’équipe ; l’option Permettre à l’utilisateur d’approuver les extensions du système y est désactivée. - Apple Configurator 2 : si une politique contient déjà une configuration Apple Configurator 2 avec le type de payload
com.apple.system-extension-policy, la configuration Extensions du système ne peut plus y être ajoutée, et inversement (voir Configuration d’Apple Configurator 2 →). - Comportement du fabricant : la manière dont macOS fusionne plusieurs profils avec ce type de payload et le moment où une extension déjà chargée est réévaluée relèvent d’Apple.
Sujets connexes
- Extensions du noyau → — Autorisation des extensions du noyau (KEXT) qui ne sont pas disponibles sous forme d’extension système.
- Relution Decon (filtre) → — Filtre de contenu dont Relution autorise automatiquement l’extension système.
- Vue d’ensemble → — Toutes les configurations pour macOS en un coup d’œil.
- Configuration d’Apple Configurator 2 → — Profils personnalisés avec des payloads que Relution ne propose pas sous forme de formulaire.