Déploiement Zero-Touch avec Jamf Pro et Jamf Connect

Ce document décrit les étapes de création d'une méthode d'intégration d'appareils à l'aide de l'enrôlement automatisé des appareils Apple (anciennement DEP), de Jamf Pro et de Jamf Connect afin de créer une expérience personnalisée pour les utilisateurs finaux.

Août 1 2021 Par

Jonathan Locast

Stacks of new iPad and MacBook Pro boxes next to MacBook

Prérequis : l'administrateur doit suivre les instructions détaillées sur https://docs.jamf.com/jamf-connect/administrator-guide/Before_You_Begin.html pour créer une application dans le fournisseur d'identité de l'organisation ainsi que des profils de configuration pour Jamf Connect. Les administrateurs doivent connaître les groupes intelligents d'ordinateurs, le champ d'action des règles et les profils de configuration et ils doivent créer des paquets d'installation avec Jamf Composer ou tout autre outil similaire.

Avant de commencer

Jamf Pro et Jamf Connect peuvent offrir une expérience utilisateur hautement personnalisable. Les expériences étant hautement personnalisables, il est conseillé aux administrateurs de documenter l'expérience recherchée avant d'en créer les éléments. Par exemple, les administrateurs peuvent envisager ce qui suit :

  • Personnalisation de l'enrôlement : lors de l'enrôlement, les utilisateurs finaux peuvent interagir avec des éléments comme des vidéos ou des liens vers des pages d'aide et se connecter à l'enrôlement Jamf Pro à l'aide d'un fournisseur de connexion unique. Le nom abrégé et le nom réel de l'utilisateur peuvent être transmis à Jamf Connect pour réduire le nombre de connexions requises pour déployer un appareil. Consultez https://docs.jamf.com/jamf-pro/administrator-guide/Enrollment_Customization_Settings.html pour obtenir des informations supplémentaires sur la personnalisation de l'enrôlement.

  • Contrat de licence de l'utilisateur final (CLUF) ou règles de bon usage : Jamf Connect peut présenter un CLUF à un utilisateur. Une fois ce dernier accepté, il peut être stocké dans un ficher d'audit sur l'ordinateur du client.

  • Marque et identité de l'entreprise : Jamf Connect peut afficher un fond d'écran derrière la fenêtre de connexion et le logo de l'entreprise au-dessus de l'écran de connexion.

  • Envoi de messages à l'utilisateur final lors de la configuration initiale : le mécanisme de notification de Jamf Connect peut afficher des images, du texte et une barre de statut indiquant la progression de la configuration.

L'expérience d'intégration varie d'une entreprise à une autre. Utilisez les fonctionnalités Jamf Pro et Jamf Connect adaptées à votre organisation et envisagez de documenter l'expérience recherchée avant de passer aux étapes suivantes.

Procédure :

  • Collecter les ressources de marque pour l'organisation

  • Préparer le script d'intégration pour le mécanisme de notification de Jamf Connect

  • Créer un paquet d'installation pour les ressources de personnalisation

  • Créer un profil de configuration pour les mécanismes à exécution unique

  • Créer un enrôlement PreStage pour les ordinateurs dans Jamf Pro

  • Créer des règles à exécuter lors de l'enrôlement de l'ordinateur

  • Créer un groupe intelligent d'ordinateurs afin de déterminer si l'enrôlement a été achevé avec succès

  • Utiliser les groupes de portée et d'exception pour désactiver les mécanismes à exécution unique sur l'écran de connexion Jamf Connect

Collecter les ressources de marque pour l'organisation

L'écran de connexion Jamf Connect peut afficher un fond d'écran personnalisé et une image de l'entreprise. Cet exemple contient le logo d'entreprise Jamf ainsi qu'un fond d'écran transparent au format PNG présentant une image du Grand Canyon. Le fond d'écran étant rogné pour s'adapter aux dimensions de l'écran, il est recommandé de choisir une taille et un ratio d'image correspondant aux dimensions du plus grand écran déployé dans votre organisation. La taille d'image recommandée pour le logo est de 250 x 250 px. Elle sera redimensionnée pour s'adapter à l'écran si besoin.

Les ressources supplémentaires peuvent inclure un fichier local visant à indiquer à l'utilisateur final l'absence de connexion réseau. Les formats pris en charge sont le PDF et le HTML. L'icône d'aide peut également être personnalisée. La taille d'image recommandée pour l'icône d'aide est de 16 x 16 au format PNG avec fond transparent.

Le mécanisme de notification peut également afficher des images au-dessus de l'écran de notification ou à la place du texte au centre de l'écran. Ces images doivent être importées localement sur la machine.

Préparer le script d'intégration pour le mécanisme de notification de Jamf Connect

En fonction de ce que recherche l'administrateur, le script déployé pour s'exécuter après une connexion réussie peut être aussi simple ou aussi complexe que nécessaire. Pour une flexibilité maximale, il est recommandé d'avoir un script aussi simple que possible et de laisser Jamf Pro et les règles se charger de l'intégration après la connexion. Voici un exemple de script :

Cet exemple de script :

  1. Modifie le texte par défaut du mécanisme de notification (s'il est utilisé) afin d'indiquer à l'utilisateur quelles sont les étapes en cours.
  2. Confirme que le client binaire Jamf est installé dans la localisation appropriée et est prêt à être installé sur la machine en cas d'une connexion réseau lente.
  3. Exécute un déclencheur personnalisé pour une règle dans Jamf Pro. Cela peut déclencher une chaîne de règles pour installer les logiciels spécialement ciblés pour l'utilisateur ou des logiciels de sécurité essentiels comme Jamf Protect ou d'autres logiciels de protection des terminaux.

Notes sur le script : tous les langages de script sont pris en charge, mais il est recommander d'utiliser un langage qui sera pris en charge par défaut, sans nécessiter l'installation de paquets supplémentaires. Par exemple, Python nécessite l'utilisation de Rosetta sur les machines macOS Big Sur équipée de la puce Apple Silicon M1. La prise en charge native comprend les scripts shell zsh et bash.

Scripts optionnels : le mécanisme de barre de menu de Jamf Connect peut exécuter des scripts lors des connexions réussies ou non, de la modification du mot de passe et des changements d'état du réseau. Si votre organisation le nécessite, créez ces scripts maintenant pour les distribuer aux appareils ciblés lors de l'étape suivante.

Créer un paquet d'installation pour les ressources de personnalisation

À l'aide de Jamf Composer ou d'un paquet similaire, créez un paquet d'installation pour l'image, le fichier d'aide, le script et les ressources de marque

Utilisez une localisation qui sera accessible à tous les utilisateurs et configurez les permissions appropriées pour les fichiers et les scripts. Les localisations standard comprennent un répertoire dans /usr/local/, /Users/Shared/ ou /Library/Application Support. Pour macOS Big Sur, prenez en compte le fait que le disque est une combinaison d'un système de disque en lecture seule et d'un disque utilisateur en lecture/écriture. Votre localisation doit être située dans la zone utilisateur en lecture/écriture au cas où une mise à jour d'un logiciel macOS n'élimine la capacité d'écrire dans une localisation du disque.

Le script d'intégration (présenté ci-dessus sous « NotifyMech.sh ») doit appartenir à root:wheel et les permissions doivent au minimum permettre la lecture et l'exécution par root:wheel (permission 550).

Les illustrations, les logos et les fichiers d'aide locaux doivent appartenir à root:wheel et les permissions doivent au minimum permettre la lecture seule pour touts les utilisateurs (permission 444).

Scripts optionnels : le mécanisme de barre de menu de Jamf Connect peut exécuter des scripts lors des connexions réussies ou non, de la modification du mot de passe et des changements d'état du réseau. Ces scripts sont exécutés avec les permissions de l'utilisateur actuellement connecté, leur propriété doit donc être configurée pour root:whell et les permissions doivent permettre la lecture et l'exécution (permission 555).

Déploiement optionnel du paquet d'installation Jamf Connect : dans la plupart des cas, en utilisant la priorité du paquet, un installateur contenant des ressources personnalisées sera installé sur la machine cible avant le téléchargement et l'installation de l'installateur JamfConnect.pkg. Cependant, dans le cas d'une connexion réseau très lente, il semble que macOS installera le premier .pkg à installer, indépendamment de la priorité du paquet. Si cette situation survient, suivez les instructions partagées sur https://www.jamf.com/fr/jamf-nation/discussions/38586/jamf-connect-meta-paquet-for-zero-touchment afin de créer un « metapackage », un paquet et un script de post-installation qui permet d'assurer l'installation des ressources personnalisées avant le lancement de Jamf Connect.

Dans l'éventualité où le metapackage Jamf Connect ne s'installe pas avant que l'utilisateur n'arrive à l'écran de connexion macOS, l'utilisateur peut attendre quelques instants le temps que le paquet s'installe avant de redémarrer la machine ou alors, le métapaquet peut éventuellement inclure un script de post-installation qui déterminera si la page de connexion macOS est déjà chargée.

Une fois déployé dans un post-installateur, le script fera ce qui suit :

  1. Assurer que macOS a touché le . fichier AppleSetupDone pour noter que le processus SetupAssistant est achevé
  2. Déterminer si l'utilisateur actuellement connecté est soit _mbsetupuser (utilisé par le SetupAssistant au premier allumage de l'ordinateur) ou racine (l'utilisateur actif de la console lorsque l'écran de connexion macOS est actif)
  3. Exécuter un killall -9 loginwindow pour annuler le processus loginwindow et redémarrer l'écran de connexion macOS.

Inscrire le paquet des ressources personnalisées : les paquets installés lors d'un enrôlement PreStage doivent être inscrits soit à l'aide d'un certificat de développeur ou d'un certificat de confiance. Consultez la page https://www.jamf.com/fr/jamf-nation/articles/301/obtaining-an-installer-certificat-from-apple afin d'obtenir un certificat de développeur ou rendez-vous sur la page https://docs.jamf.com/technical-articles/Obtaining_an_Installer_Certificate_from_Apple.html pour créer un certificat de signature avec l'autorité de certification de Jamf Pro.

Une fois l'opération terminée, importez les ressources personnalisées vers votre point de distribution Jamf Pro.

Créer un profil de configuration pour les mécanismes à exécution unique

Authchanger

Le mécanisme de notification de Jamf Connect est inactivé par défaut. Il peut être activé de différentes manières à l'aide d'instructions sur une ligne de commande, mais la méthode la plus simple qui ne demande aucun codage en particulier consiste à diffuser un profil de configuration.

Le domaine pour le profil de configuration authchanger est com.jamf.connect.authchanger.

Les chaînes du tableau d'arguments suivent les commandes documentées sur la page https://docs.jamf.com/jamf-connect/administrator-guide/authchanger.html. L'exemple ci-dessous est l'équivalent de /usr/local/bin/authchanger -reset -JamfConnect -Notify visant à activer le mécanisme de notification. La commande authchanger s'exécute dans le programme d'installation JamfConnect.pkg. Lorsque le logiciel est installé, la paquet d'installation utilise les commandes envoyées dans le profil de configuration com.jamf.connect.authchanger.

Clés de préférences RunScript et EULA

Par défaut, le mécanisme de connexion Jamf Connect affichera un EULA et exécutera un script si des clés de préférences pour ces actions sont présentes dans le profil de configuration pour com.jamf.connect.login.

Les administrateurs souhaitant que ces actions et que le CLUF n'apparaissent qu'à la configuration initiale de l'appareil, gardez ces clés dans un profil de configuration distinct dans Jamf Pro. Le domaine pour ces clés est com.jamf.connect.login

Remarque : les administrateurs ne doivent utiliser que les clés nécessaires à leur méthode d'enrôlement. N'envoyez pas de clés vierges ou de valeur vide à Jamf Connect pour éviter les résultats inattendus.

Remarque : un profil de configuration d'ordinateur dans Jamf Pro peut contenir plusieurs entités d'applications et de paramètres personnalisés comme montré ci-dessous.

Dans cet exemple, l'entité pour authchanger et l'entité pour les clés ScriptPath sont combinées dans un profil de configuration pour facilement exécuter les entités à exécution unique sur les ordinateurs ciblés.

Créer un enrôlement PreStage pour les ordinateurs dans Jamf Pro

Dans le serveur Jamf Pro, créez un enrôlement PreStage avec les entités suivantes :

  • Paramètres de compte : sélectionnez « Créer un compte administrateur local avant l'Assistant réglages » et ajoutez un nom d'utilisateur et un mot de passe. Vous pouvez éventuellement sélectionner « Masquer le compte administrateur géré dans Utilisateurs et groupes ». Choisissez « Passer la création de compte » pour le type de compte utilisateur local comme « Skip Account Creation »
  • Profils de configuration : sélectionnez les profils de configuration pour le mécanisme de connexion Jamf Connect et les profils de configuration à exécution unique, l'agent de la barre de menu Jamf Connect et la licence Jamf Connect.

  • Paquets d'enrôlement : sélectionnez le paquet d'installation JamfConnect.pkg et le paquet d'installation des ressources personnalisées créé lors des étapes précédentes.

Consultez la page https://docs.jamf.com/jamf-pro/administrator-guide/Computer_PreStage_Enrollments.html pour plus d'informations sur les enrôlements PreStage.

Créez des règles à exécuter lors de l'enrôlement de l'ordinateur

Une fois un ordinateur enrôlé dans le serveur Jamf Pro, le paquet des ressources personnalisées et le paquet d'installation Jamf Connect sont envoyés à la machine et installés en arrière-plan. L'utilisateur s'authentifie ensuite avec ses identifiants du fournisseur d'identité cloud et Jamf Connect crée un compte utilisateur local basé sur ces identifiants. Ensuite, étant donné que le mécanisme RunScript est activé et qu'une clé de préférence pour un chemin vers un script se trouve dans le profil de configuration com.jamf.connect.login, Jamf Connect exécute le script avec des privilèges d'administrateur.

Dans notre script d'exemple ci-dessus, la dernière ligne appelle un déclencheur personnalisé pour les règles. Jamf Pro exécute les règles appelées par ce déclencheur personnalisé dans l'ordre alphanumérique. Dans le graphique ci-dessus, les règles sont exécutées numériquement de la valeur la plus basse à la valeur la plus haute pour ordonner les opérations d'intégration. Dans cet exemple :

  • 10 - Installer les logiciels essentiels : s'il y a un logiciel essentiel à la mission qui devrait être installé avant tout autre logiciel comme un logiciel de protection des terminaux ou des clients d'accès conditionnel, installez-les d'abord.

  • 11 - 95 Toute autre règle que les administrateurs souhaitent exécuter lors de l'intégration : Jamf Pro exécutera les règles dans l'ordre alphanumérique. Les administrateurs peuvent établir des règles similaires à cette situation, mais les ordinateurs ciblés peuvent être définis vers les groupes ou des départements LDAP spécifiques. Les seules limites ici sont les besoins en gestion et l'imagination de l'administrateur.

  • 95 - Désactiver le mécanisme de connexion Jamf Connect : une fois que l'ensemble des configurations essentielles sont achevées, les administrateurs peuvent émettre une instruction « Run Unix » pour désactiver le mécanisme de notification Jamf Connect. /usr/local/bin/authchanger -reset -JamfConnect restaure les mécanismes standard et désactivent le mécanisme de notification.

  • 96 - Marque l'exécution initiale comme terminée : il existe plusieurs manières d'indiquer qu'un ordinateur a été configuré pour être utilisé à l'étape suivante « Créer un groupe intelligent d'ordinateurs afin de déterminer si l'enrôlement a été achevé avec succès ». Dans cet exemple, nous écrivons un fichier dans le dossier de réception du logiciel Jamf installé, mais il existe d'autres options :

    • Utilisez la commande tactile pour créer un fichier, puis utilisez un attribut d'extension pour déterminer si le fichier existe lorsque Jamf fait l'inventaire de l'ordinateur.

    • Utilisez un attribut d'extension pour déterminer si un fichier d'audit EULA existe dans un répertoire

    • Déterminez si un logiciel essentiel a été installé en vous fondant sur un paquet installé ou la présence d'un fichier

  • 97 - Mise à jour de l'inventaire : Jamf mettra à jour le fichier d'inventaire contenant le statut de l'ordinateur (et par conséquent, ajoutera les informations de la règle ci-dessus pour notre groupe intelligent d'ordinateurs)

  • 99 - Quitter la notification Jamf Connect : afin de désactiver le mécanisme de notification et de passer aux dernières étapes de l'Assistant Réglages macOS, utilisez une entité de règle de commande « Run Unix » pour exécuter la commande echo "Command: Quit" >> /var/tmp/depnotify.log

Quand le mécanisme de notification Jamf Connect reçoit une demande de déconnexion, Jamf Connect peut activer FireVault pour l'utilisateur et l'utilisateur est invité à exécuter les étapes de configuration supplémentaires éventuelles à partir de macOS. Enfin, l'utilisateur est présenté au Finder avec un ordinateur entièrement configuré prêt à l'utilisation.

Mise à jour du mécanisme de notification pour les utilisateurs

Il existe plusieurs façons de mettre à jour l'écran de notification lorsqu'une règle est en cours d'exécution pour tenir l'utilisateur final informé des étapes actuellement en cours sur son ordinateur.

  • Lecture automatique à partir des journaux de règles de Jamf Pro : utilisez la clé de préférence de connexion de Jamf Connect pour configurer NotifyLogStyle dans Jamf dans com.jamf.connect.login. Cela mettra à jour le message d'état sous la pseudo barre d'état.
  • Exécution d'une entité de commande Run Unix dans une règle : mettez à jour l'état de manière individuelle à l'aide d'une commande comme echo "Status: Installing a program on your computer" >> /var/tmp/depnotify.log
  • Utilisation d'une entité de script avec une règle : une règle peut exécuter des scripts avant que toute autre action ne soit exécutée dans une règle. Ajoutez le script suivant à votre serveur Jamf Pro et utilisez les valeurs de paramètre pour mettre à jour plusieurs éléments de l'écran de notification à la fois

Créer un groupe intelligent d'ordinateurs afin de déterminer si l'enrôlement a été achevé avec succès

Utiliser un attribut que vous avez créé à l'étape précédente afin de marquer votre ordinateur comme étant entièrement configuré crée un groupe intelligent d'ordinateurs qui regroupe tous les ordinateurs qui ont acheté leur configuration avec succès.

Dans l'exemple ci-dessus, le groupe intelligent d'ordinateurs contient tous les ordinateurs dotés d'un paquet spécifique installé lors de leur processus d'intégration initial. Il est également possible d'inclure l'état d'un attribut d'extension (https://docs.jamf.com/jamf-pro/administrator-guide/Computer_Extension_Attributes.html) ou d'autres informations d'inventaire qui permettent de déterminer si l'état d'un ordinateur est complet.

Utilisez les groupes de portée et d'exclusion pour désactiver les mécanismes à exécution unique sur l'écran de connexion Jamf Connect

Dans les entités du profil de configuration pour EULA, ScriptPath et les préférences authchanger, ajoutez un groupe d'exclusion pour exclure tous les ordinateurs présents dans le groupe intelligent d'ordinateurs créé à l'étape précédente.

Dans le graphique d'exemple ci-dessus, l'entité de profil de configuration a nommé les clés pour com.jamf.connect.login pour ScriptPath « Jamf Connect - Run only once at lauch ». En excluant ces profils de configuration d'un ordinateur cible, le mécanisme de connexion Jamf Connecect n'exécutera pas un script après une connexion réussie.

Il existe des outils supplémentaires qu'un administrateur peut utiliser à cette étape. Un administrateur pourrait diffuser un profil de configuration séparé doté d'un différent ScriptPath à exécuter selon différents déclencheurs personnalisés à chaque connexion, peut-être pour installer des correctifs importants ou pour simplement noter quand un utilisateur se connecte à une machine. Les possibilités sont infinies. Mais le résultat est une expérience utilisateur entièrement personnalisée avec un ordinateur entièrement configuré.

S’abonner au blog de Jamf

Recevez les tendances du marché, les mises à jour d'Apple et les dernières nouvelles de Jamf directement dans votre boîte mails.

Pour en savoir plus sur la manière dont nous collectons, utilisons, partageons, transférons et protégeant vos informations personnelles, veuillez consulter notre Politique de confidentialité.