Symptôme : plusieurs développeurs se connectent avec le même compte administrateur, les certificats restent accessibles et personne ne peut attribuer une action à une personne précise.
Solution la plus rapide : créez une identité standard par utilisateur, séparez le compte CI, limitez les accès SSH et graphiques, puis réservez l’administration à une élévation contrôlée et à un compte d’urgence.
Cette gestion des accès Mac partagés en équipe s’applique dès qu’une équipe utilise un Mac distant pour le développement, la compilation iOS, la signature, l’audio, la vidéo ou le design. Si votre hébergement ne permet pas d’identifier chaque opérateur, de retirer un seul membre et de séparer les espaces de travail, ne cherchez pas à compenser avec davantage de mots de passe partagés : passez à un Mac dédié par projet ou par équipe.
Cette méthode s’adresse aux responsables IT qui ouvrent un ou plusieurs Mac distants à des développeurs, aux responsables de la plateforme CI/CD qui protègent les certificats et aux directeurs techniques qui arbitrent entre hôte partagé, hôte dédié et architecture mixte.
SECTION 01Pourquoi un compte administrateur commun détruit-il vos frontières de sécurité ?
Un compte partagé peut sembler rapide à mettre en place, mais il supprime quatre éléments indispensables à une exploitation professionnelle :
- L’attribution des actions : un journal indiquant
adminne prouve pas quel collaborateur a modifié un script, exporté un fichier ou installé une extension. - La révocation individuelle : changer le mot de passe bloque tout le monde, tandis que conserver l’ancien mot de passe laisse l’ancien membre connecté.
- La rotation des secrets : chaque rotation doit être communiquée à toutes les personnes, avec un risque de copie dans un coffre personnel, un terminal ou un document interne.
- L’enquête après incident : il devient difficile de relier une modification de projet, un accès SSH et une utilisation de certificat à un responsable précis.
Le principe de moindre privilège consiste à accorder à chaque utilisateur ou processus uniquement les autorisations nécessaires à sa tâche. Cette approche est explicitement formulée dans le contrôle AC-6 de la publication NIST SP 800-53 Revision 5.1, et le glossaire du NIST rappelle qu’elle s’applique aussi aux processus automatisés. (csrc.nist.gov)
| Identité | Usage prévu | Niveau recommandé | Ce qui doit être traçable |
|---|---|---|---|
| Compte développeur | Code, outils, tests, design, audio ou vidéo | Standard | Personne, projet, session |
| Compte CI | Compilation, tests et génération d’artefacts | Service sans usage interactif | Pipeline, dépôt, artefact |
| Compte administrateur contrôlé | Maintenance et changement de configuration | Accès restreint et temporaire | Demande, approbateur, action |
| Compte de récupération | Incident grave ou restauration | Conservé hors usage quotidien | Responsable, motif, résultat |
Cette matrice ne sert pas uniquement à organiser les utilisateurs. Elle relie une personne, une fonction, une autorisation et une preuve. Sans cette relation, votre équipe dispose peut-être d’un Mac accessible, mais pas d’une frontière de sécurité vérifiable.
SECTION 02Quelle séparation appliquer entre utilisateurs, CI et administration ?
Ne mélangez pas les rôles parce qu’une tâche est techniquement plus simple avec sudo. Un développeur peut avoir besoin d’installer une dépendance ou de modifier un réglage local ; cela ne justifie pas qu’il puisse gérer les comptes, consulter les secrets d’un autre projet ou modifier la chaîne de signature.
Compte standard pour le travail quotidien
Chaque membre reçoit un compte nominatif, idéalement lié à votre annuaire ou à votre fournisseur d’identité. Le compte reste standard. Son répertoire personnel, ses préférences, ses clés SSH et son trousseau de connexion ne doivent pas être considérés comme des ressources communes.
Pour les équipes qui utilisent Platform SSO, la documentation officielle indique que les groupes peuvent attribuer un niveau standard, administrateur ou des droits associés à des groupes spécifiques. Elle précise également que certains écrans d’autorisation liés au Secure Token, à la propriété du volume ou à l’utilisateur actuellement connecté ne peuvent pas être traités comme une simple autorisation réseau. (support.apple.com)
Compte CI sans session interactive
Le compte de service doit être réservé aux tâches automatisées : récupération du code, compilation, exécution des tests, archivage et publication d’artefacts. Il ne doit pas devenir le compte utilisé par les développeurs lorsque le pipeline échoue.
Séparez au minimum :
- le répertoire de travail du pipeline ;
- les jetons d’accès aux dépôts ;
- les profils de configuration ;
- les certificats et clés privées ;
- les journaux du processus de construction ;
- les répertoires temporaires et artefacts exportés.
Un compte CI partagé entre plusieurs projets n’est acceptable que si les projets possèdent le même niveau de confiance et si les secrets peuvent être isolés. Dès qu’un client, une application ou une équipe impose une frontière différente, affectez un hôte ou un environnement d’exécution distinct.
Administrateur contrôlé et compte d’urgence
Le compte administrateur ne doit pas servir à coder, à naviguer ou à lancer une construction. Son usage doit passer par une demande contenant au minimum :
| Champ de contrôle | Exemple de contenu attendu |
|---|---|
| Demandeur | Identité nominative du technicien |
| Motif | Mise à jour d’un outil, réparation d’un service ou diagnostic |
| Périmètre | Mac, projet, répertoire ou réglage concerné |
| Durée | Fenêtre d’accès prévue |
| Approbateur | Responsable IT ou propriétaire du service |
| Preuve de fin | Résultat, changement effectué et retour arrière éventuel |
Le compte d’urgence doit être conservé hors du flux quotidien, avec un propriétaire identifié et une procédure de récupération testée. Il ne doit pas être distribué à toute l’équipe « au cas où ». Si vous ne pouvez pas savoir qui l’a utilisé, quand et pourquoi, vous n’avez pas un accès d’urgence contrôlé, mais un compte partagé permanent.
SECTION 03Comment contrôler SSH, partage d’écran et console distante ?
Les trois portes d’entrée ne donnent pas la même expérience, mais elles doivent toutes utiliser une identité individuelle.
SSH sert à la maintenance en ligne de commande, aux scripts et à certains travaux CI. La documentation macOS permet de définir les utilisateurs autorisés au Remote Login et de distinguer l’accès général de l’accès complet au disque. Elle rappelle aussi qu’activer le Remote Login augmente la surface d’exposition du Mac. (support.apple.com)
Le partage d’écran permet d’ouvrir une session graphique, de lancer Xcode, de vérifier un projet audio ou vidéo et d’effectuer une opération de design qui ne se reproduit pas facilement dans un terminal. macOS permet de choisir « tous les utilisateurs » ou une liste limitée d’utilisateurs pour le partage d’écran. Pour une équipe, la liste restreinte est le choix défendable. (support.apple.com)
La console web de votre hébergeur doit rester une entrée d’administration et de récupération, pas un remplacement du contrôle d’identité du système. Un mot de passe de console partagé empêche de distinguer un opérateur d’un autre. Utilisez des comptes nominatifs, des rôles séparés et une procédure de désactivation testée.
Votre contrôle d’acceptation doit produire les preuves suivantes :
- export ou capture de la liste des utilisateurs locaux ;
- liste des utilisateurs autorisés par SSH ;
- liste des utilisateurs autorisés par partage d’écran ;
- association entre chaque clé SSH et son propriétaire ;
- enregistrement de connexion exploitable ;
- test de connexion après désactivation d’un utilisateur ;
- vérification qu’un ancien compte ne peut plus ouvrir de session.
Si votre équipe utilise un fournisseur d’identité, ne supposez pas que retirer un utilisateur de l’annuaire supprime automatiquement tous les accès locaux déjà créés. Vérifiez les groupes locaux, les clés autorisées, les sessions persistantes et les profils installés.
SECTION 04Où se trouvent les risques de contamination entre CI, Keychain et signature ?
Le risque le plus sérieux n’est pas toujours le code source. C’est souvent la réutilisation d’un contexte de connexion qui donne accès à un certificat, à une clé privée ou à un jeton de dépôt.
Une identité de signature ne se résume pas au certificat public. La documentation technique officielle précise qu’elle associe un certificat et la clé privée correspondante ; sans cette clé privée, le certificat ne permet pas de signer du code. Elle indique aussi que la clé privée est généralement conservée dans le trousseau de connexion. (developer.apple.com)
Dans une architecture partagée, appliquez les règles suivantes :
- le développeur utilise son propre trousseau et ne reçoit pas automatiquement la clé privée de production ;
- le compte CI possède uniquement les identités nécessaires à ses pipelines ;
- les projets ayant des niveaux de confiance différents ne partagent pas le même trousseau ;
- les fichiers
.p12, profils et jetons ne sont pas déposés dans un répertoire commun ; - la procédure de rotation précise qui demande, importe, teste, remplace et révoque ;
- un départ entraîne une vérification des certificats créés ou utilisés par la personne concernée.
Évitez les scripts contenant des mots de passe permanents en clair. Le pipeline doit récupérer ses secrets depuis un mécanisme prévu pour cela, les utiliser pendant la fenêtre nécessaire, puis laisser une preuve de l’opération sans imprimer la valeur secrète dans les journaux.
Le code signing doit également rester dans le contexte du compte CI. La documentation Apple indique que les outils de signature s’appuient sur le trousseau et que la clé privée fait partie de l’identité numérique complète. Elle décrit aussi les mécanismes de contrôle d’accès aux éléments du trousseau et aux groupes de trousseau. (developer.apple.com)
Pour un studio de design, d’audio ou de vidéo, cette séparation concerne aussi les licences, les bibliothèques propriétaires, les fichiers de production et les comptes de stockage. Un Mac partagé ne doit pas transformer une session graphique temporaire en accès permanent à tous les actifs créatifs de l’entreprise.
SECTION 05FAQ : décisions fréquentes pour un Mac partagé
Plusieurs personnes doivent-elles utiliser le même compte ?
Non. Le compte commun empêche la révocation individuelle, fragilise l’analyse des journaux et favorise la circulation de mots de passe. Créez une identité par personne et réservez les comptes de service aux automatisations.
Comment retirer un développeur sans bloquer toute l’équipe ?
Désactivez son identité dans l’annuaire, retirez-la des groupes autorisés, supprimez ses clés SSH et contrôlez les comptes locaux. Vérifiez ensuite l’accès au partage d’écran, à la console distante, aux répertoires de projet et aux ressources de signature.
Le compte CI doit-il être administrateur ?
Pas par défaut. Il doit posséder les droits nécessaires à la construction et aux outils concernés, mais il ne doit pas administrer les comptes ni accéder aux espaces d’autres projets. Si une dépendance exige une élévation, documentez cette exception et réduisez son périmètre.
Peut-on donner les droits administrateur via Platform SSO ?
La gestion peut attribuer des privilèges selon les groupes, mais elle ne supprime pas les différences entre un compte administrateur, un Secure Token, la propriété du volume et l’autorisation de l’utilisateur connecté. Testez chaque capacité sur la version de macOS et avec votre solution de gestion.
Quand le partage d’écran devient-il trop risqué ?
Il devient problématique lorsque tous les utilisateurs sont autorisés, lorsque les sessions restent ouvertes ou lorsque l’écran donne accès à des certificats et données d’un autre projet. Limitez la liste d’accès, imposez une session nominative et nettoyez les données entre deux affectations.
SECTION 06FileVault, Secure Token et propriété du volume ne sont pas interchangeables
Une erreur fréquente consiste à donner des droits administrateur à tous les utilisateurs pour garantir le redémarrage ou le déverrouillage. Cette décision élargit fortement le périmètre sans résoudre nécessairement le problème.
La documentation officielle distingue le Secure Token, le bootstrap token et la propriété du volume. Sur les Mac équipés d’Apple silicon, la propriété du volume intervient notamment pour certaines modifications de la politique de démarrage, les mises à jour et les opérations d’effacement. Apple précise aussi qu’un utilisateur peut être propriétaire du volume sans être administrateur. (support.apple.com)
Les repères de version doivent rester attachés à la documentation consultée :
| Capacité documentée | Repère fourni par Apple | Conséquence pour votre audit |
|---|---|---|
| Gestion du Secure Token sur APFS | macOS 10.13 et ultérieur | Vérifier le modèle de stockage et le flux de création |
| Escrow automatique du bootstrap token après connexion d’un utilisateur compatible | macOS 10.15.4 et ultérieur | Vérifier que le jeton est bien remis au service de gestion |
| Attribution automatique possible avec un bootstrap token disponible | macOS 11 et ultérieur | Tester la création et la révocation sur votre version |
| Création d’un compte lors d’une première connexion Platform SSO | macOS 13 et ultérieur | Vérifier l’identité, le groupe et le niveau de privilège |
Ces repères ne constituent pas une promesse universelle : le résultat dépend aussi du service de gestion, de la configuration d’identité et de la version exacte installée. Apple indique qu’un utilisateur habilité à déverrouiller un volume APFS doit disposer d’un Secure Token et, sur Apple silicon, être également propriétaire du volume. (support.apple.com)
Votre procédure d’acceptation doit répondre à quatre questions distinctes :
- Qui peut déverrouiller le disque ?
- Qui peut autoriser une mise à jour ou modifier la politique de démarrage ?
- Qui peut administrer le système après ouverture de session ?
- Qui détient et protège la clé de récupération ?
Ne donnez pas à tous les développeurs la capacité de déverrouiller le disque simplement parce qu’un redémarrage distant est nécessaire. Concevez plutôt un parcours de récupération avec un responsable, une preuve d’autorisation et un test périodique.
SECTION 07Procédure de mise en œuvre en sept étapes
-
Inventoriez les portes d’accès.
Listez les comptes locaux, groupes, clés SSH, utilisateurs du partage d’écran, accès à la console, profils de gestion, certificats et trousseaux. Ne vous limitez pas aux préférences « Utilisateurs et groupes ». -
Construisez la matrice identité–personne–usage.
Pour chaque compte, indiquez son propriétaire, son objectif, son niveau de privilège, les projets concernés, le secret associé et l’action de révocation. Une ligne sans propriétaire doit être traitée comme une anomalie. -
Remplacez le compte commun.
Créez un compte standard par membre. Changez les clés SSH, retirez les anciennes autorisations et vérifiez que les développeurs peuvent travailler sans utiliser le compte administrateur. -
Séparez le compte CI.
Affectez-lui un espace de travail propre, une clé d’accès dédiée et des secrets limités au pipeline. Testez une construction sans session graphique, puis vérifiez que les journaux ne contiennent aucune valeur secrète. -
Restreignez les accès distants.
Dans les réglages Remote Login et de partage d’écran, remplacez « tous les utilisateurs » par une liste contrôlée. Séparez les utilisateurs interactifs, le compte CI et les administrateurs. -
Vérifiez FileVault et les jetons.
Documentez les utilisateurs capables de déverrouiller le volume, le stockage de la clé de récupération et le propriétaire de chaque action de restauration. Ne déduisez pas ces droits du seul statut administrateur. -
Exécutez un test de retrait.
Désactivez un compte de test et contrôlez SSH, partage d’écran, console, accès au dépôt, trousseau, signature et déverrouillage. Le test n’est terminé que lorsque l’ancien accès est effectivement refusé.
SECTION 08Critères de sortie du Mac partagé
Le partage reste raisonnable lorsque les utilisateurs exécutent des tâches similaires, que les données sont peu sensibles et que les projets peuvent être séparés sans ambiguïté. Il devient difficile à défendre lorsque la même machine héberge simultanément des certificats de production, du code client, des bibliothèques propriétaires et des comptes administrateur utilisés au quotidien.
| Scénario | Avantages | Limites | Décision recommandée |
|---|---|---|---|
| Mac partagé entre plusieurs développeurs | Mutualisation des outils et de la maintenance | Risque de mélange des espaces et des trousseaux | Acceptable avec comptes séparés et données peu sensibles |
| Mac dédié à un projet | Frontière claire pour le code, les secrets et la CI | Ressource moins mutualisée | À privilégier pour la signature et les projets clients |
| Mac dédié temporairement | Isolation rapide pour une mission ou un audit | Nécessite une procédure d’affectation et de restitution | Adapté aux tests, migrations et interventions courtes |
Si votre solution actuelle ne permet pas d’identifier chaque opérateur, de retirer une personne sans interrompre les autres et de séparer les secrets par projet, ne laissez pas l’équipe élargir l’usage du compte administrateur. Le problème est architectural, pas documentaire.
Dans ce cas, utilisez votre espace de commande Mac distant pour étudier une affectation par équipe ou par projet, puis comparez-la avec les contraintes de votre gouvernance. Pour une estimation des cycles de location et du périmètre disponible, consultez également la page des offres Mac, sans confondre le prix d’un accès avec le coût réel d’un incident de signature ou d’une fuite de données.
Une machine partagée mal cloisonnée cumule trois défauts : identité ambiguë, secrets difficiles à révoquer et redémarrage dépendant d’un privilège trop large. À l’inverse, un Mac distant dédié à un projet donne une frontière opérationnelle plus lisible, notamment lorsque plusieurs équipes travaillent sur des applications, des contenus audio ou vidéo et des livrables soumis à des exigences différentes.
Si vous avez seulement besoin d’une capacité temporaire de développement, de test ou de CI, la location d’un Mac auprès de MACNOX peut offrir une organisation plus propre qu’un poste local partagé entre plusieurs personnes. Mais pour une charge stable et permanente, un besoin d’interface physique ou une exigence de contrôle matériel direct, l’achat d’un Mac reste parfois plus adapté. La bonne décision commence par votre matrice identité–personne–identifiants : si elle ne permet pas une révocation individuelle et une séparation par projet, choisissez l’hôte dédié avant d’ajouter de nouveaux utilisateurs.