Provisionner des appareils

Il existe plusieurs façons de provisionner des appareils. Les exigences commerciales de vos clients déterminent les méthodes de provisionnement que vous allez utiliser.

Principes de base du provisionnement des appareils

Les scénarios de déploiement de provisionnement d'appareils que vos clients souhaitent prendre en charge (par exemple, BYOD ou détenu par l'entreprise) déterminent les modes de fonctionnement que vous allez utiliser (tels que le mode Propriétaire de l'appareil ou Propriétaire du profil). De même, les modes de fonctionnement et les versions d'Android que vous devez prendre en charge déterminent les méthodes de provisionnement que vous allez implémenter.

Scénarios de déploiement

Dans un scénario de déploiement détenu par l'entreprise, celle-ci possède et contrôle entièrement les appareils utilisés par ses employés. En règle générale, les entreprises déploient des appareils détenus par l'entreprise lorsqu'elles doivent surveiller et gérer strictement l'intégralité de l'appareil.

Les entreprises qui acceptent un scénario de déploiement BYOD permettent à leurs employés d'utiliser des appareils personnels au travail et d'accéder à des informations et des applications privilégiées de l'entreprise.

Modes de fonctionnement

Les déploiements détenus par l'entreprise sont compatibles avec le mode de fonctionnement propriétaire de l'appareil. Sous Android, votre application de gestion s'appelle l'outil de contrôle des règles relatives aux appareils (DPC). Le DPC applique des règles sur un appareil Android et, lorsqu'il agit en tant que propriétaire de l'appareil, il gère l'ensemble de l'appareil. En tant que propriétaire de l'appareil, le DPC peut effectuer des actions à l'échelle de l'appareil, telles que configurer la connectivité au niveau de l'appareil, configurer les paramètres généraux et rétablir la configuration d'usine.

Les déploiements BYOD sont compatibles avec le mode d'opération profile owner. Grâce à l'outil DPC, l'entreprise permet l'utilisation professionnelle des appareils personnels en ajoutant un profil professionnel au compte utilisateur principal sur l'appareil. Le profil professionnel est associé à l'utilisateur principal, mais en tant que profil distinct. En tant que propriétaire du profil, le DPC ne gère que le profil professionnel sur l'appareil et dispose d'un contrôle limité en dehors du profil professionnel.

Méthodes de provisionnement du propriétaire de l'appareil

Vous devez provisionner le mode de fonctionnement de propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après une réinitialisation. Le mode Propriétaire de l'appareil ne peut pas être provisionné sur un appareil à un autre moment.

Selon le cas d'utilisation, il existe deux principaux types de méthodes de provisionnement pour provisionner le mode propriétaire de l'appareil.

  • Dans un flux basé sur l'appareil, les administrateurs informatiques peuvent utiliser la technologie NFC pour provisionner un grand nombre d'appareils. Ce flux peut être utilisé pour les comptes Google Play d'entreprise ou les scénarios Google Workspace.
  • Dans un flux géré par l'utilisateur, les options varient selon que l'organisation utilise Google Workspace ou non.
    • Dans un scénario Google Workspace, l'utilisateur ajoute son compte Google lors de la configuration initiale de l'appareil, et le DPC doit guider l'utilisateur tout au long de la procédure de configuration du propriétaire de l'appareil. Un flux géré par l'utilisateur peut aider les utilisateurs finaux à configurer de nouveaux appareils et constitue également une alternative lorsque les appareils ne sont pas compatibles avec la technologie NFC.
    • Lorsqu'une organisation n'utilise pas Google Workspace, vous devez utiliser la méthode Comptes Google Play gérés.

Remarque:Si vous limitez la distribution de votre application à des pays spécifiques dans Play, ces restrictions sont ignorées lors du provisionnement du propriétaire de l'appareil. Le DPC sera téléchargé même si l'appareil ne se trouve pas dans un pays ciblé.

Méthodes de provisionnement du propriétaire de profil

La méthode recommandée pour provisionner le mode de fonctionnement du propriétaire du profil varie selon que l'organisation utilise Google Workspace ou non.

  • Dans le cas de Google Workspace, la méthode recommandée est un parcours piloté par l'utilisateur dans lequel celui-ci ajoute son compte Google, et le DPC guide l'utilisateur tout au long des étapes de configuration du propriétaire du profil.
  • Lorsqu'une organisation n'utilise pas Google Workspace, il est recommandé d'utiliser les comptes Google Play gérés.

La méthode traditionnelle, qui consiste à demander à l'utilisateur d'installer manuellement le DPC, est également acceptée. Il revient à l'utilisateur de télécharger votre DPC depuis Google Play et de l'installer. Ensuite, le DPC guide l'utilisateur tout au long du processus pour configurer le propriétaire du profil.

Principales différences de provisionnement selon les versions d'Android

Scénario de déploiement Mode de fonctionnement Méthode de provisionnement 5,0, 5,1 6.0 et versions ultérieures 7.0 et versions ultérieures
Détenu par l'entreprise Propriétaire de l'appareil Code QR
Comptes Google Play d'entreprise
un compte Google ;
NFC
BYOD Propriétaire du profil Comptes Google Play d'entreprise
un compte Google ; 5.11
Installation manuelle de l'outil DPC

Considérations générales concernant l'implémentation

Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC, quel que soit le mode d'opération que vous mettez en œuvre.

Compatibilité avec les services Google Play

Le guide de l'APK des services Google Play demande aux développeurs d'effectuer une vérification de version des services Google Play avant d'effectuer des transactions d'API. Étant donné que la tentative de mise à jour des services Google Play entraîne de graves perturbations dans le processus de configuration de l'appareil, votre DPC ne doit pas tenter de mettre à jour les services Google Play avant la fin du provisionnement de l'appareil.

Voici les points essentiels concernant la compatibilité de l'outil DPC avec les services Google Play:

  • Le DPC doit s'exécuter à l'aide des services Google Play fournis avec un appareil particulier.
  • Le DPC ne doit pas s'appuyer sur de nouvelles fonctionnalités des futures versions des services Google Play disponibles au moment du provisionnement de l'appareil.

Une fois le provisionnement de l'appareil terminé, le DPC peut inviter l'utilisateur à mettre à jour les services Google Play afin qu'il puisse utiliser les dernières fonctionnalités. Toutefois, si une fonctionnalité n'est pas disponible pour une raison quelconque, le DPC doit revenir normalement à la version fournie avec l'appareil.

Récupérer les informations sur les appareils

En raison des délais de propagation, il peut s'écouler jusqu'à deux minutes avant qu'un appel à "devices.get" pour un appareil nouvellement enregistré renvoie les détails de l'appareil.

Si votre workflow nécessite ces informations avant que l'utilisateur final puisse utiliser l'appareil ou le profil professionnel, nous vous suggérons d'utiliser un écran de progression de votre DPC et d'attendre la réussite de l'appel.

Remarques concernant l'implémentation du mode Propriétaire de profil

Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC afin de mettre en œuvre le mode d'opération Propriétaire de profil.

Supprimer ou désactiver le DPC personnel

Lors du provisionnement du mode de fonctionnement Propriétaire du profil, le DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel. Une fois le profil professionnel créé, le DPC s'exécute également dans le profil professionnel. L'outil DPC du profil professionnel termine le processus de provisionnement. À ce stade, le DPC du profil personnel doit se désactiver ou l'utilisateur de l'appareil doit le supprimer.

L'utilisateur supprime le DPC personnel.

  1. Le DPC personnel écoute ACTION_MANAGED_PROFILE_PROVISIONED. (Pour les appareils Android 5.1, le DPC personnel doit à la place écouter ACTION_MANAGED_PROFILE_ADDED).
  2. Le DPC personnel envoie une requête de désinstallation ACTION_UNINSTALL_PACKAGE. L'utilisateur est alors invité à désinstaller le DPC personnel. Pour une expérience utilisateur optimale, le processus de désinstallation doit avoir lieu pendant le processus de provisionnement.

Le DPC personnel se désactive tout seul

  1. Le DPC personnel écoute ACTION_MANAGED_PROFILE_PROVISIONED. (Pour les appareils Android 5.1, le DPC personnel doit à la place écouter ACTION_MANAGED_PROFILE_ADDED).
  2. Le cas échéant, le DPC personnel doit libérer les droits d'administrateur de l'appareil avant de se désactiver.
  3. Le DPC personnel lance une requête de désactivation setApplicationEnabledSetting avec le paramètre COMPONENT_ENABLED_STATE_DISABLED.
  4. L'utilisateur peut réactiver le DPC personnel depuis Google Play.

Remarques concernant l'implémentation du mode propriétaire de l'appareil

Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC afin de mettre en œuvre le mode de fonctionnement de propriétaire de l'appareil.

L'appareil doit être neuf ou dont la configuration d'usine a été rétablie

Vous devez provisionner le mode de fonctionnement de propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après une réinitialisation. Le mode Propriétaire de l'appareil ne peut pas être provisionné sur un appareil à un autre moment.

Le mode Propriétaire de l'appareil donne au DPC le contrôle total de l'appareil. Si le provisionnement du mode propriétaire de l'appareil après la configuration initiale a été autorisé:

  • Les logiciels malveillants peuvent potentiellement créer le propriétaire d'un appareil et s'en emparer.
  • Des problèmes de confidentialité peuvent survenir si l'appareil contient déjà des données utilisateur ou des applications.

Configurer le mode Propriétaire de l'appareil uniquement sur les appareils détenus par l'entreprise

Vous ne devez provisionner le mode Propriétaire de l'appareil que sur les appareils que vous identifiez comme appartenant à l'entreprise de votre client. Pour ce faire, vous pouvez détecter un identifiant unique d'appareil (tel qu'un numéro de série) ou utiliser un ensemble dédié de comptes autorisés à enregistrer des appareils via votre stratégie EMM.

Si vous ne pouvez pas valider la propriété d'un appareil par l'entreprise, vous devez créer un mécanisme infaillible afin que le mode propriétaire de l'appareil ne soit pas provisionné par erreur. Par exemple, vous pouvez inviter l'utilisateur de l'appareil à confirmer ou à effectuer une action positive avant de provisionner le mode propriétaire de l'appareil.

Activer les applications système

Lorsque l'outil DPC provisionne un profil professionnel, toutes les applications système sans icône de lanceur sont considérées comme essentielles pour l'appareil et sont automatiquement autorisées à s'exécuter dans ce profil. Les applications système qui présentent des icônes de lanceur sont considérées comme facultatives. Vous pouvez décider de les activer ou non.

Activer les applications système via Google Play

Vous pouvez facilement activer des applications système à l'aide de Google Play, et les utilisateurs reçoivent les mises à jour dès qu'elles sont disponibles.

Activer les applications système à l'aide des API du framework Android

Si vous souhaitez que les utilisateurs voient les applications système dès qu'ils commencent à utiliser leur appareil, activez les applications système dans le cadre du processus de provisionnement de l'appareil. Le DPC active les applications système par nom de package ou par intent à l'aide de DevicePolicyManager.enableSystemApp().

Il existe plusieurs façons d'identifier les applications système que vous souhaitez activer et présenter dans votre console EMM aux administrateurs informatiques.

Créer des catalogues d'applications système

Avec cette méthode, chaque appareil détermine les applications qui s'y trouvent et renvoie ces données à la console EMM. La console EMM affiche ces données de manière dynamique lors de la création de règles relatives aux appareils, ce qui permet à l'administrateur informatique de gérer les applications par application.

  1. Si le profil professionnel n'est pas encore provisionné sur l'appareil, extrayez la liste de toutes les applications avec des icônes de lanceur sur un appareil à l'aide de queryIntentActivities():

    private List<ResolveInfo> getAppsWithLauncher() {
      Intent i = new Intent(Intent.ACTION_MAIN);
      i.addCategory(Intent.CATEGORY_LAUNCHER);
      return getPackageManager().queryIntentActivities(i, 0);
    }
    
  2. Si le profil professionnel est déjà provisionné sur l'appareil, extrayez la liste de toutes les applications du profil professionnel à l'aide de PackageManager.GET_DISABLED_COMPONENTS et PackageManager.GET_UNINSTALLED_PACKAGES.

  3. Recherchez les applications système dans la liste des applications en vérifiant FLAG_SYSTEM, qui indique si une application est installée dans l'image système de l'appareil.

Avantages :

  • Offre aux administrateurs informatiques une vue d'ensemble des applications installées sur tous les appareils.
  • Permet de contrôler précisément les applications activées.

Inconvénients :

  • Étant donné que chaque appareil possède un catalogue d'applications différent, il est difficile d'appliquer un modèle de configuration de règle unique à plusieurs types d'appareils.
  • Il peut s'avérer difficile de présenter le volume d'applications spécifiques aux OEM de manière pertinente pour les administrateurs informatiques.

Classer les applications système par fonctionnalité

Lorsqu'un administrateur informatique souhaite activer une application système pour un groupe d'appareils, il sélectionne une application générique en fonction de ses fonctionnalités (par exemple, "Navigateur système"). Le DPC autorise ensuite toutes les applications système pour cet intent.

Avantages :

  • Activation simple et basée sur les fonctionnalités pour les administrateurs informatiques.
  • Garantit la cohérence des fonctionnalités sur divers appareils (au moins pour les cas d'utilisation courants).

Inconvénients :

  • Limite les applis système à celles compatibles avec tous les types d'appareils.
  • Les administrateurs informatiques peuvent vouloir déployer une version OEM d'une application (telle qu'un navigateur Samsung®), mais pas une autre (telle qu'un navigateur LG®).
  • Les administrateurs informatiques ne souhaitent peut-être pas déployer plusieurs applications, mais ils ne peuvent pas l'empêcher lorsqu'il existe plusieurs gestionnaires d'intents.

Prendre en charge uniquement les applications système approuvées

Vous collaborez avec l'OEM pour identifier des packages OEM spécifiques et ne les prendre en charge que dans la console EMM. Cela vous permet également de cataloguer les configurations gérées de l'application OEM, ce que vous ne sauriez pas autrement, car l'application OEM n'est pas hébergée sur Google Play.

Avantages :

  • simplifie considérablement le workflow d'intégration et élimine les cas limites qui posent problème dans les deux premières options.
  • Vous pouvez cataloguer les configurations gérées pour l'application OEM et les présenter dans la console EMM pour les administrateurs informatiques.
  • Établir des relations étroites avec les OEM pour assurer la compatibilité avec les appareils phares.

Inconvénients :

  • Cette solution est moins évolutive et réduit donc le choix du consommateur.

Scénarios de test pour votre DPC

Test DPC est une application Open Source fournie par Google pour tester les fonctionnalités d'entreprise dans votre application DPC. Le DPC test est disponible sur github ou Google Play. Vous pouvez utiliser l'outil de test DPC pour:

  • Simuler des fonctionnalités sur Android
  • Définir et appliquer des règles
  • Définir des restrictions d'application et d'intent
  • Configurer des profils professionnels
  • Configurer des appareils Android entièrement gérés

Bien que l'outil de test DPC soit principalement destiné à tester votre solution d'entreprise pour Android, vous pouvez également l'utiliser comme source d'exemple de code pour les fonctionnalités Android.

Personnaliser le provisionnement

Lors du provisionnement de l'appareil, l'interface utilisateur du système affiche une couleur par défaut dans la barre d'état et un logo par défaut en haut de l'écran. Définissez des couleurs et des logos personnalisés pour assurer une transition visuelle cohérente entre votre DPC et l'interface système, ou autorisez les administrateurs à le faire à l'aide de votre console EMM. Par exemple, un administrateur peut importer un logo d'entreprise ou personnaliser l'apparence des écrans qui affichent les notifications.

Votre DPC applique les choix de couleur et de logo à l'aide des extras DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR et DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI.

Pour définir une couleur personnalisée, utilisez EXTRA_PROVISIONING_MAIN_COLOR afin de définir un entier indiquant la couleur prédominante à afficher lors du provisionnement de l'appareil. Placez l'extra (constante) dans un intent avec ACTION_PROVISION_MANAGED_PROFILE ou ACTION_PROVISION_MANAGED_DEVICE.

Pour voir comment les entiers sont représentés, consultez la section Couleur. Pour obtenir un exemple, consultez MAIN_COLOR dans l'application TestDPC.

Pour définir un logo personnalisé, utilisez EXTRA_PROVISIONING_LOGO_URI afin de définir une image à afficher en haut de l'écran lors du provisionnement de l'appareil. Placez l'extra (constante) dans un intent avec ACTION_PROVISION_MANAGED_PROFILE ou ACTION_PROVISION_MANAGED_DEVICE. Assurez-vous que la densité de l'image est adaptée à l'appareil.

Pour obtenir un exemple, consultez LOGO_URI dans l'application TestDPC.

Méthode par code QR

La méthode de provisionnement par code QR configure et configure le mode propriétaire de l'appareil en scannant un code QR à partir de l'assistant de configuration. Le code QR contient une charge utile de paires clé/valeur avec toutes les informations nécessaires au DPC pour provisionner un appareil.

Votre console EMM doit permettre aux administrateurs informatiques de créer des codes QR pour les appareils qu'ils souhaitent provisionner. L'administrateur informatique envoie les codes QR à leurs utilisateurs finaux, qui provisionnent leurs appareils en scannant les codes QR.

Cas d'utilisation pour le provisionnement de code QR

Certains appareils, tels que les tablettes, ne sont pas compatibles avec la technologie NFC. Le provisionnement par code QR est un moyen pratique de provisionner un parc distribué d'appareils non compatibles avec le NFC. Un administrateur informatique peut envoyer des codes QR à ses utilisateurs pour autoriser le provisionnement piloté par l'utilisateur.

Le provisionnement par code QR ne nécessite pas d'identité Google, comme un domaine Google ou un compte Google. Les organisations qui utilisent Android, mais pas Google Workspace, ne disposent pas d'une identité Google.

Tout comme la technologie NFC, le provisionnement de codes QR permet les déploiements en kiosque et à usage unique, dans lesquels une identité Google (ou toute autre identité) n'est pas nécessaire ni souhaitable. Par exemple, un appareil en mode kiosque dans un magasin n'appartient à personne et ne doit pas avoir une identité d'utilisateur final.

Créer un code QR

Une chaîne JSON (JavaScript® Object Notation) encodée en UTF-8 constitue un code QR valide pour le provisionnement de code QR. Vous pouvez inclure les propriétés suivantes dans un code QR valide:

Toujours obligatoire

Obligatoire si aucun DPC n'est déjà installé sur l'appareil

Recommandé si l'appareil n'est pas déjà connecté au Wi-Fi

Optional

Cet exemple crée un code QR valide:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

Processus de provisionnement par code QR

  1. L'assistant de configuration invite l'utilisateur à appuyer six fois sur l'écran d'accueil. Vous devez les tapoter au même endroit sur l'écran.
  2. L'assistant de configuration invite l'utilisateur à se connecter à Internet pour qu'il puisse télécharger un lecteur de code QR.
  3. Les services Google Play téléchargent un module contenant un moteur de reconnaissance de code QR.
  4. L'utilisateur scanne le code QR fourni par son administrateur informatique.
  5. L'assistant de configuration télécharge votre application DPC et lance le processus de provisionnement du propriétaire de l'appareil à l'aide de ACTION_PROVISION_MANAGED_DEVICE.

Méthode pour les comptes Google Play d'entreprise

Un DPC peut utiliser la méthode de provisionnement des comptes Google Play d'entreprise pour configurer le mode Propriétaire de l'appareil ou Propriétaire du profil. Cette méthode de provisionnement cible les organisations qui n'utilisent pas Google Workspace.

La méthode de provisionnement des comptes Google Play gérés utilise la bibliothèque Support DPC. Cette bibliothèque cliente garantit le bon fonctionnement des comptes Google Play d'entreprise. Il assure également la compatibilité avec les futures mises à jour du processus de provisionnement des comptes Google Play gérés.

Conditions préalables au provisionnement des appareils

  • L'ID d'entreprise est créé et enregistré avec une identité EMM, et l'ESA est défini, comme décrit dans Créer et enregistrer une entreprise.
  • Votre console EMM connaît l'identité d'entreprise de l'utilisateur.
  • L'utilisateur peut se connecter à l'application DPC à l'aide d'identifiants acceptés par votre console EMM, généralement des identifiants de messagerie d'entreprise.

Configurer le mode Propriétaire du profil

Vous pouvez provisionner le mode de fonctionnement du propriétaire de profil sur un appareil utilisé dans un scénario BYOD en tant qu'appareil personnel.

  1. L'utilisateur télécharge manuellement votre DPC depuis Google Play et le lance.
  2. L'outil DPC provisionne le profil professionnel à l'aide de ACTION_PROVISION_MANAGED_PROFILE.
  3. Suivez les dernières étapes de configuration.

Configurer le mode propriétaire de l'appareil

Vous devez provisionner le mode de fonctionnement de propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après une réinitialisation. Le mode Propriétaire de l'appareil ne peut pas être provisionné sur un appareil à un autre moment.

Lors de la configuration de l'appareil, l'utilisateur saisit un jeton spécial spécifique au DPC lorsqu'il est invité à ajouter un compte. Un jeton est au format afw#DPC_IDENTIFIER. Pour un fournisseur EMM nommé ACME, afw#acme installe l'outil de contrôle des règles relatives aux appareils par défaut de l'EMM ACME. Chaque EMM doit demander un identifiant DPC spécifique à Google avant de pouvoir l'utiliser dans le processus de provisionnement.

  1. L'utilisateur allume un appareil neuf ou réinitialisé, et l'assistant de configuration se lance.
  2. Lorsqu'il est invité à ajouter un compte, l'utilisateur saisit un jeton spécial au format afw#DPC_IDENTIFIER qui identifie le DPC de votre EMM.
  3. En utilisant l'identifiant DPC du jeton, l'assistant de configuration ajoute un compte Google temporaire à l'appareil. Ce compte temporaire n'est utilisé que pour télécharger le DPC de votre EMM depuis Google Play. Il est supprimé lors des étapes de configuration finales.
  4. Le DPC provisionne l'appareil à l'aide de ACTION_PROVISION_MANAGED_DEVICE.
  5. Suivez les dernières étapes de configuration.

Dernières étapes de configuration pour tous les modes de fonctionnement

Ne suivez ces étapes qu'après avoir terminé les étapes initiales de configuration du mode Propriétaire de profil ou du mode Propriétaire de l'appareil.

  1. Le DPC s'assure que l'appareil est compatible avec les comptes Google Play d'entreprise en initialisant la bibliothèque de support DPC:

    AndroidForWorkAccountSupport androidForWorkAccountSupport =
      new AndroidForWorkAccountSupport(context, admin);
    androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
    

    Si vous configurez le mode Propriétaire de l'appareil sur un appareil, cette étape supprime le compte Google temporaire qui a été ajouté pour télécharger le DPC.

  2. L'utilisateur se connecte à l'outil de contrôle des règles relatives aux appareils à l'aide de ses identifiants EMM. Il s'agit généralement d'identifiants de messagerie d'entreprise.

  3. L'outil DPC demande à la console EMM les identifiants du compte Google Play géré pour l'utilisateur d'entreprise authentifié.

  4. Si la console EMM ne dispose pas d'un userId Google Play pour l'utilisateur, elle en crée un en appelant Users.insert(). Si vous provisionnez le mode propriétaire de l'appareil, spécifiez un compte d'appareil (pour les déploiements d'appareils dédiés) ou un compte utilisateur (pour les déploiements détenus par l'entreprise).

  5. Définissez la règle de l'appareil en appelant Devices.update. Vous devez définir la règle avant d'ajouter le compte Google Play d'entreprise à l'appareil. Sinon, elle ne sera pas appliquée pendant une courte période après l'ajout du compte à l'appareil.

  6. La console EMM demande les identifiants du compte userId en appelant Users.generateAuthenticationToken(). Ce jeton d'authentification a une courte durée de vie et ne peut pas être réutilisé. Le DPC doit utiliser le jeton pour ajouter le compte par programmation (cela n'est d'aucune utilité pour l'utilisateur final).

  7. L'API EMM Google Play renvoie le jeton d'authentification à la console EMM.

  8. La console EMM transmet le jeton d'authentification au DPC.

  9. Le DPC ajoute le compte Google Play d'entreprise à l'appareil à l'aide de

    androidForWorkAccountSupport.addAndroidForWorkAccount(token,
      accountAddedCallback);
    

Méthode du compte Google

Un DPC peut utiliser la méthode de provisionnement du compte Google pour configurer le mode Propriétaire de l'appareil ou Propriétaire du profil. Avec la méthode de provisionnement du compte Google, l'outil DPC guide l'utilisateur tout au long des étapes de provisionnement une fois que celui-ci a ajouté son compte Google lors de la configuration initiale de l'appareil.

Lorsqu'un utilisateur saisit les identifiants de son compte Google:

  • Le serveur d'authentification Google authentifie le compte utilisateur.
  • Le serveur d'authentification communique ensuite avec le serveur d'entreprise pour vérifier si le domaine du compte est enregistré en tant que domaine Google Workspace ou en tant que domaine géré par un fournisseur EMM.
  • Dans ce cas, le système télécharge automatiquement le DPC associé au domaine à partir de Google Play et l'installe.

Configurer le mode Propriétaire du profil

Vous pouvez provisionner le mode de fonctionnement du propriétaire du profil lors de la configuration initiale d'un appareil ou lorsque l'utilisateur ajoute un compte via Settings > Add account (Paramètres > Ajouter un compte).

  1. L'authentification du compte est lancée par l'utilisateur via l'assistant de configuration ou via Paramètres > Ajouter un compte.
  2. GMSCore lance le provisionnement des profils professionnels à l'aide de ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.
  3. Le DPC est automatiquement téléchargé sur l'appareil et lancé à l'aide du gestionnaire ACTION_GET_PROVISIONING_MODE pour vérifier que le provisionnement des profils professionnels est compatible avec le DPC.
  4. La plate-forme procède au provisionnement des profils professionnels.
  5. Lorsque le profil professionnel est provisionné, le DPC reçoit la diffusion ACTION_PROFILE_PROVISIONING_COMPLETE. Le gestionnaire ACTION_ADMIN_POLICY_COMPLIANCE du DPC est lancé dans le profil professionnel. Une fois le profil professionnel créé, le DPC s'exécute également dans le profil professionnel. Le DPC applique des règles pour ce compte Google géré, s'assure que l'état de l'appareil n'est pas compromis et vérifie que les règles sont appliquées (par exemple, l'obligation d'un mot de passe).
  6. L'outil DPC du profil personnel se désactive lui-même, ou l'utilisateur le supprime.

Configurer le mode Propriétaire de l'appareil ou COPE

Vous devez provisionner le mode de fonctionnement de propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après une réinitialisation. Le mode Propriétaire de l'appareil ne peut pas être ajouté à un appareil à un autre moment.

  1. L'authentification du compte est lancée par un utilisateur à partir de l'assistant de configuration.
  2. GMSCore lance le provisionnement du propriétaire de l'appareil à l'aide de ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE. 3.Le DPC est automatiquement téléchargé sur l'appareil et lancé à l'aide du gestionnaire GET_PROVISIONING_MODE afin de choisir le mode de provisionnement souhaité.
  3. La plate-forme provisionne l'appareil selon le mode de provisionnement souhaité.
  4. Lorsque l'appareil est provisionné, le DPC reçoit ces annonces et le gestionnaire ACTION_ADMIN_POLICY_COMPLIANCE du DPC est lancé :
  5. Le DPC utilise la valeur de Global.DEVICE_PROVISIONED pour vérifier que l'appareil est neuf ou a rétabli sa configuration d'usine (non provisionné) :
    • 0 non géré.
    • 1 Géré.
  6. Le DPC termine le processus de provisionnement en transmettant des règles pour cet appareil géré, en s'assurant que l'appareil n'est pas dans un état compromis et en vérifiant que les règles sont appliquées (par exemple, l'obligation d'un mot de passe).

Remarques concernant l'implémentation de la méthode basée sur le compte Google

  • Le DPC doit détecter le flux d'authentification du compte Google en recherchant des extras spécifiques dans l'intent de lancement utilisé (voir LaunchIntentUtil):

    • Compte de type android.accounts.Account indique que le compte a été ajouté à partir de l'assistant de configuration ou depuis , ce qui nécessite le DPC lancé pour gérer l'appareil ou le profil.
    • is_setup_wizard de type booléen si la valeur est "true", l'outil de contrôle des règles relatives aux appareils a été lancé dans l'assistant de configuration avant la fin de celui-ci. Sinon, vous pouvez passer par ou par un autre flux.

    Voici une vérification permettant de vérifier si le DPC a été lancé via la méthode du compte Google:

    boolean isSynchronousAuthLaunch(Intent launchIntent) {
      return launchIntent.hasExtra("is_setup_wizard");
    }
    
  • Le DPC ne doit pas appeler finish() avant la fin de la configuration. Il doit également renvoyer un code de résultat positif (tel que RESULT_OK), car le DPC est lancé avec startActivityForResult() et attend le résultat.

    Le DPC doit attendre un code de résultat du processus de provisionnement avant d'appeler finish() si le flux de configuration du DPC atteint le point d'envoi d'un intent ACTION_PROVISION_*. Utilisez les rappels startActivityForResult() et onActivityResult() lors du lancement des intents ACTION_PROVISION_*. Consultez LaunchActivity et SetupSyncAuthManagement pour obtenir des exemples.

    En raison de la nature potentiellement asynchrone du processus de configuration, le DPC ne peut pas s'appuyer sur un code de résultat RESULT_OK pour indiquer que le provisionnement a réussi. La seule garantie est de s'appuyer sur des rappels DeviceAdminReceiver en cas de provisionnement réussi. RESULT_CANCELED indique que l'utilisateur a effectué la sauvegarde dans une partie synchrone du flux de configuration et que le DPC doit réagir à cela.

    Dans cet exemple, l'outil DPC lance le provisionnement et attend le code de résultat d'une activité:

    Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
    startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    
    @Override
    public void onActivityResult(int req, int res, Intent i) {
        if (req == REQUEST_MANAGED_PROFILE) {
            if (res == Activity.RESULT_OK) {
                setResult(Activity.RESULT_OK);
                finish();
            } else {
                Toast.makeText(this, “Provisioning failed”,
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    
  • Le DPC ne doit pas tenter de configurer le mode de fonctionnement de propriétaire de l'appareil si celui-ci est déjà provisionné (voir ProvisioningStateUtil.isDeviceProvisioned()). Dans cet exemple, le DPC vérifie si l'appareil est provisionné:

    public static boolean isDeviceProvisioned(Context context) {
    ContentResolver cr = context.getContentResolver();
        return
    Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
    }
    
  • Facultatif. Le DPC peut utiliser l'extra EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE lors du lancement du provisionnement pour transmettre des informations d'état à son DeviceAdminReceiver (qui, dans le cas du propriétaire du profil, s'exécute dans le profil professionnel). TestDPC utilise cet extra pour ajouter un ensemble d'activités différent dans le flux du compte Google une fois le provisionnement terminé. Pour en savoir plus, consultez DeviceAdminReceiver.

    public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
    {
      @Override
      public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC's launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
    
  • Pour configurer un profil professionnel, le DPC doit migrer le compte ajouté vers le nouveau profil professionnel. Pour ce faire, l'outil DPC doit transmettre le compte fourni dans l'intent de lancement pour ACTION_PROVISION_MANAGED_PROFILE.

  • Le DPC doit fournir à l'utilisateur une incitation à l'action claire (un bouton "Terminer", par exemple) l'invitant à quitter l'application à la fin de la configuration. L'utilisateur ne pense donc pas être dans une impasse dans le flux.

  • Le DPC doit utiliser le thème ou la bibliothèque de mise en page de l'assistant de configuration afin que l'expérience utilisateur soit fluide et parfaitement intégrée.

Méthode NFC

Un DPC peut utiliser la méthode de provisionnement NFC pour configurer le mode propriétaire de l'appareil. Dans la méthode de provisionnement NFC, ou tag NFC, vous créez une application de programmation NFC contenant les règles initiales, ainsi que la configuration, les paramètres et les informations de provisionnement Wi-Fi requis par votre client pour configurer le mode de fonctionnement du propriétaire de l'appareil. Lorsque vous ou votre client installez l'application de programmation NFC sur un appareil Android, cet appareil devient l'appareil programmeur.

Pour provisionner un appareil, l'administrateur informatique prend un nouvel appareil prêt à l'emploi et l'ajoute à l'appareil programmeur ou au tag NFC. Elle transfère les configurations sur l'appareil afin qu'il se connecte à Internet et télécharge les règles et paramètres appropriés. L'appareil est ensuite géré par votre DPC.

Une fois l'appareil provisionné, Google Play affiche pendant une courte période du contenu grand public non géré au lieu des applications et des collections approuvées qui doivent s'afficher. Ce délai peut aller de quelques minutes à une heure.

Créer l'application de programmation NFC et l'appareil de programmation

Pour les appareils équipés d'Android 10 ou version antérieure, il est possible d'utiliser Android Beam pour effectuer un provisionnement NFC:

  1. Téléchargez l'application exemple de programmeur NFC. Vous pouvez utiliser l'exemple tel quel, sans ajouts, ou le modifier en fonction de vos valeurs par défaut.
  2. Installez l'application de programmation sur l'appareil choisi.
  3. Lancez l'application de programmation NFC et sélectionnez Load Defaults (Charger les valeurs par défaut) pour com.example.android.apis. Ce texte peut varier en fonction des paramètres par défaut que vous définissez.

Provisionner un appareil du client

  1. Installez un nouvel appareil ou un appareil dont la configuration d'usine a été rétablie sur l'appareil de programmation ou le tag NFC.
  2. Vérifiez que l'appareil reste sur l'écran d'accueil initial qui s'affiche au démarrage. Le texte est spécifié dans Ready to send:{...} de l'application de programmation.
  3. Patientez pendant que le DPC :
    1. Chiffre l'appareil.
    2. S'il s'agit d'un appareil CDMA (Code-Division Multiple Access) : active le téléphone lorsqu'une interface utilisateur de téléphonie s'affiche (aucune interaction requise).
    3. Configure la connexion Wi-Fi.
    4. Télécharge le fichier APK pour com.example.android.apis.
    5. Installe com.example.android.apis.
    6. Définit l'administrateur des exemples d'appareils dans com.example.android.apis en tant que propriétaire de l'appareil.
    7. Affiche un "toast" réussi lorsque le propriétaire de l'appareil est activé.
  4. Une fois de retour à la page d'accueil (l'assistant de configuration est ignoré automatiquement), vérifiez que com.example.android.apis est défini comme propriétaire de l'appareil :
    1. Dans Settings > Security > Device Admin (Paramètres > Sécurité > Administrateurs de l'appareil), assurez-vous que l'option "Sample Device Admin" (Administrateur d'exemples d'appareils) ne peut pas être supprimée.
    2. Dans Paramètres > Utilisateurs > Utilisateurs et profils > Vous (propriétaire), assurez-vous que "Propriétaire" est le seul compte disponible (un appareil ne peut avoir qu'un seul propriétaire actif à la fois).

Ressources supplémentaires

La section Technologie NFC avancée décrit des sujets tels que l'utilisation de différentes technologies de tags, l'écriture sur des tags NFC et la distribution de premier plan.

Méthode d'installation manuelle de l'outil DPC

Pour configurer le mode propriétaire du profil à l'aide de la méthode de provisionnement manuelle de l'installation DPC, l'utilisateur télécharge votre DPC depuis Google Play et l'installe. L'outil DPC guide ensuite l'utilisateur tout au long du processus pour configurer le propriétaire du profil pour le compte Google géré.

Le DPC peut ajouter le compte Google géré avant ou après la création du profil professionnel. Par exemple, le DPC peut créer un profil professionnel basé sur les identifiants EMM d'un utilisateur au lieu de demander d'abord le compte Google géré.

Configurer le mode Propriétaire du profil

Ajoutez d'abord le compte Google géré

  1. L'utilisateur télécharge votre DPC depuis Google Play et l'installe.
  2. L'outil DPC ajoute le compte Google géré avant de créer le profil professionnel à l'aide de AccountManager.addAccount().
  3. Le DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel à l'aide de :
  4. L'outil DPC du profil professionnel termine le processus de provisionnement. Une fois le profil professionnel créé, le DPC s'exécute également dans le profil professionnel. L'outil DPC du profil professionnel termine le processus de provisionnement en transmettant des règles pour ce compte Google géré, en s'assurant que l'appareil n'est pas dans un état compromis et en vérifiant que les règles sont appliquées (par exemple, l'obligation d'un mot de passe).
  5. Lorsque le profil professionnel est provisionné, le DPC reçoit la diffusion ACTION_PROFILE_PROVISIONING_COMPLETE.
  6. L'outil DPC du profil personnel se désactive lui-même, ou l'utilisateur le supprime.

Commencez par créer le profil professionnel

  1. L'utilisateur télécharge votre DPC depuis Google Play et l'installe.
  2. Le DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel à l'aide de :
  3. L'outil DPC ajoute le compte Google géré à l'aide de AccountManager.addAccount().
  4. Le DPC reçoit l'annonce ACTION_PROFILE_PROVISIONING_COMPLETE et lit EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE.
  5. L'outil DPC du profil professionnel termine le processus de provisionnement. Une fois le profil professionnel créé, le DPC s'exécute également dans le profil professionnel. L'outil DPC du profil professionnel termine le processus de provisionnement en appliquant des règles pour ce compte Google géré, en s'assurant que l'appareil n'est pas dans un état compromis et en vérifiant que les règles sont appliquées (par exemple, l'obligation d'un mot de passe).
  6. Le DPC active le profil professionnel à l'aide de DevicePolicyManager.setProfileEnabled().
  7. L'outil DPC du profil personnel se désactive lui-même, ou l'utilisateur le supprime.

  1. Sous Android 5.1, la méthode du compte Google n'est compatible qu'avec le mode de fonctionnement du propriétaire du profil. L'utilisateur ne peut le configurer que dans Paramètres > Ajouter un compte