Créer une liaison d'entreprise

Pour enregistrer une nouvelle organisation via votre console EMM, vous devez créer une liaison d'entreprise. Une ressource Enterprises représente la liaison entre un EMM et une organisation. Vous en utilisez une instance pour appeler des opérations au nom de l'organisation.

L'API Play EMM propose trois façons de créer une instance de liaison d'entreprise:

  • Inscription à un domaine Google géré : cette méthode peut être utilisée à la place des deux autres. Les organisations possédant déjà un domaine Google géré et une organisation qui débute avec Google utiliseront la même interface d'inscription. Le parcours qu'ils empruntent dans l'interface utilisateur varie en fonction de leur situation et de leurs besoins. L'entreprise n'a pas besoin d'obtenir un jeton EMM à l'avance.

  • Inscription à des comptes Google Play d'entreprise : une organisation souhaite utiliser des comptes Google Play d'entreprise. Vous pouvez intégrer l'UI d'inscription Android de Google à votre console EMM et fournir aux entreprises un moyen rapide de créer une instance de liaison d'entreprise qui les lie à votre EMM. Cela permet d'activer les comptes Google Play d'entreprise pour les utilisateurs et les appareils. Cette approche est parfois désignée par le terme initiative EMM dans la documentation de l'API. Cette méthode est obsolète et a été remplacée par la méthode d'inscription à un domaine Google géré décrite précédemment.

  • Inscription à un domaine Google géré : une organisation possède un domaine Google géré. Les administrateurs informatiques effectuent plusieurs tâches manuelles, comme valider la propriété du domaine auprès de Google, obtenir un jeton EMM et créer un compte de service d'entreprise. Cette approche est parfois désignée comme initiée par Google dans la documentation de l'API.

Vous pouvez utiliser l'une ou l'autre approche dans votre console EMM à l'aide de la ressource Enterprises. Le tableau 1 présente les champs et opérations de cette ressource pertinents pour lier les organisations aux EMM.

Tableau 1: API Enterprise et autres processus de liaison

 Comptes d'entreprise Google Play AccountsDomaine Google géré Description
Champ
id Identifiant unique de l'organisation, renvoyé par les appels enroll et completeSignup.
kind Identifie le type de ressource à l'aide d'une valeur de chaîne fixe : /#androidenterprise#enterpriseЭ.
name Organisation associée à l'objet enterprise.
primaryDomainNon définie Étant donné que les comptes d'entreprise Google Play Accounts ne sont pas liés au modèle de domaine Google, ce champ n'est pertinent que pour les domaines Google gérés.
administrateur[]Non définiL'administrateur informatique qui s'inscrit à Android à l'aide du processus d'inscription initié par un EMM devient l'administrateur (propriétaire) de la liaison d'entreprise. À l'aide de la Google Play d'entreprise, l'administrateur informatique peut inviter d'autres utilisateurs de l'organisation à participer à des tâches d'administration. Consultez le Centre d'aide Google Play d'entreprise.
administrateur[].email Non définie
Méthodes
completeSignup Avec les arguments completionToken et enterpriseToken, renvoie une ressource Enterprises dans le corps de la réponse.
generateSignupUrl Avec un callbackUrl, renvoie une URL et un completionToken.
enroll Il enregistre l'appelant auprès de l'EMM dont le jeton est envoyé avec la requête.
getServiceAccount Renvoie un compte de service et des identifiants.
setAccount Définit le compte qui sera utilisé pour s'authentifier auprès de l'API en tant qu'entreprise.
unenroll Les EMM peuvent rompre la liaison à l'un ou l'autre type d'entreprise en se désinscrivant. Cette méthode doit être invoquée à l'aide des identifiants EMM du contrat-cadre de services, et non des identifiants ESA.

Inscription à un compte Google Play d'entreprise

Cette méthode d'inscription est obsolète. Utilisez plutôt la méthode d'inscription à un domaine Google géré.

Inscription à un domaine Google géré

Vous pouvez intégrer le processus d'inscription à votre console EMM:

Inscription de l'administrateur des comptes Google Play d'entreprise
Figure 1 : Workflow d'inscription à un domaine Google géré

Un administrateur informatique lance le processus de création d'une entreprise. Pour ce faire, l’administrateur informatique:

  1. se connecte à la console EMM ;
  2. Il clique ou sélectionne Configurer Android (par exemple), et est redirigé vers une UI d'inscription hébergée par Google.
  3. Fournit des informations sur l'entreprise dans l'interface utilisateur d'inscription.
  4. est redirigée vers votre console EMM.

L'adresse e-mail de l'administrateur informatique est désormais associée à un compte Google, qui est le compte administrateur d'un domaine Google géré.

Bonne pratique: Suivez les consignes de sécurité de Google pour sécuriser le compte administrateur.

Prérequis

Pour les administrateurs informatiques

  • Accès à votre console EMM et autorisations nécessaires pour effectuer la sélection appropriée dans votre console (Gérer Android, par exemple, dans le menu).

  • Une adresse e-mail professionnelle Celui-ci doit faire partie d'un domaine appartenant à l'organisation, et non d'un domaine partagé tel que Gmail.com.

Pour votre console EMM

Pour implémenter le processus d'inscription à Google Doorbell géré, votre console EMM doit pouvoir:

  • Utilisez vos identifiants MSA lorsque vous appelez des appels sur les API EMM Play. Ce contrat permet d'appeler de nombreuses opérations pour le compte d'un administrateur informatique jusqu'à ce que le compte de service d'entreprise (ESA) de l'organisation soit défini.

  • Gérez la redirection vers un site externe fourni par Google à l'aide d'une URL sécurisée afin de lancer le processus d'inscription et de terminer le processus d'inscription.

  • Elle pourra être configurée avec des identifiants ESA après l'enregistrement. Étant donné que votre console EMM peut être utilisée pour créer de nombreuses entreprises sur le site d'une organisation donnée, vous avez besoin d'un moyen d'associer chaque enterpriseId à son propre compte de service et à ses propres identifiants. Envisagez de créer des comptes de service pour l'organisation en appelant Enterprises.getServiceAccount et en gérant la gestion des clés à l'aide des API Serviceaccountkeys. Pour en savoir plus, consultez Créer des comptes de service d'entreprise de façon automatisée.

Le processus d'inscription Android nécessite que vous fournissiez un service sécurisé (https) pour l'utilisation de votre console lors de l'exécution. L'URL de ce service sécurisé peut être une URL locale et peut inclure une session ou d'autres informations d'identification uniques, à condition qu'elle soit bien structurée pour que le système puisse l'analyser. Exemple :

https://localhost:8080/enrollmentcomplete?session=12345

Processus d'inscription

Le processus d'inscription ne devrait pas prendre plus de cinq minutes. Les étapes ci-dessous supposent que le serveur hébergeant callbackUrl est opérationnel. Cette procédure suppose également que votre console inclut un composant d'interface utilisateur, tel qu'une sélection de menu avec l'option Manage Android (Gérer Android), qui lance le processus d'inscription lorsqu'un administrateur informatique authentifié sélectionne cette option.

Procédure en 12 étapes pour enregistrer un compte d'entreprise Google Play Accounts
Figure 2. Processus en 12 étapes pour créer une liaison avec un domaine Google géré
  1. Un administrateur informatique envoie une demande d'enregistrement dans votre console EMM.

  2. Appelez Enterprises.generateSignupUrl avec callbackURL comme seul paramètre. Exemple :

    https://localhost:8080/enrollcomplete?session=12345

  3. La réponse contiendra une URL d'inscription (valide pendant 30 minutes) et un jeton de saisie semi-automatique. Extrayez et enregistrez le jeton de finalisation.

    Bonne pratique:Associez le jeton de réussite à l'administrateur informatique qui a lancé l'inscription.

  4. Extrayez url de la réponse generateSignupURL.

  5. Redirigez les spectateurs vers l'URL extraite à l'étape 4.

  6. L'administrateur informatique suit le processus de configuration dans l'interface utilisateur d'inscription pour créer une liaison d'entreprise:

    1. L'administrateur informatique saisit des informations sur lui-même et son organisation, puis définit un mot de passe s'il ne possède pas déjà de compte Google.

    2. L'administrateur informatique voit le nom de l'EMM et confirme que l'organisation sera liée à cet EMM.

    3. L'administrateur informatique accepte les conditions d'utilisation de Google.

  7. L'UI d'inscription génère une URL de rappel en fonction de l'URL spécifiée à l'étape 2.

  8. L'UI d'inscription redirige l'administrateur informatique vers l'URL de rappel. Extrayez et enregistrez le jeton d'entreprise dans l'URL. Exemple :

    https://localhost:8080/enrollcomplete?session=12345&enterpriseToken=5h3jCC903lop1

  9. Appelez Enterprises.completeSignup, en transmettant completionToken (étape 3) et enterpriseToken (étape 8).

  10. L'appel renvoie une instance Enterprises dans le corps de la réponse. Stockez id, name et l'adresse e-mail de l'administrateur (le cas échéant) pour une utilisation ultérieure.

  11. Créez un compte de service d'entreprise (ESA). Les identifiants ESA prennent la forme d'une adresse e-mail et d'une clé privée. Il existe deux façons de créer un ESA:

    • Bonne pratique:Créez l'ASE de manière programmatique, à l'aide de l'API EMM Play.
    • Affichez une page demandant à l'administrateur informatique de créer une ESA dans la console Google APIs. Pour en savoir plus, consultez la page Créer un compte de service (demandez à l'administrateur de sélectionner le rôle Projet > Éditeur et cochez la case de téléchargement de la clé privée). Une fois que l'administrateur informatique a créé une ESA, configurez votre console avec les identifiants de clé privée de l'ESA.
  12. À l'aide de vos identifiants MSA, appelez setAccount afin de définir l'ESA pour cette organisation.

Le processus d'enregistrement est terminé

  • Le nouveau domaine Google géré est lié à votre EMM.
  • Le compte Google de l'administrateur informatique est configuré en tant qu'administrateur du domaine et peut accéder à https://play.google.com/work pour gérer les applications de l'organisation.
  • Votre console EMM peut utiliser l'ESA pour gérer les données de l'organisation via l'API EMM Google Play.

Créer des ESA de manière programmatique

Pour simplifier la gestion des clés pour les services d'authentification à la demande, utilisez l'API EMM Google Play afin de générer des comptes de service pour les organisations au lieu de la console Google Cloud. Comptes de service générés via l'API EMM Play:

  • ne sont visibles sur aucun projet de la console Cloud qui appartient à vous ou à l'organisation ; ils doivent être gérés de manière automatisée.
  • Elles sont supprimées lorsque vous désinscrivez l'organisation.

Pour générer un compte de service par programmation:

  1. Appelez Enterprises.getServiceAccount avec enterpriseId (voir l'étape 10 du processus d'enregistrement) et spécifiez le type de clé (keyType) souhaité (googleCredentials, pkcs12). Le système renvoie un nom de compte de service et une clé privée pour le compte de service (dans les formats renvoyés par la console Google APIs).

  2. Appelez Enterprises.setAccount et définissez le compte de service pour l'organisation.

Bonne pratique:Demandez à l'administrateur informatique de modifier les identifiants ESA. Pour ce faire dans votre console EMM, utilisez l'agent ESA existant pour appeler setAccount.

Gérer les clés du compte de service

Les comptes de service renvoyés par Enterprises.getServiceAccount sont créés de manière transparente par Google. En tant qu'EMM, vous n'avez pas accès à ces comptes. Toutefois, vous pouvez intégrer l'API Serviceaccountkeys à votre console pour permettre aux organisations de gérer leurs propres clés et ASA générées de manière automatisée.

L'API Serviceaccountkeys permet à une organisation d'insérer, de supprimer et de répertorier les identifiants actifs de ses comptes de service. Ces API doivent être appelées si elles sont autorisées en tant que ESA définie pour l'organisation, et cette ESA doit avoir été générée à partir de getServiceAccount. En d'autres termes, une fois qu'une organisation a appelé Enterprises.setAccount (à l'aide du compte de service généré par Enterprises.getServiceAccount), seule cette organisation est autorisée à appeler l'API Serviceaccountkeys pour gérer le compte.

Tableau 2. API Serviceaccountkeys

Champs
idIdentifiant de chaîne unique opaque pour la clé ServiceAccountKey attribué par le serveur.
kindIdentifie la ressource à l'aide de la chaîne fixe androidenterprise#serviceAccountKey.
typeFormat de fichier des données de clé générées. Valeurs acceptées:
  • googleCredentials
  • pkcs12
dataChaîne comprenant le corps du fichier d'identifiants privés. Renseigné à la création. Non stockées par Google.
Méthodes
supprimerSupprimez et invalidez les identifiants spécifiés pour le compte de service (spécifiés avec enterpriseId et keyId).
insertGénérez de nouveaux identifiants pour le compte de service associé à l'entreprise.
listRépertoriez tous les identifiants actifs du compte de service associé à l'entreprise. Renvoie uniquement l'ID et le type de clé.

Notifications

Vous pouvez obtenir des notifications des ESA générées de manière programmatique en appelant Enterprises.pullNotificationSet. Pour en savoir plus, consultez Configurer les notifications EMM.

Inscription à un domaine Google géré

Pour gérer les appareils appartenant à un domaine Google géré, vous devez établir une connexion (appelée liaison) entre votre console EMM, l'organisation et Google.

Prérequis

L'organisation doit disposer d'un domaine Google géré, d'un jeton d'inscription EMM et d'un compte de service d'entreprise (ESA). Les instructions permettant aux administrateurs informatiques d'obtenir ces informations sont disponibles dans le Centre d'aide Android Enterprise.

Domaine Google géré

Si l'administrateur informatique de l'organisation a revendiqué un domaine géré lors de son inscription à Google Workspace, il peut activer la gestion Android à partir de la console d'administration Google. Si l'organisation ne possède pas de domaine Google géré, son administrateur informatique doit suivre une procédure unique d'inscription sur le Web auprès de Google.

Jeton EMM

Les administrateurs informatiques peuvent obtenir un jeton EMM depuis la console d'administration Google (sous Appareils > Mobiles et points de terminaison > Paramètres > Intégrations tierces).

ESA

L'administrateur informatique de votre organisation peut créer l'agent ESA, généralement via la console Google Cloud sur un projet associé à votre console EMM. Les ESA possèdent un nom, un ID et une clé qui authentifient le compte pour les actions effectuées en leur nom. Le format de l'ID est semblable à celui d'une adresse e-mail, le nom du compte de service devant le symbole @, le nom du projet suivi, ainsi que des informations sur les services Google (par exemple,some-orgs-esa@myemmconsole313302.iam.gserviceaccount.com).

Processus d'inscription

  1. Un administrateur informatique reçoit un jeton EMM dans la console d'administration Google.
  2. L'administrateur informatique partage le jeton EMM avec vous, ce qui vous permet de gérer Android sur son domaine.
  3. Via votre console EMM, utilisez le jeton EMM pour appeler Enterprises.enroll. Cela permet de lier la solution Android de l'organisation à son domaine Google.
    • La méthode enroll renvoie un enterpriseId unique, que vous pourrez récupérer ultérieurement (pour les domaines Google gérés uniquement) à l'aide de la méthode list.
    • Vous pouvez éventuellement stocker des informations sur la liaison (enterpriseId, primaryDomain) dans un datastore pour éviter d'effectuer des appels d'API pour obtenir ces détails. Dans un scénario de comptes Google, la clé primaryDomain de l'organisation est la clé unique qui identifie l'organisation auprès de l'EMM et de Google.
  4. Pour effectuer des appels spécifiques à l'organisation vers l'API EMM Google Play :
    • Soit vous créez une ESA au nom de l'organisation, soit un administrateur crée la ESA, puis la partage avec vous.
    • Via votre console EMM, appelez setAccount à l'aide du enterpriseId et de l'adresse e-mail de l'ESA. Cela permet à l'ESA de s'authentifier auprès de l'API en tant qu'entreprise.

Exemple

Voici un exemple qui enregistre une organisation avec primaryDomainName, serviceAccountEmail et authenticationToken:

    public void bind(String primaryDomainName, String serviceAccountEmail,
        String authenticationToken) throws IOException {

      Enterprise enterprise = new Enterprise();
      enterprise.setPrimaryDomain(primaryDomainName);

      Enterprise result = androidEnterprise.enterprises()
          .enroll(authenticationToken, enterprise)
          .execute();

      EnterpriseAccount enterpriseAccount = new EnterpriseAccount();
      enterpriseAccount.setAccountEmail(serviceAccountEmail);
      androidEnterprise.enterprises()
          .setAccount(result.getId(), enterpriseAccount)
          .execute();
    }

Cet exemple utilise la bibliothèque cliente pour Java et la classe de service AndroidEnterprise du package com.google.api.services.androidenterprise.model. La procédure présentée dans l'exemple peut être résumée comme suit:

  1. Créez un objet AndroidEnterprise avec les paramètres fournis par bind, une classe de modèle contenant le nom de domaine principal, l'adresse e-mail du compte de service et le jeton d'inscription EMM.
  2. Spécifiez le nom du domaine principal de l'objet d'entreprise que vous venez de créer.
  3. Appelez la méthode d'enregistrement, en fournissant l'objet d'entreprise et le jeton d'enregistrement.
  4. Créez un objet EnterpriseAccount avec l'ID ESA du client (serviceAccountEmail).
  5. Définissez le compte en fournissant les champs enterpriseId (renvoyé à l'étape 3) et enterpriseAccount.

Vous pouvez éventuellement stocker des informations sur la liaison (enterpriseId, primaryDomain) dans un datastore pour éviter d'effectuer des appels d'API pour obtenir ces détails. Dans un scénario de comptes Google, la clé primaryDomain de l'organisation est la clé unique qui identifie l'organisation auprès de l'EMM et de Google.

Configurer un déploiement sur site

Si une organisation exige que ses données restent sur site et ne vous soient pas accessibles, vous devez vous assurer que vos serveurs ne voient jamais d'ensemble actif d'identifiants pour l'ESA. Pour ce faire, générez et stockez un ensemble d'identifiants ESA sur le site:

  1. Suivez le flux d'inscription :
    1. Comme indiqué à l'étape 11, utilisez votre contrat-cadre de services pour appeler getServiceAccount. Des identifiants ESA sont alors générés.
    2. Comme indiqué à l'étape 12, utilisez setAccount sur la ESA afin de la définir comme ESA pour cette organisation.
  2. Transmettez la clé ESA au serveur sur site de l'organisation.
  3. Sur le serveur sur site, procédez comme suit :
    1. Appelez Serviceaccountkeys.insert afin de créer une clé pour l'ESA. Cette clé privée n'est pas stockée sur les serveurs Google et n'est renvoyée qu'une seule fois, lors de la création du compte. Il n'est accessible d'aucune autre manière.
    2. Utilisez les nouveaux identifiants ESA pour appeler Serviceaccountkeys.list. Cette action renvoie les identifiants du compte de service actif.
    3. Appelez Serviceaccountkeys.delete pour supprimer tous les identifiants, à l'exception de ceux qui viennent d'être créés sur site.
    4. (Facultatif) Appelez Serviceaccountkeys.list pour vérifier que les identifiants actuellement utilisés sur site sont les seuls identifiants valides pour le compte de service.

Le serveur sur site est désormais le seul serveur disposant des identifiants ESA. Seule une ESA générée via getServiceAccount peut accéder à ServiceAccountKeys. Votre contrat-cadre de services n'est pas autorisé à l'appeler.

Bonne pratique: Ne stockez pas les identifiants de votre compte de service principal (MSA) sur site. Utilisez une ESA distincte pour chaque déploiement sur site.

Désenregistrer, réenregistrer ou supprimer une liaison d'entreprise

Se désinscrire

Pour dissocier une organisation de votre solution EMM, utilisez unenroll. Une liaison d'entreprise n'est pas supprimée lorsqu'elle est désinscrite, mais ses utilisateurs gérés par EMM et toutes leurs données utilisateur associées sont supprimés au bout de 30 jours. Voici un exemple de mise en œuvre:

    public void unbind(String enterpriseId) throws IOException {
      androidEnterprise.enterprises().unenroll(enterpriseId).execute();
    }

Bonne pratique:Si vous disposez d'un datastore pour les mappages d'ID de liaison d'entreprise et de noms d'organisation, supprimez les informations de votre datastore après avoir appelé unenroll.

Se réinscrire

Un administrateur informatique peut réenregistrer une entreprise avec son enterpriseId existant. Pour ce faire, il se connecte avec un compte de niveau propriétaire et suit le processus d'inscription.

Le processus de réinscription est transparent de votre point de vue: il n'existe aucun moyen de déterminer si le jeton d'entreprise renvoyé dans l'URL de redirection (étape 8) provient d'une nouvelle organisation ou d'une organisation précédemment inscrite auprès d'un autre EMM.

Si une organisation a déjà été inscrite à votre solution EMM, vous pouvez peut-être reconnaître l'ID de liaison d'entreprise. Vous pouvez restaurer les utilisateurs gérés par EMM et les données utilisateur associées si un administrateur informatique réenregistre une organisation dans un délai de 30 jours après l'annulation de l'inscription. Si une organisation a déjà été inscrite auprès d'un autre fournisseur EMM, vous ne pourrez pas accéder aux ID utilisateur des utilisateurs gérés par l'EMM créés par l'autre EMM. En effet, ces ID utilisateur sont spécifiques à l'EMM.

Supprimer

Un administrateur informatique peut supprimer son organisation de Google Play d'entreprise. Dans un délai de 24 heures, l'administrateur, les utilisateurs finaux et vous-même ne peuvent plus accéder aux données, aux comptes, aux attributions de licences et aux autres ressources de l'organisation. Par conséquent, vos appels d'API renverront un code d'état de réponse HTTP 404 Not Found pour le paramètre enterpriseId. Pour gérer cette erreur dans votre console EMM, demandez confirmation à l'administrateur informatique avant de supprimer toute association à l'organisation.