Connecteur Google
Intégration de Matrix42 Pro , IGA et Google avec le connecteur REST API générique
Connecteur Google
Intégration de Matrix42 Pro , IGA et Google avec le connecteur REST API générique
Les fonctionnalités liées à l'intégration de l'annuaire Google sont incluses dans Generic REST API Connector .
Le connecteur REST API générique offre une valeur commerciale claire dans quatre domaines clés :
Visibilité et contrôle améliorés : l'accès en temps quasi réel aux données des appareils et des logiciels améliore la supervision informatique, le suivi des actifs et la prise de décision.
Automatisation et efficacité : les modifications automatisées réduisent le travail manuel, accélèrent les temps de réponse et rationalisent les processus tels que l'intégration et les mises à jour.
Sécurité et conformité renforcées : la détection et la correction rapides des risques favorisent des postures de sécurité plus solides et le respect des normes réglementaires.
Intégration stratégique et innovation : l’intégration transparente avec d’autres systèmes informatiques permet une automatisation plus intelligente, une meilleure gouvernance et soutient les efforts de transformation numérique.
Pour uid généraux REST API générique, consultez la documentation REST API générique .
Les cas d’utilisation les plus courants avec Google sont
- Lecture des données de Google (par exemple, utilisateurs et groupes)
- Écriture de données sur Google (par exemple, création/mise à jour d'utilisateurs et de groupes)
Configurer le connecteur pour Google
Pour configurer le provisionnement, vous aurez besoin d’accéder à la console de configuration de la plateforme.
1. Ouvrez la zone Administration (symbole d’engrenage).
2. Ouvrez la vue Connecteurs.
3. Choisissez « Nouveau connecteur »

4. Sélectionnez le type de source de données comme REST API générique

5. Donnez un nom au connecteur et ajoutez les paramètres de connexion :
- Nom du connecteur - donnez à votre connecteur un nom convivial (le nom peut être modifié par la suite)
- URL de l'hôte - URL de base pour REST API . https://admin.googleapis.com/admin/directory/v1/ Cela peut être utilisé comme préfixe pour l'URL finale à appeler.
- Type de connecteur REST - sélectionnez Google
- Portées : définissez les portées en fonction API Google que vous allez appeler depuis ce connecteur. Les portées pour les utilisateurs, les groupes et les autorisations sont : https://www.googleapis.com/auth/admin.directory.user https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.group.member
- Contenu du fichier JSON des identifiants : après avoir configuré Google , vous pouvez accéder à ce fichier JSON. Copiez et collez tout le contenu de ce fichier dans cet attribut.
- Utilisateur délégué : utilisateur au nom duquel ce connecteur se connecte à Google . Il est conseillé d'utiliser un utilisateur technique, par exemple igagoogle@votredomaine.com.
- Type de pagination - sélectionnez le jeton d'attribut de lien
- Jeton de lien de pagination - nextPageToken
- Nom de l'attribut URL - pageToken


6. Remplissez les informations utilisateur API Web
- Utilisateur API Web - sélectionnez l'utilisateur API Web correct qui est utilisé lors de l'écriture de données à partir d'un système externe vers les solutions Matrix42 Core , Pro and IGA
- Mot de passe de API Web - mot de passe de l'utilisateur de l' API Web

8. Enregistrer les informations du connecteur
9. Ajoutez un certificat racine Google https approuvé par la gestion des connecteurs (EPE). Cette opération ne peut être effectuée que par Matrix42 : Ajouter un certificat. Les certificats racine Google sont disponibles sur https://pki.goog/repository/
10. Les solutions Matrix42 Core , Pro and IGA sont désormais capables de se connecter à Google
- L'étape suivante consiste à configurer une tâche planifiée pour la lecture des données ou une tâche événementielle pour l'écriture des données et les actions vers Google .
Lire les données de Google
Dans ce chapitre, nous ajoutons un exemple de tâche planifiée pour lire les appartenances des utilisateurs et des groupes d'utilisateurs à partir de Google .
Remarque ! Si vous souhaitez également lire les groupes Google sous forme de cartes de données vers ESM, vous devez créer une autre tâche planifiée générique à cet effet.
1. Ajoutez une tâche planifiée sous le connecteur approprié, en cliquant sur « Nouvelle tâche »

2. Définir les attributs de la tâche
Planification - Définissez la planification si nécessaire
Nom de la tâche - Définir un nom informatif
Utilisation des tâches - Planifiée
Type de mappage - Modèle générique
Requête : la requête dépend du point de terminaison API Google que vous souhaitez appeler pour récupérer les données. Consultez la documentation Google pour connaître l'URL et les paramètres API corrects. N'oubliez pas de définir l'attribut de domaine approprié en fonction de votre domaine Google .
Dans cet exemple, nous récupérons les utilisateurs en utilisant : users?domain=yourdomain.com
Sous-requêtes : vous pouvez ajouter des sous-requêtes pour accéder à des données supplémentaires liées aux résultats renvoyés par la requête. Dans cet exemple, nous utilisons une sous-requête pour récupérer les appartenances des utilisateurs aux groupes : groups?userKey={id}

En-têtes de requête – pour Google nous devons ajouter ces en-têtes :
Accepter / application/json
Type de contenu / application/json
Marqueur de valeur - dans ce cas, les utilisateurs (la valeur correcte dépend de l'API que vous appelez)
Marqueur d'erreur - définissez-le sur erreur
Seuil de sécurité pour les appels API : il est recommandé de définir une valeur deux fois supérieure au nombre de pages renvoyées par cette API . Si vous laissez ce seuil vide, il n'y a pas de seuil de sécurité et le connecteur peut basculer en boucle infinie en cas d'erreur de configuration.
Attribut unique : Attribut unique dans le jeu de résultats API . Dans ce cas, il s'agit de l'identifiant.

3. Remplissez les informations d'échec
Paramètres facultatifs pour la gestion des échecs : en cas d'échec d'une tâche planifiée, une carte de données peut être créée dans ESM, affichant l'erreur. Si des paramètres d'échec sont définis, l'administrateur n'a pas besoin de vérifier manuellement l'état des tâches planifiées.
- Modèle d'échec - Sélectionnez un modèle de carte de données qui sera créé en cas d'erreur lors de l'approvisionnement (connexion aux sources de données, délais d'attente, etc.)
- Dossier d'échec - Sélectionnez le dossier dans lequel la carte de données d'échec est stockée.
- Attribut d'échec - Sélectionnez un attribut dans lequel les informations d'erreur doivent être stockées dans le modèle d'échec. Sélectionnez l'attribut de type texte.

4. Remplissez les informations de mappage générique
Dans la section Mappages, vous configurez quel attribut du message JSON est lu sur quel attribut sur la carte de données Matrix42 Core , Pro and IGA .
- Modèle cible - Sélectionnez un modèle pour définir les mappages d'attributs (dans cet exemple, compte IGA car nous récupérons les utilisateurs/comptes)
- Dossier cible : sélectionnez un dossier dans une liste. La liste est réduite pour correspondre au modèle sélectionné. (Dans cet exemple, Comptes)
- Mappage du type de source de données : facultatif. S'il est défini, le type de connecteur est écrit dans cet attribut.
- Mappage d'ID de tâche : l'ID de tâche est inscrit dans cet attribut. Le choix de l'attribut approprié dépend de la configuration de votre modèle.
- Définir la valeur de la carte de données pour un objet supprimé du système source : cette fonctionnalité est activée en cochant la case correspondante. Lorsqu'un objet précédemment lu depuis un système tiers vers la solution est supprimé, cette tâche planifiée détecte la suppression et attribue à l'attribut de la carte de données sélectionnée la valeur souhaitée. Cela peut par exemple être utilisé pour définir l'attribut « Statut » sur « Supprimé ». Le nom et la valeur de l'attribut doivent être définis en fonction de la configuration de votre modèle.

- Mappages d'attributs
- Attribut externe - quel attribut de l' API Google est lu à partir du corps JSON
- Attribut local - auquel l'attribut dans Matrix42 Core , Pro and IGA est mappé
- Il est possible de définir des attributs supplémentaires pour les mappages d'attributs, en choisissant Nouvel attribut
- Vous devez également ajouter un mappage à l'attribut unique (dans cet exemple, il s'agit de l'identifiant). Ce mappage doit être effectué sur l'attribut unique du modèle (dans cet exemple, l'identifiant du répertoire).
- Le premier mappage utilise une sous-requête pour associer les appartenances des utilisateurs aux groupes à l'attribut multiValueField. Les autres mappages concernent les mappages d'attributs utilisateur de la requête principale.

5. Enregistrez la tâche de provisionnement à partir du bouton Enregistrer.
Si certains attributs requis sont manquants, le bouton Enregistrer s'affiche en gris et affiche ce qui manque dans les paramètres.

6. Vous avez maintenant configuré la tâche de connecteur planifiée
- Vous pouvez désormais attendre que la tâche soit démarrée en fonction de la planification ou
- Exécuter la tâche manuellement : en cliquant sur le bouton « Exécuter la tâche » en haut de la fenêtre d'édition, la tâche est configurée pour être planifiée et démarrer immédiatement. Ceci est généralement utilisé pour des tests ou si vous ne souhaitez pas modifier les paramètres de planification, mais souhaitez exécuter la tâche immédiatement.

Exemple de message de démarrage d'exécution d'une tâche manuelle :

Si la tâche est exécutée manuellement (exécuter la tâche) ou si elle est exécutée selon la planification, l'état de la tâche peut être consulté à partir de la colonne de gestion de la liste des tâches planifiées, en cliquant sur le bouton « Afficher l'historique ».

Créer un utilisateur sur Google
Voici un exemple simple de tâche événementielle et de nœud d'orchestration, utilisés pour créer un utilisateur Google . En production, vous devez définir tous les attributs nécessaires à la définition d'un nouvel utilisateur.
1. Ajoutez une tâche basée sur un événement sous le connecteur approprié, en cliquant sur « Nouvelle tâche ».
![]()
2. Définir les attributs de la tâche
Nom de la tâche - nom unique descriptif
Utilisation des tâches - Événement
Type de mappages - Modèle générique
Requête : URL de l' API à appeler. Dans cet exemple, nous la laissons vide, car nous avons défini l'URL sur le nœud d'orchestration du workflow. L'URL finale API à appeler est construite en concaténant l'URL du connecteur, l'URL de cette requête et l'URL REST du nœud d'orchestration.
En-têtes de requête – pour Google nous devons ajouter ces en-têtes :
Accepter / application/json
Type de contenu / application/json
Formateur d'attributs de date : définissez le format correct si vous provisionnez des attributs de date
Formateur d'attributs DateTime : définissez le format correct si vous provisionnez des attributs DateTime

Définir des mappages génériques
Modèle cible - modèle à partir duquel vous allez appeler cette tâche
Dossier cible - dossier pour vos données
Aucun attribut n'est défini dans la table de mappage (attribut externe - attribut local). Le mappage des attributs est effectué sur le nœud d'orchestration du workflow.
3. Enregistrer la tâche
4. Créez un nœud d'orchestration dans votre flux de travail pour appeler cette tâche basée sur les événements
Orchestrate - Moteur Pro
Source de données - REST API générique
Activité - Appel REST générique
Cible - Créer un utilisateur Google (le nom de votre tâche basée sur un événement)
Action - Dans cet exemple, POST car nous créons un utilisateur sur Google
URL REST - dans cet exemple, les utilisateurs car nous créons des utilisateurs sur Google
Corps REST : vous pouvez générer le corps de l'appel API directement ici. Dans les cas plus complexes, vous pouvez également le générer séparément (dans un nœud de script) pour un attribut, puis l'utiliser ici. Dans ce cas, le corps de création de l'utilisateur est créé directement ici, à l'aide des variables de code des attributs prénom et nom.
Le corps que nous utilisons ici est un exemple très simplifié. En production, vous devez définir tous les attributs à attribuer aux nouveaux utilisateurs.
{
"nom": {
"givenName": "$prénom$",
"familyName": "$lastname$"
},
"mot de passe": "$randompassword$",
"primaryEmail": "$firstname$.$lastname$@mydomaincom"
}
Attribut de réponse REST : la réponse à l'appel API sera stockée dans cet attribut. Dans cet exemple, il contiendra les données des utilisateurs créés au format JSON.
Comment lire la valeur d'un JSON dans un workflow
Utiliser la bibliothèque JSON pour lire la valeur à partir de JSON
Cet exemple concerne par exemple OnPremisesExternsionAttributes, mais cette même approche peut être utilisée pour tous les types de messages JSON pour Microsoft Graph API et REST API .
Pour lire 1 valeur spécifique à partir de JSON qui ressemble à ceci :
{ "extensionAttribute1": "test data1",
"extensionAttribute2": null,
"extensionAttribute3": null,
"extensionAttribute4": "EXT",
"extensionAttribute5": null,
"extensionAttribute6": null,
"extensionAttribute7": null,
"extensionAttribute8": null,
"extensionAttribute9": "HR functions",
"extensionAttribute10": "100",
"extensionAttribute11": null,
"extensionAttribute12": null,
"extensionAttribute13": null,
"extensionAttribute14": "test5",
"extensionAttribute15": "M365_E5" }
Vous pouvez le faire facilement avec le code suivant sur le script de workflow.
Exemple (l'exemple utilise deux attributs esm : onPremisesExtensionAttributes et extensionAttribute14code) :
import json
if onPremisesExtensionAttributes:
_data = this.get("onPremisesExtensionAttributes")
_obj = json.loads(_data)
_value = _obj["extensionAttribute14"]
this.set("extensionAttribute14code",_value)
N'oubliez pas de toujours tester que le code sélectionne les données correctes de JSON pour votre cas d'utilisation, et si ce n'est pas le cas, effectuez les ajustements nécessaires.
Exception de Pro : en cas de problème avec l'appel API , l'exception sera stockée dans cet attribut

Finalisez votre flux de travail avec d'autres nœuds et flux
Enregistrer le flux de travail et le publier
5. Tester le flux de travail et les tâches basées sur les événements
Restrictions connues
Restrictions en 2025.3
Plusieurs niveaux de sous-requêtes pour les tâches planifiées ne sont pas pris en charge, pour des raisons de performances.