Paramétrage de la liaison avec G suite
Introduction
La plateforme Harmony offre la possibilité d'utiliser la suite G Suite de Google de manière similaire à Outlook, pour les entreprises possédant déjà un compte d'entreprise G Suite, ou désirant basculer vers la plateforme de Google.
Cette documentation vise à décrire le paramétrage nécessaire, aussi bien au niveau des outils Harmony que du compte d'entreprise G Suite.
Prérequis
Pour utiliser la plateforme G Suite de Google, il faut posséder un compte d'entreprise Google
Un tel compte peut être créé à l'adresse suivante : +https://support.google.com/business/answer/6085339?hl=fr+
Contrairement aux outils Google grand public, la suite professionnelle G Suite n'est pas gratuite. La tarification est à aborder avec Google à la souscription du compte d'entreprise.
Remarque
Les interfaces d'administration de la plateforme Google Cloud Platform sont susceptibles de changer pouvant quelque peu altérer les modes opératoires décrits dans cette documentation.
Projet
Création/Sélection d'un projet
L'autorisation et le paramétrage de l'accès au compte G Suite par les outils d'Harmony, se fait via un projet sur le compte G Suite de l'entreprise cliente.
Pour ce faire, il faut se connecter sur la plateforme d'administration du compte G Suite (https://console.cloud.google.com) en disposant des droits d'administration.
Le bandeau supérieur de la page d'administration permet de sélectionner le projet courant.
L'interface de sélection de projet permet de sélectionner un projet existant, ou de créer un nouveau projet.
N'importe quel projet peut être utilisé pour l'interfaçage entre Harmony et G Suite, cependant nous conseillons fortement de créer un projet spécifique dédié uniquement à cette fonction, notamment pour permettre au client de déléguer la gestion de ce projet à son distributeur, sans risque d'impacter ou de compromettre le reste de ses projets.
Pour plus de détails sur la création et la gestion des projets, se référer à la documentation Google https://cloud.google.com/resource-manager/docs/creating-managing-projects .
Principe
Afin de dialoguer avec G Suite, les outils Harmony vont devoir utiliser un compte de service.
Il s'agit d'un compte anonyme (non rattaché à un utilisateur), permettant de réaliser certaines opérations au nom de chaque utilisateur du domaine G Suite (dans la limite de ce que l'administrateur du projet aura autorisé pour ce compte).
Création d'un compte de service Google cloud
Un compte de service doit être créé pour être utilisé par Divalto Infinity dans le but d'interagir avec les API Google Cloud. Vous pouvez suivre cette procédure pour créer un nouveau compte de service. Il n'est pas nécessaire d'accorder des autorisations ou des rôles à ce niveau.
Après création du compte, vous pourrez procéder à la création d'une nouvelle paire de clés au format JSON. Ce fichier sera automatiquement mis à disposition en téléchargement, il doit être conservé de manière sécurisée.
Notez l'ID unique du compte de service qui vous servira pour l'étape suivante. Vous devez également activer la délégation au niveau du domaine G Suite pour ce compte.
Dans les menus d'administration du projet, sélectionner le menu "IAM et administration" puis le sous-menu "Comptes de service".
Choisissez ensuite "CRÉER UN COMPTE DE SERVICE".
Il faudra donner un nom de compte. Lors de la création, il faut cocher les options indiquer une nouvelle clé privée et activer la délégation G Suite au niveau du domaine (cette option est nécessaire pour que le compte de service puisse agir sur les comptes des utilisateurs pour envoyer des mails par exemple).
Lors de la création du compte de service, une clé de compte sera également créée, stockée sous forme de fichier au format JSON.
Une fois le compte créé, il apparait dans l'interface d'administration des comptes de service. C'est ici que l'on pourra trouver l'id du compte de service qui sera utile plus tard.
Pour plus de détails sur l'administration des comptes de service, se référer à la documentation Google Cloud Platform : +https://cloud.google.com/iam/docs/creating-managing-service-accounts+
Activation de l'accès aux API
L'interface entre Harmony et G Suite se fait au moyen d'API mises à disposition par Google, mais qu'il faut activer au niveau de la console d'administration du compte G Suite (https://admin.google.com)
Ceci se fait dans le menu "Sécurité" puis "Document de référence sur les API". Vérifier que l'accès aux API est bien activé (case à cocher).
Autorisations du compte de service
Une fois que l'accès aux API est activé, il faut maintenant configurer les droits d'actions dont le compte de service disposera sur le domaine.
Dans l'interface "Sécurité" de la console d'administration du compte G Suite, ouvrir le sous-menu "Paramètres Avancés", puis sur "Gérer l'accès au client API".
C'est ici que l'on va associer les droits d'action au compte de service que nous avons créé plus dans les étapes précédentes.
Le compte de service est identifié grâce à son Id.
Dans la zone de saisie destinée à recevoir les droits, il faut énumérer chacun des droits, séparés par des virgules, mais sans espace.
Autorisation Spécifique | Url associée à l'autorisation |
---|---|
Lecture seule de l'agenda | |
Lecture seule des contacts | |
Lecture seule des tâches | |
Lecture seule des mails | |
Lecture seule des utilisateurs | https://www.googleapis.com/auth/admin.directory.user.readonly |
Lecture seule des groupes et des membres des groupes | https://www.googleapis.com/auth/admin.directory.group.member.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly |
Manipulation des mails | https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/gmail.insert , https://www.googleapis.com/auth/gmail.metadata , https://www.googleapis.com/auth/gmail.compose , https://www.googleapis.com/auth/gmail.modify , |
|
|
La chaîne finale à coller dans la zone de saisie des droits est donc ; https://www.googleapis.com/auth/calendar.readonly,https://www.googleapis.com/auth/contacts.readonly,https://www.googleapis.com/auth/tasks.readonly,https://www.googleapis.com/auth/gmail.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.member.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/contacts,https://www.googleapis.com/auth/tasks,https://www.googleapis.com/auth/gmail.send,https://www.googleapis.com/auth/gmail.insert,https://www.googleapis.com/auth/gmail.metadata,https://www.googleapis.com/auth/gmail.compose,https://www.googleapis.com/auth/gmail.modify,https://www.googleapis.com/auth/gmail.labels
Exemple :
Activation des API
Les API doivent maintenant être activées au niveau du projet.
Dans la console d'administration Google Cloud Platform (https://console.cloud.google.com/home), allez dans le menu "API et Services" puis le sous-menu "Bibliothèque".
Les API à activer pour le lien avec Harmony sont les suivantes :
Admin SDK,
Google Calendar API,
Gmail API,
Google+ Domains API,
Google People API (cette API se trouve sous le filtre « Réseaux Sociaux »),
Contexte
Il existe deux manières de s'identifier auprès des API Google. La première est d'utiliser le compte de service dont nous avons vu le paramétrage dans les chapitres précédents.
La seconde est de s'identifier en tant qu'utilisateur du domaine pour effectuer depuis l'ERP certaines opérations d'utilisateur (consultation des contacts, par exemple).
Pour ce second mode, il faut que les utilisateurs du domaine disposent de certains droits, ce qui sera l'objet de cette section.
Création d'un rôle d'administrateur
Dans la console d'administration du domaine (https://admin.google.com, connecté en administrateur), allez dans le menu "Rôles d'administrateur".
Créer un nouveau rôle d'administrateur, puis, dans la section "droits pour l'API d'administration, lui affecter les droits en lecture pour l'utilisateur et pour le groupe.Affectation du rôle aux utilisateurs
Dans l'onglet Administrateurs, sélectionner dans la liste déroulante les utilisateurs du domaine pour lesquels les droits doivent être ajoutés.Pour plus d'information concernant les rôles d'administrateur se référer à la documentation Google : +https://support.google.com/a/answer/2406043?hl=en+ et +https://support.google.com/a/answer/172176?hl=en&ref_topic=4514291+
Paramétrage du serveur d'application
Dans le chapitre Création d'un compte de service, nous avons créé le compte de service qui sera utilisé par les Harmony et Divalto pour communiquer avec la plateforme G Suite. A cette occasion une clé a été générée pour ce compte de service et nous l'avons exportée sous forme fichier JSON.
Ce fichier JSON est la clé qui permet d'accéder au compte G Suite de l'entreprise et avec des droits non négligeables sur les comptes et certaines données des utilisateurs. Il doit donc être conservé de manière sécurisée.
Sur le serveur d'application du site concerné, un administrateur doit récupérer ce fichier et le poser dans un répertoire local au serveur d'application, ET NON VISIBLE PAR LES UTILISATEURS.
Note : le fichier local sera crypté et donc non lisible et non portable sur une autre architecture, il est donc conseillé de ne pas utiliser le fichier JSON original.
Note 2 : l'administrateur doit disposer des droits de lecture ET d'écriture sur le répertoire, sinon le fichier ne pourra pas être crypté.
Il faut lancer Xrtdiva en mode administrateur pour accéder à la question programme, puis lancer le programme diva xdivaltoparammapigsuite.dhop (pour « Divalto paramètres MAPI pour G Suite »).
Il faut ensuite sélectionner le chemin du fichier JSON (local) de la clé de compte de service, puis indiquer une phrase secrète qui sera utilisée pour le cryptage du fichier.
De la sorte, le fichier JSON local, désormais crypté, s'il venait à être volé, ne pourrait pas être utilisé par un programme étranger, ou même par un programme Divalto d'un autre site (la phrase secrète, clé de cryptage n'étant pas connue de cet autre site).Note 3 : En cas de vol, de perte du fichier, ou de doutes, il est possible de révoquer les droits d'un compte de service et de reconfigurer la liaison avec un nouveau compte de service.
Paramétrage de DivaltoViewer.
Dans le menu Options>Paramètres de DivaltoViewer, cliquer sur le bouton Gmail.
Il faut :Cocher la case "Utiliser Gmail pour l'envoi de mail et le CRM".
Cocher la case "Utiliser la boite de dialogue Gmail pour le bouton contacts de DivaltoViewer".
Vérifier que DivaltoViewer a bien détecté que l'accès aux API Google a été correctement configuré comme vu au paragraphe précédent. Si tel est le cas, le champ "Accès au serveur Gmail" affichera un message : "Il y a un paramétrage pour G Suite sur …" (le chemin est volontairement tronqué pour rester illisible des utilisateurs).
Saisie des comptes G Suite des utilisateurs
Remarque : Cette étape est obsolète si vous optez pour l'attribution d'un compte Windows par compte G Suite (voire la section Sécurisation des comptes G Suite).
Le champ "Compte" de DivaltoViewer ne peut jamais être propagé.
En conséquence, il faut que chaque utilisateur renseigne son compte G Suite.
Pour cela, il faut ouvrir le zoom des tiers, aller sur une fiche tiers, puis cliquer sur "Envoyer un mail".
En bas à gauche de la fenêtre de saisie du mail, le bouton "Paramétrer votre compte" permet d'ouvrir la fenêtre pop-up où l'utilisateur pourra renseigner son adresse G Suite.Préambule
Il est désormais possible (et conseillé) d'associer les comptes G Suite de vos utilisateurs à leurs comptes Windows spécifiques.
De cette façon, les utilisateurs n'auront plus à renseigner eux-mêmes le compte G Suite à utiliser pour les envois de mails (entre autres), mais Harmony déterminera le compte G Suite à utiliser directement à partir du compte Windows (en fonction des associations créées par l'administrateur).
Ceci devrait limiter les risques d'erreurs (mauvaise saisie utilisateur) ainsi que limiter la possibilité d'abus (un utilisateur ne pourra plus se faire passer pour un autre en utilisant un autre compte G Suite que le sien).
Cette section explique les différentes étapes de la démarche à suivre pour réaliser cette association à savoir :La création d'un attribut personnalisé pour les comptes utilisateurs G Suite,
L'attribution des comptes Windows aux comptes utilisateurs G Suite.
Création d'un attribut personnalisé pour les comptes G Suite.
Une fois connecté à la console d'administration du compte d'entreprise G Suite (https://admin.google.com), il faut se rendre sur la page d'administration des utilisateurs.
De là, il faut aller dans la section de gestion des attributs personnalisés (Menu "Plus > Gérer les attributs personnalisés" comme indiqué dans la capture d'écran ci-dessous).
Il faut ensuite créer l'attribut personnalisé "DivaltoInfinityWinAccount" (cliquer sur "Ajouter un attribut personnalisé"). Saisir le nom (DivaltoInfinityWinAccount) dans les champs Catégorie et Nom du nouvel attribut à créer. On peut aussi saisir une Description.
Cet attribut devra avoir les propriétés suivantes :
Type d''information | Texte |
Visibilité | Visible pour l'utilisateur et l'administrateur |
Nombre de valeurs | Plusieurs valeurs |
Attribution des comptes Windows aux comptes G Suite.
Sur la page d'administration des utilisateurs, sélectionner un compte d'utilisateur.
Sur la page de l'utilisateur, étendre la section "Information utilisateur", puis aller à la catégorie "DivaltoInfinityWinAccount" et cliquer sur "Ajouter DivaltoInfinityWinAccount".
Renseigner le compte Windows qui pourra utiliser le compte utilisateur G Suite en cours de paramétrage, puis sauvegarder les modifications ("Enregistrer").
On peut associer plusieurs compte Windows à un même compte utilisateur G Suite.
Il faut répéter cette opération pour chaque utilisateur G Suite.
Paramétrage des serveurs Harmony.
Il faut maintenant permettre au serveur d'application Harmony de récupérer et exploiter ces nouvelles informations.
Pour cela, il faut lancer le programme diva xdivaltoparammapigsuite.dhop.
Ce programme va lire la liste des utilisateurs G Suite et extraire les comptes Windows associés à chaque utilisateur (en accédant à l'attribut personnalisé qui a été paramétré dans les étapes précédentes).
Il est nécessaire de renseigner un compte d'utilisateur G Suite (service@diva.com dans la capture ci-dessus). Ce compte DOIT disposer des droits d'accès en lecture aux informations des utilisateurs.
Pour autant, ce compte n'a pas besoin de droits d'administration, et non recommandons de ne pas utiliser un compte d'administration pour cette opération.
Remarque :
Les opérations décrites dans cette section rendent obsolète la Saisie des comptes G Suite dans Divalto Infinity.
Si des comptes G Suite ont déjà été renseignés dans l'ERP par des utilisateurs, il est conseillé que ceux-ci suppriment les paramètres qu'ils ont saisis car il pourrait y avoir conflit avec les DivaltoInfinityWinAccount du compte G Suite.