Le provisionnement des identités (ou provisionnement de compte) est le processus qui consiste à configurer des comptes et à établir des connexions entre les trois systèmes, et dans certains cas à établir des connexions entre les utilisateurs et leurs appareils.
Dans un environnement d'entreprise Android, jusqu'à trois systèmes différents détiennent des informations de compte:
- L'annuaire des utilisateurs de l'organisation est la source d'informations la plus fiable sur les utilisateurs.
- Vous (le fournisseur de solution EMM) devez gérer au moins un répertoire minimal des utilisateurs de l'entreprise.
- Google conserve certaines informations sur les comptes Google Play d'entreprise et les comptes Google pour permettre la gestion des applications via Google Play.
Une ressource Users
représente un compte associé à une entreprise. Le compte peut être spécifique à un appareil ou être associé à une personne qui possède plusieurs appareils (téléphone mobile, tablette, etc.) et utilise le compte sur tous ces appareils. Le compte peut fournir un accès à Google Play d'entreprise uniquement ou à d'autres services Google, en fonction de la configuration de l'entreprise de votre client:
Les comptes Google Play d'entreprise offrent aux entreprises un moyen transparent de créer automatiquement des comptes utilisateur ou d'appareils via leur fournisseur de solutions de gestion de la mobilité en entreprise (EMM). Ces comptes ne permettent d'accéder qu'à Google Play d'entreprise.
Les comptes Google sont des comptes existants gérés par Google qui nécessitent une synchronisation avec les sources de comptes Google.
Tableau 1: Champs et méthodes de l'API Users
Comptes Google Play d'entreprise | Comptes gérés par Google | |
---|---|---|
Champ | ||
id | ||
kind | ||
accountIdentifier | Identifiant unique que vous créez et que vous associez à l'ID (userId ) renvoyé par Google Play. N'utilisez pas d'informations permettant d'identifier personnellement l'utilisateur. | Non défini. |
accountType | deviceAccount, userAccount | userAccount |
displayName | Nom que vous affichez dans les éléments d'interface utilisateur, par exemple dans Google Play. N'utilisez pas d'informations permettant d'identifier personnellement l'utilisateur. | Non défini. |
managementType | emmManaged | googleManaged, emmManaged |
primaryEmail | Non défini. | Ce champ est la clé primaire vous permettant de gérer la synchronisation des comptes de domaine gérés par Google avec les comptes utilisateur de votre système. |
Méthodes | ||
supprimer | ||
generateAuthenticationToken | ||
generateToken | ||
get | ||
getAvailableProductSet | ||
insert | ||
list | ||
revokeToken | ||
setAvailableProductSet | ||
update |
Comptes Google Play d'entreprise
Il existe deux types de comptes Google Play d'entreprise:
- Compte utilisateur
- Permet à un seul utilisateur d'accéder à Google Play d'entreprise depuis tous ses appareils. Vous devez provisionner des comptes utilisateur pour vos utilisateurs. Ceux-ci ne disposent pas des identifiants nécessaires pour ajouter eux-mêmes des comptes Google Play d'entreprise.
- Pour créer un compte utilisateur, appelez
Users.insert
. Définissez le type de compte suruserType
et définissez unaccountIdentifier
, qui fait référence à l'utilisateur de manière unique au sein de l'entreprise. - Bonne pratique: N'utilisez pas le même compte sur plus de 10 appareils.
- Compte d'appareil
- Fournit l'accès à Google Play d'entreprise depuis un seul appareil. Si un jeton d'authentification a été émis pour un compte d'appareil, une nouvelle demande de jeton d'authentification pour ce compte d'appareil désactive le jeton précédent. Chaque appareil doit disposer de sa propre licence d'application.
- Pour créer un compte sur un appareil, appelez
Users.insert
et définissez le type de compte surdeviceType
.
Vous créez et gérez un mappage entre les identités des utilisateurs ou des appareils et les comptes Google Play gérés correspondants, et vous gérez les comptes tout au long de leur cycle de vie. L'entreprise n'a pas besoin d'un contrôle direct sur ces comptes Google Play gérés, car ils servent uniquement à la gestion des applications.
Configuration requise pour les consoles et les serveurs EMM
Les comptes Google Play d'entreprise sont créés à la demande, de manière automatisée, à l'aide des API EMM Google Play et des API du framework Android sur les composants de votre solution EMM (console EMM, serveur EMM et DPC). Ces composants interagissent au moment de l'exécution pour créer un compte utilisateur et provisionner le profil professionnel sur l'appareil cible. Votre console ou serveur EMM doit remplir les conditions suivantes:
Fournissez un mécanisme permettant de créer des identifiants de compte anonymes uniques (champ
accountIdentifier
) à utiliser dans l'appel deUsers.insert
. Par exemple, vous pouvez utiliser une valeur interne pour l'utilisateur ("sanjeev237389") ou un numéro d'identifiant d'élément énigmatique ("asset#44448"). Évitez d'utiliser des informations permettant d'identifier personnellement l'utilisateur comme identifiant de compte.Stockez le mappage entre le
userId
(renvoyé par l'appelinsert
) et leaccountIdentifier
que vous sélectionnez.
Pour connaître les exigences relatives à votre DPC, consultez la section Créer un outil de contrôle des règles relatives aux appareils.
Créer un compte utilisateur Google Play d'entreprise
- Un utilisateur se connecte à votre DPC à l'aide d'identifiants professionnels (généralement).
- L'outil DPC demande des informations sur l'utilisateur à la console ou au serveur EMM.
En supposant que l'utilisateur n'est pas connu de votre système :
- Envoyez une demande de création de compte Google Play d'entreprise en appelant
Users.insert
avec les valeurs des nouveauxaccountIdentifier
,displayName
etaccountType
.- Votre système doit créer le
accountIdentifier
. L'identifiant de compte doit être une valeur unique dans votre système. N'utilisez pas d'informations permettant d'identifier personnellement l'utilisateur pour l'identifiant du compte. - Le
displayName
s'affiche dans le sélecteur de compte du Google Play Store et doit avoir une certaine signification pour l'utilisateur (mais pas des informations personnelles le concernant). Par exemple, le nom peut inclure le nom de l'organisation ou un nom générique lié à l'EMM. - Définissez
accountType
suruserAccount
oudeviceAccount
. UnuserAccount
peut être utilisé sur plusieurs appareils, tandis qu'undeviceAccount
est spécifique à un seul appareil. LeaccountType
spécifié peut êtredeviceType
ouuserType
. - Définissez
managementType
suremmManaged
.
- Votre système doit créer le
- Google Play traite la requête, crée le compte et renvoie un
userId
. - Stockez le mappage entre les valeurs
accountIdentifier
etuserId
dans votre datastore. - Appelez
Users.generateAuthenticationToken
avecuserId
etenterpriseId
. Google Play renvoie un jeton d'authentification qui peut être utilisé une seule fois, et qui doit être utilisé dans les minutes qui suivent. - Transférez en toute sécurité le jeton d'authentification à votre DPC.
- Envoyez une demande de création de compte Google Play d'entreprise en appelant
- Le DPC provisionne le profil professionnel et ajoute le compte au profil professionnel ou à l'appareil.
- L'utilisateur peut accéder à Google Play d'entreprise depuis le profil professionnel ou l'appareil.
Comptes administrateur
Lorsqu'un administrateur crée une entreprise avec des comptes Google Play gérés, le compte Google qu'il utilise ne peut pas être un compte G Suite. Le compte qu'ils utilisent devient propriétaire de l'entreprise, et celui-ci peut ajouter d'autres propriétaires et administrateurs dans la Google Play Console d'entreprise.
Enterprises.get
et Enterprises.completeSignup
renvoient une liste d'adresses e-mail d'administrateur associées à une entreprise (entreprises avec des comptes Google Play d'entreprise uniquement).
Gérer les cycles de vie des comptes
Dans un déploiement de comptes Google Play d'entreprise, vous êtes responsable des cycles de vie des utilisateurs et des comptes d'appareil, ce qui signifie que vous créez, mettez à jour et supprimez ces comptes.
Vous créez les comptes lors du provisionnement de l'appareil, un processus impliquant votre application DPC et votre console EMM. Pour obtenir des instructions, consultez la méthode des comptes Google Play gérés.
Pour modifier les informations d'un compte, appelez Users.update.
Pour supprimer un compte, appelez Users.delete.
Les administrateurs ne peuvent pas supprimer de comptes individuels, mais ils peuvent supprimer une entreprise avec des comptes Google Play d'entreprise. L'appareil et les comptes utilisateur associés à l'entreprise finissent alors par être supprimés, comme décrit dans la section Se désinscrire, réenregistrer, supprimer.
Expiration du compte
Il peut arriver que des comptes ou leurs jetons expirent. Cela peut se produire pour plusieurs raisons:
- Le jeton d'authentification obtenu pour ajouter le compte à l'appareil a expiré.
- Le compte ou l'entreprise ont été supprimés.
- Pour les comptes d'appareil, le compte a été ajouté à un nouvel appareil et est donc désactivé sur l'ancien appareil.
- Des contrôles automatiques s'appliquent en cas d'utilisation abusive.
Dans la plupart des cas (sauf si l'EMM transfère intentionnellement un compte d'appareil vers un nouvel appareil), il est recommandé d'utiliser l'API EMM Play pour demander un nouveau jeton au serveur EMM, noter l'état du compte et de l'entreprise ainsi que les erreurs renvoyées, puis prendre les mesures appropriées sur l'appareil. Par exemple, actualisez le jeton, ou si l'erreur ne peut pas être récupérée, réinitialisez ou désenregistrez l'appareil.
La version 9.0.00 des services Google Play informe votre DPC que le compte a expiré à l'aide de l'action de diffusion:
Lorsque le compte Google Play d'entreprise n'est plus valide sur un appareil, le DPC reçoit une annonce avec l'action suivante :
com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
L'intent de diffusion contient un extra
Parcelable
nomméaccount
, qui est l'objetAccount
du compte invalidé.L'outil DPC vérifie
Account#name
auprès du serveur EMM pour identifier le compte invalidé.L'outil DPC demande de nouveaux identifiants ou un nouveau compte en suivant le même flux que celui utilisé initialement pour provisionner l'appareil.
Comptes Google
Pour les organisations qui utilisent des comptes Google, les comptes utilisateur d'une solution EMM potentiel correspondent aux comptes utilisateur existants associés à un autre service Google (par exemple, G Suite). Ces comptes sont googleManaged
(Tableau 1), car les services de backend de Google sont la source de création et d'informations sur le compte.
En tant qu'EMM, vous pouvez intégrer dans votre console des mécanismes permettant de faciliter la création et la synchronisation continue des comptes utilisateur de votre système avec les sources de leurs comptes de domaine Google à l'aide d'outils tels que Google Cloud Directory Sync (GCDS) et l'API Directory du SDK Google Admin pour obtenir un aperçu de différentes approches. Le modèle d'identité du domaine géré par Google exige que le compte utilisateur existe dans le contexte de votre solution (console EMM, serveur EMM, éventuellement dans un datastore) pour pouvoir être provisionné sur l'un des appareils de l'utilisateur dans le contexte d'un profil professionnel.
Lors du provisionnement des identités, des comptes utilisateur sont ajoutés au domaine de l'organisation géré par Google. Dans certains cas, les identités en ligne existantes des utilisateurs (par exemple, leurs comptes Microsoft Exchange) sont synchronisées avec leur compte Google.
Après la synchronisation initiale, mais avant que les applications ne soient distribuées sur l'appareil d'un utilisateur, celui-ci doit activer son compte Google, comme décrit dans la section Activer les comptes sur les appareils. Cette activation permet à l'appareil d'accéder à Google Play d'entreprise.
Synchroniser les comptes client
Dans un déploiement de comptes Google, l'organisation peut utiliser l'outil GCDS pour synchroniser les données de son domaine G Suite avec celles de son annuaire LDAP. Vous pouvez également effectuer cette opération au nom de l'organisation à l'aide de GCDS, si l'organisation vous y autorise.
L'outil GCDS appelle l'API Google Directory et synchronise les noms d'utilisateur, mais pas les mots de passe.
Si l'organisation utilise Microsoft Active Directory et souhaite synchroniser les mots de passe G Suite des utilisateurs avec leurs mots de passe Active Directory, elle ou vous-même pouvez utiliser l'outil G Suite Password Sync (GSPS) avec GCDS.
Pour obtenir des instructions GCDS pour les administrateurs, consultez la page Préparer votre domaine G Suite pour la synchronisation.
API Google Directory
Dans un déploiement de comptes Google, vous pouvez utiliser l'API Google Directory pour synchroniser les annuaires actifs, les mots de passe ou les deux:
Utiliser l'API Directory pour la synchronisation basée uniquement sur l'annuaire Si vous disposez d'un accès en lecture seule au domaine Google géré de l'organisation, vous pouvez utiliser l'API Google Directory pour obtenir des informations de compte Google, telles que les noms d'utilisateur (mais pas les mots de passe) auprès de Google. Étant donné que vous ne pouvez pas écrire de données dans les comptes Google des utilisateurs, l'organisation est entièrement responsable des cycles de vie des comptes.
Le scénario 1 et les scénarios d'authentification SSO basée sur SAML décrivent plus précisément cette situation.
Pour en savoir plus sur l'utilisation de l'API Directory de cette manière, consultez la section Récupérer tous les utilisateurs de compte dans la documentation de l'API Directory.
Utiliser l'API Directory pour la synchronisation des annuaires et (facultative) des mots de passe. Si vous disposez d'un accès en lecture/écriture au domaine Google géré de l'organisation, vous pouvez utiliser l'API Google Directory pour obtenir des noms d'utilisateur, des mots de passe et d'autres informations de compte Google. Vous pouvez mettre à jour ces informations et les synchroniser avec votre propre base de données. Vous pouvez être entièrement ou partiellement responsable des cycles de vie des comptes, en fonction de la solution que vous proposez à votre client.
Le scénario 2 décrit cette situation plus en détail.
Pour en savoir plus sur l'utilisation de l'API Directory pour gérer les informations de compte utilisateur, consultez le guide du développeur API Directory: comptes utilisateur.
Scénarios liés aux comptes Google
Quelques scénarios typiques de provisionnement d'identité de comptes Google sont décrits ci-dessous.
Scénario 1: le client est responsable des cycles de vie des comptes
Dans ce scénario, votre client crée et gère des comptes Google pour ses utilisateurs.
Vous obtenez les informations de compte utilisateur à partir de l'annuaire LDAP de l'organisation et les corrolisez avec les données du compte Google obtenues auprès de Google via l'API Google Directory.
L'organisation est entièrement responsable des cycles de vie des comptes. Par exemple, lorsqu'un compte Google est créé, l'organisation ajoute l'utilisateur à son annuaire LDAP. La prochaine fois que vous synchroniserez votre base de données avec l'annuaire LDAP, votre base de données recevra des informations sur ce nouvel utilisateur.
Dans ce cas, on a :
- Vous disposez d'un accès en lecture seule aux comptes Google.
- Votre base de données acquiert des noms de comptes Google, mais pas de noms d'utilisateur ni de mots de passe LDAP.
- L'API Google Directory vous permet d'obtenir des informations de base sur les comptes des utilisateurs de vos clients. (Les informations disponibles sont les informations non accessibles en écriture renvoyées par une requête
Users.get
.) Ces informations vous permettent de vérifier que les comptes Google des utilisateurs existent afin qu'ils puissent s'authentifier sur leurs appareils. - Votre client utilise l'outil GCDS pour effectuer une synchronisation unidirectionnelle afin de renseigner les comptes Google des utilisateurs. (L'organisation utilise probablement également GCDS pour sa synchronisation en cours une fois le provisionnement des identités terminé.) Si vous le souhaitez, l'organisation peut également utiliser l'outil GSPS pour synchroniser non seulement les noms d'utilisateur, mais également les mots de passe.
Scénario 2: EMM responsable des cycles de vie des comptes
Dans ce scénario, vous gérez le processus de création des comptes Google au nom du client et vous êtes responsable des cycles de vie des comptes utilisateur.
Par exemple, lorsque des informations utilisateur changent dans l'annuaire LDAP de l'organisation, vous êtes tenu de mettre à jour le compte Google de l'utilisateur. GCDS n'est pas utilisé dans ce scénario.
Dans ce cas, on a :
- Vous disposez d'un accès en lecture/écriture aux comptes Google.
- Votre base de données acquiert des noms de comptes Google et des noms d'utilisateur LDAP (et éventuellement des hachages de mots de passe).
- Vous utilisez l'API Google Directory pour le compte de votre client afin de lire et d'écrire les informations de compte des utilisateurs de l'organisation. (Les informations disponibles sont les informations non accessibles en écriture renvoyées par une requête
Users.get
.) Ces informations vous permettent de vérifier que les comptes Google des utilisateurs existent afin qu'ils puissent s'authentifier sur leurs appareils. - L'outil GCDS n'est pas utilisé.
Scénarios d'authentification SSO basées sur SAML
Lors d'un déploiement de comptes Google, vous ou votre client pouvez utiliser le langage SAML (Security Assertion Markup Language) avec un fournisseur d'identité (IdP) pour authentifier le compte Google associé à chaque utilisateur. Les noms de comptes Google vous permettent de vérifier l'existence des comptes Google des utilisateurs, ce qui est nécessaire à l'authentification des utilisateurs lorsqu'ils se connectent à leurs appareils. Par exemple, SAML peut être utilisé dans le scénario 2. Pour savoir comment configurer cette fonctionnalité, consultez Configurer l'authentification unique (SSO) pour les comptes G Suite.
Activer des comptes sur les appareils
Pour que les applications soient distribuées sur l'appareil d'un utilisateur via Google Play d'entreprise, l'utilisateur doit se connecter à l'appareil lors du provisionnement de l'appareil:
- Dans le provisionnement des appareils Google Play Accounts, l'outil DPC guide l'utilisateur pour qu'il se connecte à l'aide d'identifiants acceptés par votre console EMM, généralement des identifiants de messagerie d'entreprise.
- Dans un déploiement de comptes Google, votre DPC guide l'utilisateur pour qu'il saisisse les identifiants de connexion de son compte Google. Normalement, ces identifiants correspondent à ceux avec lesquels les utilisateurs se connectent à leur domaine d'entreprise lorsqu'ils sont synchronisés avec GCDS ou GSPS, ou lorsqu'une organisation utilise un IdP pour l'authentification. Le compte Google de l'utilisateur est alors activé, un ID d'appareil unique est généré, et l'identité du compte Google de l'utilisateur et l'ID de son appareil sont liés.