La gestion des appareils vous permet de gérer à distance un véhicule équipé d'Android Automotive OS (AAOS). Par exemple, le propriétaire d'un véhicule peut vouloir rétablir à distance la configuration d'usine de l'unité d'infoloisirs.
Dans le secteur automobile, nous proposons deux catégories de gestion des appareils:
- Appareil personnel. Un véhicule appartient à un consommateur. Le propriétaire du véhicule gère la voiture à distance. Par exemple, le propriétaire utilise l'application mobile du véhicule pour rétablir à distance la configuration d'usine de l'unité d'infodivertissement.
- Appareil d'entreprise Le véhicule appartient à une entreprise ou à une organisation. Un administrateur gère la voiture à distance.
Appareils personnels
Dans le cas d'un appareil personnel, la gestion à distance du véhicule nécessite de tenir compte de l'état de conduite de la voiture. Par exemple, si le propriétaire du véhicule déclenche à distance une réinitialisation d'usine, le véhicule ne doit pas être réinitialisé si une autre personne conduit la voiture.
Nous disposons donc d'un ensemble d'API de gestion des appareils intégrées à des restrictions d'état de l'entraînement. Ces API peuvent être appelées par n'importe quelle application système (applications préinstallées dans la partition système) disposant des autorisations appropriées.
API de gestion des appareils personnels
API | Objectif |
---|---|
CarDevicePolicyManager.createUser() |
Crée un utilisateur sur l'appareil en arrière-plan. Comment interagit-il avec drive-state ? Un nouvel utilisateur est créé en arrière-plan, quel que soit l'état du disque. |
CarDevicePolicyManager.RemoveUser() |
Supprime un utilisateur existant de l'appareil. Comment interagit-il avec drive-state ? Si l'utilisateur cible se trouve dans:
|
DevicePolicyManager.lockNow() |
Verrouille un utilisateur existant sur l'appareil. Si l'utilisateur dispose d'identifiants d'écran de verrouillage existants (par exemple, un code ou un schéma), l'écran reste allumé. Comment cela interagit-il avec l'état de conduite ? Si l'utilisateur cible se trouve dans:
|
DevicePolicyManager.resetPassword() |
Verrouille un utilisateur existant sur l'appareil en définissant des identifiants de verrouillage de l'écran, si l'utilisateur ne dispose pas d'identifiants existants. L'écran reste allumé. Comment interagit-il avec drive-state ? Si l'utilisateur cible se trouve dans:
|
DevicePolicyManager.wipeData() |
Déclenche un rétablissement de la configuration d'usine sur l'appareil. Comment interagit-il avec drive-state ? Quel que soit l'état du disque (PARKED, IDLING ou MOVING), l'opération se poursuit. Le système affiche une notification pour informer le conducteur qu'un rétablissement de la configuration d'usine est nécessaire. Lorsque le véhicule est en mode PARKED (STATIONNEMENT), le conducteur peut interagir avec la notification pour choisir de réinitialiser l'appareil maintenant ou plus tard (lors du prochain démarrage de la voiture). |
Exemple :
Figure 1 : Le système publie une notification lorsque la réinitialisation d'usine est déclenchée.
Figure 2. Lorsque le véhicule est en mode PARKED (STATIONNEMENT), le conducteur peut interagir avec la notification pour choisir de réinitialiser l'appareil maintenant ou plus tard (lors du prochain démarrage de la voiture).
Figure 3. Si le conducteur choisit de réinitialiser plus tard, un message de type "toast" indique que l'appareil sera réinitialisé à la configuration d'usine lors du prochain démarrage de la voiture.
Appareils d'entreprise
Les appareils Android Automotive OS exécutant Android 13 ou version ultérieure peuvent déclarer la prise en charge de la fonctionnalité android.software.device_admin
pour activer les API de gestion des appareils d'entreprise (pour en savoir plus, consultez DevicePolicyManager).
Une organisation peut ensuite utiliser une application Device Policy Controller (DPC) pour contrôler les règles relatives aux appareils locales et les applications système sur l'appareil.
Automotive n'est pas compatible avec les profils professionnels. Par conséquent, la seule solution de gestion compatible est un appareil entièrement géré, qui est destiné aux appareils détenus par l'entreprise sur lesquels l'organisation a un contrôle complet.
Les entreprises qui gèrent le véhicule à distance doivent également tenir compte de son état de conduite. Par conséquent, des actions à distance spécifiques sont également intégrées à l'état de conduite d'un véhicule. Par exemple, le flux de réinitialisation d'usine dans DevicePolicyManager.setFactoryResetProtectionPolicy()
s'applique également aux véhicules compatibles avec l'entreprise.
Toute API de DevicePolicyManager
code> peut générer une exception (par exemple, si le véhicule est en mouvement). Vous trouverez ci-dessous une liste partielle des API DevicePolicyManager
code>. Pour en savoir plus, consultez la présentation de l'administration des appareils.
DevicePolicyManager.removeActiveAdmin()
DevicePolicyManager.setFactoryResetProtectionPolicy()
DevicePolicyManager.installCaCert()
DevicePolicyManager.uninstallCaCert()
DevicePolicyManager.installKeyPair()
DevicePolicyManager.removeKeyPair()
Gestion d'appareils d'entreprise pour plusieurs utilisateurs
La gestion des appareils pour l'automobile est compatible avec la compatibilité multi-utilisateur. Cela signifie que plusieurs conducteurs peuvent utiliser le même véhicule appartenant à l'entreprise, mais qu'ils peuvent préserver la confidentialité de leurs données en utilisant leurs propres utilisateurs et éviter qu'elles ne soient exposées à d'autres conducteurs.
L'administrateur peut utiliser une application de contrôle des règles relatives aux appareils (DPC), comme décrit dans la section Créer un contrôleur de règles relatives aux appareils, pour contrôler les règles appliquées à l'ensemble des appareils ou spécifiques à un utilisateur.
Les builds pour l'automobile utilisent généralement le mode utilisateur système headless, auquel cas le contrôleur de stratégie de l'appareil (DPC) est défini comme propriétaire de l'appareil (DO) de l'utilisateur système et comme propriétaire du profil (PO) de chaque autre utilisateur. L'administrateur distant doit affilier les utilisateurs de la PO, car certaines API (comme requestBugreport()
) ne sont disponibles que si tous les utilisateurs sont affiliés. L'administrateur à distance doit ensuite sélectionner le DPC approprié pour exécuter des actions. Si l'action est associée à l'appareil (par exemple, la réinitialisation d'usine via wipeData()
), elle doit utiliser le DPC DO. S'il est associé à un utilisateur (comme addUserRestriction()
), il doit utiliser le DPC de l'ordre d'achat.
Pour en savoir plus sur la façon dont une application DPC gère plusieurs utilisateurs, consultez la section Utilisateurs affiliés.