Windows 8.1 Assigned Access ou comment passer en mode borne

Comme nous avons pu le voir dans de précédents articles, la mise en place d’une application Modern-UI en mode borne reste relativement complexe. Elle nécessite l’utilisation de Windows 8 Embedded qui est particulièrement obscure pour les non-habitués des systèmes embarqués.

Windows 8.1, grosse mise à jour du système d’exploitation, va être lancée mi-octobre. Elle inclura une nouvelle fonctionnalité, Assigned Access, véritable mode borne puisque permettant de verrouiller un utilisateur sur une seule application.

Mise en place

L’activation de l’Assigned Access est très simple et réalisable par le seul biais du panneau de configuration en mode Modern-UI.

Etape 1 : création de l’utilisateur

Connecté en tant qu’administrateur local, il convient tout d’abord de créer l’utilisateur qui sera destiné au mode borne.

Assigned Access - Create user

Etape 2 : ouverture de session sur le nouvel utilisateur

Il est ensuite nécessaire d’ouvrir au moins une fois la session de l’utilisateur créé. A cette occasion il est possible d’installer l’application par les moyens habituels (via le Store ou un package).

Etape 3 : activation de l’Assigned Access

De retour sur l’administrateur local, il suffit de se rendre dans la section Assigned Access de la gestion des utilisateurs, puis de sélectionner l’utilisateur et l’application.

Assigned Access - Accounts

Assigned Access

Fonctionnement

L’application est directement lancée lors de l’ouverture de session de l’utilisateur « sécurisé ». Il est impossible d’en sortir, de la réduire, et d’accéder à quoi que ce soit d’autre du système (Start Menu, Bureau, barres de charms, …).

L’application reste en revanche tout à fait utilisable, y compris ses barres supérieure et inférieure.

Le fait que les charms soient inaccessibles est nécessaire pour le verrouillage mais peut contraindre à modifier légèrement l’application (par exemple en y intégrant le champ de recherche, puisque le charm de recherche ne sera pas disponible).

Le seul moyen de sortir de la session et retourner sur le choix de l’utilisateur est d’appuyer cinq fois de suite sur la touche Windows.

Assigned Access - Result

Informations complémentaires

  • Assigned Access sera disponible sur toutes les versions de Windows 8.1 (RT, Pro, Enterprise)
  • La fonctionnalité est intégrée à 8.1 RTM mais pas aux autres versions anticipées
  • Pour une application hors Store, le sideloading est toujours nécessaire
  • En mode Assigned Access, la configuration réseau n’est pas accessible mais la connexion automatique a bien lieu

Assigned Access s’avère donc efficace et simple à mettre en place, pour bénéficier d’une application Modern-UI en mode borne.

Windows Embedded 8 « Application launcher »

Windows Embedded 8 intègre une nouvelle fonctionnalité appelée “Windows 8 Application Launcher”. Elle permet de verrouiller un poste sur une seule application Modern UI et peut donc s’avérer intéressante pour la mise en place de bornes (services, commerces) ou d’autres systèmes interactifs. Concrètement, l’application est lancée automatiquement à l’ouverture de session et, après quelques réglages, il n’est pas possible pour l’utilisateur d’en sortir.

L’application launcher doit être activé à l’avance via ICE que nous présentions précédemment. Après l’avoir ajouté depuis la catégorie Branding, quatre paramètres sont configurables.

ICE AppLauncher

  • AppUserModelId : Ce code identifie l’application à lancer. Il est récupérable en installant l’application en question sur un poste puis en cherchant « AppUserModelId » dans sa base de registre. Il suffit ensuite de copier la valeur correspondante au bon package.

Registry AppLauncher

  • DefaultReturnCodeAction : Cet entier indique quelle action doit être entreprise par le système si l’utilisateur ferme l’application
    • 0 : Redémarre l’application
    • 1 : Redémarre le système
    • 2 : Arrête le système
    • 3 : Ferme l’application launcher et retourne sur le Start Screen
    • 4 : Ferme la session
  • CustomReturnCodeAction : Permet de choisir une action différente à entreprendre suivant le code de retour de l’application (en cas d’erreur etc.).
  • UserSettings : Permet de spécifier les trois paramètres précédent pour un utilisateur donné.

L’application launcher seul ne suffit pas à réaliser une borne sécurisée. Il n’empêche pas l’utilisateur de retourner sur le Start Screen et d’utiliser le système d’exploitation comme bon lui semble. Il est donc intéressant de le coupler avec d’autres fonctionnalités de Windows Embedded 8.

  • Le Gesture Filter permet de verrouiller les « bords » de l’écran, autrement dit les barres de Charms et la fermeture d’une application par le haut. Son paramètre DisabledEdges est un entier qui doit être composé suivant les gestures que l’on souhaite désactiver. Un coup d’oeil à l’aide permet de déterminer qu’il faut entrer 247 pour verrouiller tout sauf la barre du bas (qui peut être utile à l’application).

GestureFilter

  • Le Keyboard Filter permet quant-à lui de désactiver certaines touches ou combinaisons de touches qui permettraient autrement à l’utilisateur de sortir de l’application.

Une fois le système installé, il faut tout d’abord créer un nouvel utilisateur. L’Application Launcher sera en effet désactivé sur le premier compte administrateur. Il suffit ensuite d’installer l’application (voir l’article traitant du sideloading) et de rouvrir la session pour se retrouver en mode borne.

En couplant les trois fonctionnalités sus-nommées, et en y ajoutant eventuellement des GPO (stratégies de groupe), il est donc possible de réaliser une borne verrouillée sur une application Modern UI. L’Application Launcher lance l’application à l’ouverture de la session Windows, tandis que les deux autres sécurisent la machine.

Une vidéo de démonstration de l’Application Launcher est disponible sur MCNEXT TV.

Introduction à Windows Embedded 8

Windows Embedded 8 est la dernière version du système d’exploitation de Microsoft destinée aux systèmes embarqués. Il est prévu pour Mars 2013 mais plusieurs versions Preview ont déjà été publiées via le programme Microsoft Connect.

winembeddedtimeline

Windows Embedded 8 est basé sur une version allégée de Windows 8. Il n’inclut par exemple pas Windows Store, ce qui rend impossible l’installation d’applications Modern UI de diffusion large. Le système ajoute cependant de nouvelles fonctionnalités destinées notamment au Branding (modification de l’apparence) et au Lockdown (verrouillage du poste de travail). Ces fonctionnalités le rendent particulièrement adapté aux appareils personnalisés (pour une société), aux bornes publiques ou aux ordinateurs de bord.

La configuration d’une machine sous Windows Embedded 8 se réalise au préalable sur un poste de développeur, via l’outil Image Configuration Editor (ICE). Cette application, présente dans le SDK fourni, liste l’ensemble des fonctionnalités disponibles dans le système d’exploitation embarqué.  Elle permet ensuite de les activer et de les configurer.

W8E ICEA gauche la liste des fonctionnalités disponibles, au centre celles activées,
à
 droite le paramétrage de la fonctionnalité sélectionnée

Une fois les fonctionnalités configurées, l’installation de la machine hôte peut se faire de plusieurs manières. ICE peut par exemple générer un ISO préconfiguré de Windows Embedded 8 qui contiendra le paramétrage réalisé. Une autre méthode, plus simple, consiste à enregistrer le fichier de configuration en XML et sélectionner ce fichier lors de la première étape de l’installation de l’ISO standard. Les fonctionnalités  seront alors activées automatiquement via l’outil transparent intégré à l’installeur, Image Builder Wizard.

W8E IBWLe deuxième choix permet le paramétrage de l’installation par le fichier XML créé via ICE

Ainsi, Windows Embedded 8 propose un environnement adapté aux systèmes embarqués par le biais de fonctionnalités de personnalisation et de sécurisation. Il nécessite d’être configuré via une machine de développement classique. Cette séparation permet une certaine industrialisation mais rend impossible la modification « à chaud » des machines hôtes.

Sideloading d’une application Windows 8 Modern UI

Généralement les applications Windows 8 Modern UI sont installées à partir du Windows Store, système prévu par Microsoft à cet effet. Cette méthode n’est cependant pas universelle et ne convient pas dans certains cas, comme par exemple :

  • Lorsque l’application ne passe pas la validation requise par Microsoft
  • Lorsque l’application doit rester dans un cadre privé ou celui d’une entreprise
  • Lorsque le Windows Store n’est pas disponible sous l’environnement considéré, ce qui est le cas pour Windows 8 Embedded

Ce n’est en réalité pas l’installation en elle-même qui pose problème, mais l’exécution qui sera par défaut verrouillée si le package n’a pas été installé via le Store.

sideloading ko

Le fait d’autoriser cette exécution sera alors appelé « sideloading ». Il existe pour cela quatre méthodes qui dépendent du système d’exploitation et du contexte.

// Sideloading via une licence développeur (tous systèmes Windows 8)

La manière la plus basique de réaliser du sideloading est de passer par une licence de développeur. Il est possible, pour un développeur Modern UI, de créer un package (.appx) de test de son application. Le script d’installation activera alors une licence dite « développeur » et autorisera le sideloading sur le poste de travail.

Cette méthode, bien que pratique, gratuite et rapide, n’est mise à disposition par Microsoft qu’à des fins de tests. Son utilisation dans un cadre de production n’est pas autorisée.

licence dev w8

// Sideloading par clé d’activation (tous systèmes Windows 8)

Microsoft souhaite promouvoir son Store et contrôler ainsi le parc d’applications disponibles sous Windows 8. L’éditeur permet toutefois de débloquer totalement le sideloading sur un poste de travail via l’activation d’une clé spécialement prévue à cet effet.

Cette clé est vendue sous le nom de code « J7S-00005 » à environ 30$ par clé (par packs de 100 uniquement pour le moment !). Elle s’active par simple appel à l’outil de licensing intégré.

slmgr.vbs /ipk <sideloading product key>
slmgr.vbs /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e

Cette solution est efficace et radicale, mais le montant total pour un parc informatique peut s’avérer élevé.

// Sideloading par contrôleur de domaine (Windows 8 Enterprise + Server 2012)

Sous certaines conditions, le déploiement d’une application Modern UI dans le cadre d’une société est facilité. Le sideloading sera ainsi activé sur un poste lorsque celui-ci dispose de Windows 8 version Enterprise et s’il est connecté à un domaine.

Windows 8 Enterprise peut donc s’avérer intéressant pour les sociétés désirant disposer d’applications privées.

// Sideloading par validation alternative (Windows 8 Embedded)

Windows Store n’est pas disponible sous Windows 8 Embedded. Microsoft a indiqué qu’un système de validation similaire à celui du Store permettrait d’obtenir un package qui ne nécessite pas de sideloading en particulier.

Les prérequis pour ce type d’applications seront du même niveau d’exigence que ceux des applications destinées au Store, selon une discussion récente. Il y a cependant peu d’informations concernant cette méthode à l’heure actuelle.