Enregistrer et provisionner un appareil

Le provisionnement consiste à configurer un appareil pour qu'il soit géré à l'aide de policies par un enterprise. Au cours du processus, un appareil installe Android Device Policy, qui permet de recevoir et d'appliquer policies. Si le provisionnement aboutit, l'API crée un objet devices, associant l'appareil à une entreprise.

L'API Android Management utilise des jetons d'enregistrement pour déclencher le processus de provisionnement. Le jeton d'enregistrement et la méthode de provisionnement que vous utilisez déterminent la propriété d'un appareil (personnel ou appartenant à l'entreprise) et son mode de gestion (profil professionnel ou appareil entièrement géré).

Appareils personnels

Android 5.1 ou version ultérieure

Les appareils appartenant aux employés peuvent être configurés avec un profil professionnel. Un profil professionnel fournit un espace autonome pour les applications et données professionnelles, distinct des applications et données personnelles. La plupart des policies de gestion des applications, des données et d'autres éléments ne s'appliquent qu'au profil professionnel, tandis que les applications et données personnelles de l'employé restent privées.

Pour configurer un profil professionnel sur un appareil personnel, créez un jeton d'enregistrement (assurez-vous que allowPersonalUsage est défini sur PERSONAL_USAGE_ALLOWED) et utilisez l'une des méthodes de provisionnement suivantes:

Appareils détenus par l'entreprise pour un usage professionnel et personnel

Android 8 ou version ultérieure

Configurer un appareil appartenant à une entreprise avec un profil professionnel permet de l'utiliser à la fois pour un usage professionnel et personnel. Sur les appareils détenus par l'entreprise avec des profils professionnels:

Pour configurer un appareil appartenant à l'entreprise avec un profil professionnel, créez un jeton d'enregistrement (assurez-vous que allowPersonalUsage est défini sur PERSONAL_USAGE_ALLOWED) et utilisez l'une des méthodes de provisionnement suivantes:

Appareils détenus par l'entreprise pour une utilisation professionnelle uniquement

Android 5.1 ou version ultérieure

La gestion intégrale des appareils convient aux appareils détenus par l'entreprise dédiés à un usage professionnel uniquement. Les entreprises peuvent gérer toutes les applications de l'appareil et appliquer l'ensemble des règles et commandes de l'API Android Management.

Vous pouvez également verrouiller un appareil (via une règle) sur une seule application ou un petit ensemble d'applications pour un usage ou un cas d'utilisation spécifique. Ce sous-ensemble d'appareils entièrement gérés est appelé appareils dédiés. Pour les jetons d'enregistrement de ces appareils, allowPersonalUsage doit être défini sur PERSONAL_USAGE_DISALLOWED_USERLESS.

Pour configurer la gestion complète sur un appareil appartenant à l'entreprise, créez un jeton d'inscription, en vous assurant que allowPersonalUsage est défini sur PERSONAL_USAGE_DISALLOWED ou PERSONAL_USAGE_DISALLOWED_USERLESS, puis utilisez l'une des méthodes de provisionnement suivantes.

Les règles peuvent avoir un impact sur la génération de l'UI lors du provisionnement de l'appareil. Ces règles sont les suivantes:

Si vous souhaitez que les étapes de création d'un mot de passe s'affichent en même temps que l'installation des applications professionnelles et des fiches d'enregistrement de l'appareil lors du provisionnement de l'appareil, nous vous suggérons de mettre à jour vos règles pour retarder le début de la génération de l'UI en maintenant l'appareil dans un état de mise en quarantaine, qui se produit si l'appareil est configuré sans règle associée, jusqu'à ce que vous spécifiiez la règle finale sélectionnée pour la configuration de l'appareil, qui sera renseignée avec les éléments pertinents pour vos besoins de configuration. Une fois le provisionnement de l'appareil terminé, vous pouvez modifier la règle si nécessaire.


Créer un jeton d'inscription

Présentation d'Android Management
Figure 1. Créez un jeton qui enregistre et applique "policy1" aux appareils. Au bout de 1 800 secondes (30 minutes), le jeton expire.

Vous avez besoin d'un jeton d'enregistrement pour chaque appareil que vous souhaitez enregistrer (vous pouvez utiliser le même jeton pour plusieurs appareils). Pour demander un jeton d'inscription, appelez enterprises.enrollmentTokens.create. Par défaut, les jetons d'enregistrement expirent au bout d'une heure,mais vous pouvez spécifier une durée d'expiration personnalisée (duration) pouvant aller jusqu'à environ 10 000 ans.

Une requête réussie renvoie un objet enrollmentToken contenant un enrollmentTokenId et un qrcode que les administrateurs informatiques et les utilisateurs finaux peuvent utiliser pour provisionner des appareils.

Spécifier une stratégie

Vous pouvez également spécifier un policyName dans la requête pour appliquer une stratégie au moment de l'enregistrement d'un appareil. Si vous ne spécifiez pas de policyName, consultez la section Enregistrer un appareil sans règle.

Spécifier l'utilisation personnelle

allowPersonalUsage détermine si un profil professionnel peut être ajouté à l'appareil lors du provisionnement. Définissez la valeur sur PERSONAL_USAGE_ALLOWED pour autoriser un utilisateur à créer un profil professionnel (obligatoire pour les appareils personnels, facultatif pour les appareils détenus par l'entreprise).


À propos des codes QR

Les codes QR constituent une méthode efficace de provisionnement d'appareils pour les entreprises qui gèrent de nombreuses règles différentes. Le code QR renvoyé par enterprises.enrollmentTokens.create se compose d'une charge utile de paires clé-valeur contenant un jeton d'enregistrement et toutes les informations nécessaires pour que la stratégie d'appareil Android provisionne un appareil.

Exemple de lot de codes QR

Le bundle inclut l'emplacement de téléchargement d'Android Device Policy et un jeton d'enregistrement.

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

Vous pouvez utiliser directement le code QR renvoyé par enterprises.enrollmentTokens.create ou le personnaliser. Pour obtenir la liste complète des propriétés que vous pouvez inclure dans un lot de codes QR, consultez Créer un code QR.

Pour convertir la chaîne qrcode en code QR lisible, utilisez un générateur de code QR tel que ZXing.


Méthodes de provisionnement

Cette section décrit différentes méthodes de provisionnement d'un appareil.

Ajouter un profil professionnel depuis "Paramètres"

Android 5.1 ou version ultérieure

Pour configurer un profil professionnel sur son appareil, un utilisateur peut:

  1. Accédez à Paramètres > Google > Configurer et restaurer.
  2. Appuyez sur Configurer votre profil professionnel.

Ces étapes lancent un assistant de configuration qui télécharge Android Device Policy sur l'appareil. L'utilisateur est ensuite invité à scanner un code QR ou à saisir manuellement un jeton d'enregistrement pour terminer la configuration du profil professionnel.

Télécharger Android Device Policy

Android 5.1 ou version ultérieure

Pour configurer un profil professionnel sur son appareil, un utilisateur peut télécharger Android Device Policy sur le Google Play Store. Une fois l'application installée, l'utilisateur est invité à scanner un code QR ou à saisir manuellement un jeton d'enregistrement pour terminer la configuration du profil professionnel.

Android 5.1 ou version ultérieure

À l'aide du jeton d'enregistrement renvoyé par enrollmentTokens.create ou par l'signinEnrollmentToken de l'entreprise, générez une URL au format suivant:

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

Vous pouvez fournir cette URL aux administrateurs informatiques, qui pourront à leur tour la transmettre à leurs utilisateurs finaux. Lorsqu'un utilisateur final ouvre le lien depuis son appareil, il est guidé dans la configuration du profil professionnel.

URL de connexion

Avec cette méthode, les utilisateurs sont redirigés vers une page pour saisir les informations supplémentaires requises pour terminer le provisionnement. En fonction des informations saisies par l'utilisateur, vous pouvez calculer la règle appropriée pour l'utilisateur avant de procéder au provisionnement de l'appareil. Exemple :

  1. Spécifiez votre URL de connexion dans enterprises.signInDetails[]. Définissez allowPersonalUsage sur PERSONAL_USAGE_ALLOWED si vous souhaitez autoriser un utilisateur à créer un profil professionnel (obligatoire pour les appareils personnels, facultatif pour les appareils appartenant à l'entreprise).

    Ajoutez le signinEnrollmentToken obtenu en tant que provisionnement supplémentaire à un code QR, à une charge utile NFC ou à une configuration sans contact. Vous pouvez également fournir directement l'signinEnrollmentToken aux utilisateurs.

  2. Sélectionnez une option :

    1. Appareils appartenant à l'entreprise:après avoir allumé un appareil neuf ou réinitialisé, transmettez le signinEnrollmentToken à l'appareil (via un code QR, un contact NFC, etc.) ou demandez aux utilisateurs de saisir le jeton manuellement. L'appareil ouvre l'URL de connexion spécifiée à l'étape 1.
    2. Appareils personnels:demandez aux utilisateurs d'ajouter un profil professionnel depuis "Paramètres". Lorsque vous y êtes invité, scannez un code QR contenant le signinEnrollmentToken ou saisissez le jeton manuellement. L'appareil ouvre l'URL de connexion spécifiée à l'étape 1.
    3. Appareils personnels:fournissez aux utilisateurs un lien vers le jeton d'inscription, où le jeton d'inscription est le signinEnrollmentToken. L'appareil ouvre l'URL de connexion spécifiée à l'étape 1.
  3. Vérifiez si Google a déjà authentifié l'utilisateur. Obtenez les informations de provisionnement de l'appareil (lors de l'inscription de l'appareil) à l'aide du paramètre GET provisioningInfo et recherchez une valeur pour le champ authenticatedUserEmail. Si une valeur est indiquée dans ce champ, l'utilisateur a déjà été authentifié par Google et vous pouvez utiliser cette identité sans autre authentification.

  4. Si Google n'a pas encore authentifié l'utilisateur, votre URL de connexion doit inviter les utilisateurs à saisir leurs identifiants. En fonction de son identité, vous pouvez déterminer la règle appropriée et obtenir les informations de provisionnement de l'appareil (lors de l'enregistrement de l'appareil) à l'aide du paramètre GET provisioningInfo.

  5. Appelez enrollmentTokens.create, en spécifiant l'policyId approprié en fonction des identifiants de l'utilisateur.

  6. Renvoyez le jeton d'enregistrement généré à l'étape 5 à l'aide d'une redirection d'URL, sous la forme https://enterprise.google.com/android/enroll?et=<token>.

Méthode par code QR

Android 7.0 ou version ultérieure

Pour provisionner un appareil détenu par l'entreprise, vous pouvez générer un code QR et l'afficher dans votre console EMM:

  1. Sur un appareil neuf ou dont la configuration d'usine a été rétablie, l'utilisateur (généralement un administrateur informatique) appuie six fois sur l'écran au même endroit. L'appareil invite alors l'utilisateur à scanner un code QR.
  2. L'utilisateur scanne le code QR que vous affichez dans votre console de gestion (ou une application similaire) pour enregistrer et provisionner l'appareil.

Méthode NFC

Android 6.0 ou version ultérieure

Cette méthode vous oblige à créer une application de programmation NFC contenant le jeton d'enregistrement, les règles initiales et la configuration Wi-Fi, les paramètres et tous les autres détails de provisionnement requis par votre client pour provisionner un appareil entièrement géré ou dédié. Lorsque vous ou votre client installez l'application de programmation NFC sur un appareil Android, cet appareil devient l'appareil de programmation.

Des instructions détaillées sur la prise en charge de la méthode NFC sont disponibles dans la documentation destinée aux développeurs de l'API Play EMM. Le site inclut également un exemple de code des paramètres par défaut transmis à un appareil lors d'un contact NFC. Pour installer Android Device Policy, définissez l'emplacement de téléchargement du package d'administration de l'appareil sur:

https://play.google.com/managed/downloadManagingApp?identifier=setup

Méthode d'identification du DPC

Si Android Device Policy ne peut pas être ajouté à l'aide d'un code QR ou d'une technologie NFC, un utilisateur ou un administrateur informatique peut suivre ces étapes pour provisionner un appareil appartenant à l'entreprise:

  1. Suivez l'assistant de configuration sur un appareil neuf ou réinitialisé.
  2. Saisissez les informations de connexion Wi-Fi pour connecter l'appareil à Internet.
  3. Lorsque vous êtes invité à vous connecter, saisissez afw#setup, ce qui permet de télécharger Android Device Policy.
  4. Scannez un code QR ou saisissez manuellement un jeton d'enregistrement pour provisionner l'appareil.

Enregistrement sans contact

Android 8.0 et versions ultérieures (Pixel 7.1 et versions ultérieures)

Les appareils achetés auprès d'un revendeur sans contact agréé sont éligibles à l'enregistrement sans contact, une méthode simplifiée permettant de préconfigurer les appareils pour qu'ils se provisionnent automatiquement au premier démarrage.

Les organisations peuvent créer des configurations contenant des informations de provisionnement pour leurs appareils sans contact, via le portail d'enregistrement sans contact ou à l'aide de leur console EMM (voir l'API cliente d'enregistrement sans contact). Au premier démarrage, un appareil sans contact vérifie si une configuration lui a été attribuée. Si tel est le cas, l'appareil télécharge Android Device Policy, qui termine ensuite la configuration de l'appareil à l'aide des extras de provisionnement spécifiés dans sa configuration attribuée.

Si vos clients utilisent le portail d'enregistrement sans contact, ils doivent sélectionner Android Device Policy comme DPC EMM pour chaque configuration qu'ils créent. Pour savoir comment utiliser le portail, y compris comment créer et attribuer des configurations aux appareils, consultez le Centre d'aide Android Enterprise.

Si vous préférez que vos clients définissent et attribuent des configurations directement depuis votre console EMM, vous devez intégrer l'API cliente d'enregistrement sans contact. Lorsque vous créez une configuration, vous spécifiez des éléments de provisionnement supplémentaires dans le champ dpcExtras. L'extrait de code JSON suivant montre un exemple de base de ce qu'il faut inclure dans dpcExtras, avec un jeton de connexion ajouté.

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

Lancer une application pendant la configuration

setupaction
Figure 2 : Utilisez setupActions pour lancer une application pendant la configuration.

Dans policies, vous pouvez spécifier une application à lancer par Android Device Policy lors de la configuration de l'appareil ou du profil professionnel. Par exemple, vous pouvez lancer une application VPN afin que les utilisateurs puissent configurer les paramètres du VPN lors du processus de configuration. L'application doit renvoyer RESULT_OK pour signaler la fin et permettre à Android Device Policy de terminer le provisionnement de l'appareil ou du profil professionnel. Pour lancer une application pendant la configuration:

Assurez-vous que le installType de l'application est REQUIRED_FOR_SETUP. Si l'application ne peut pas être installée ou lancée sur l'appareil, le provisionnement échoue.

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

Ajoutez le nom du package de l'application à setupActions. Utilisez title et description pour spécifier les instructions destinées à l'utilisateur.

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

Pour distinguer qu'une application est lancée à partir de launchApp, l'activité lancée en premier dans l'application contient l'intent booléen supplémentaire com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (défini sur true). Cet extra vous permet de personnaliser votre application en fonction de son lancement à partir de setupActions ou par un utilisateur.

Une fois que l'application renvoie RESULT_OK, Android Device Policy effectue les étapes restantes requises pour provisionner l'appareil ou le profil professionnel.

Annuler l'inscription pendant la configuration

L'application lancée en tant que SetupAction peut annuler l'enregistrement en renvoyant RESULT_FIRST_USER.

Si vous annulez l'enregistrement, l'appareil appartenant à l'entreprise sera réinitialisé ou le profil professionnel sera supprimé sur un appareil personnel.

Remarque: L'annulation de l'inscription déclenche l'action sans boîte de dialogue de confirmation de l'utilisateur. Il incombe à l'application d'afficher une boîte de dialogue d'erreur appropriée à l'utilisateur avant de renvoyer RESULT_FIRST_USER.

Appliquer une règle aux appareils nouvellement enregistrés

La méthode que vous utilisez pour appliquer des règles aux nouveaux appareils enregistrés dépend de vous et des exigences de vos clients. Voici les différentes approches que vous pouvez utiliser:

  • (Recommandé) Lorsque vous créez un jeton d'enregistrement, vous pouvez spécifier le nom de la stratégie (policyName) qui sera initialement associée à l'appareil. Lorsque vous enregistrez un appareil avec le jeton, la règle lui est automatiquement appliquée.

  • Définir une règle comme règle par défaut pour une entreprise Si aucun nom de règle n'est spécifié dans le jeton d'enregistrement et qu'une règle portant le nom enterprises/<enterprise_id>/policies/default existe, chaque nouvel appareil est automatiquement associé à la règle par défaut au moment de l'enregistrement.

  • Abonnez-vous à un sujet Cloud Pub/Sub pour recevoir des notifications sur les nouveaux appareils enregistrés. En réponse à une notification ENROLLMENT, appelez enterprises.devices.patch pour associer l'appareil à une stratégie.

Enregistrer un appareil sans règle

Si un appareil est enregistré sans règle valide, il est placé en quarantaine. Les appareils mis en quarantaine sont bloqués pour toutes les fonctionnalités de l'appareil jusqu'à ce qu'ils soient associés à une stratégie.

Si un appareil n'est pas associé à une règle au bout de cinq minutes, l'enregistrement de l'appareil échoue et sa configuration d'usine est rétablie. L'état de l'appareil en quarantaine vous permet d'implémenter des vérifications de licence ou d'autres processus de validation de l'enregistrement dans le cadre de votre solution.

Exemple de workflow de vérification des licences

  1. Un appareil est enregistré sans règle par défaut ni règle spécifique.
  2. Vérifiez le nombre de licences restantes de l'entreprise.
  3. Si des licences sont disponibles, utilisez devices.patch pour associer une stratégie à l'appareil, puis réduisez le nombre de licences. Si aucune licence n'est disponible, utilisez devices.patch pour désactiver l'appareil. L'API rétablit également la configuration d'usine de tout appareil qui n'est pas associé à une stratégie dans les cinq minutes suivant l'enregistrement.