Moovapps Process

Création des connexions aux données externes de type OpenID dans Process

Pour configurer les deux connexions aux données externes, vous aurez besoin d’informations données par le client à savoir :

  • L’identifiant du tenant (locataire) Azure AD
  • L’identifiant de l’application que le client a créée dans Azure AD
  • La valeur du secret de l’application que le client a créée dans Azure AD

Delegation d’authentification pour Process

Cette configuration n’est nécessaire que si l’instance Process n’utilise pas Team

Placer la configuration suivante dans Administration->Serveur->Configuration->Propriétés->Onglet Paramètres:

# Azure
oidc.client.id=ID de l’application Azure AD (locataire)
oidc.client.secret=valeur du secret Azure AD (de l'application delegation)
oidc.redirect.url=https://<nom de domaine>/<webapp>/navigation/openid-connect-redirect
oidc.postlogout.url=https://<nom de domaine>
oidc.scope=openid profile
oidc.login.claim.parameter.name=preferred_username
oidc.metadata.url=https://login.microsoftonline.com/<identifiant du tenant locataire>/v2.0/.well-known/openid-configuration
com.axemble.security.ExternalAuthenticationAction.allowedAddresses=20.190.160.134

# ------------------------------------------------------------------------
# Empecher redirection pour bouton création processus anonyme 
# (mettre a true certains utilisateurs proviennent de l'annuaire process et non de l'AD Azure)
# ------------------------------------------------------------------------
workplace.automatic.redirection.to.team.authentication.page=false

Synchro d’utilisateurs pour ETL

Dans l’administration Process, créer une nouvelle connexion aux données externes et renseigner les informations adéquates, dont :

  • l’url du serveur d’authentification contenant l’identifiant du tenant (locataire) Azure AD
    • https://login.microsoftonline.com/<ID du tenant Azure AD>/v2.0
  • le client ID (qui est l’ID de l’application Azure AD)
  • le client secret (qui est la valeur du secret Azure AD ajouté)
  • les scopes OpenID : https://graph.microsoft.com/.default

connexion aux données externes synchro_utilisateurs

Configuration de Moovapps ETL

Pour effectuer la configuration ETL d’une synchro d’utilisateurs, la procédure consiste à :

  • Importer le Starter Pack Azure de votre version ETL téléchargeable depuis la documentation dans le Resources Center

Le pack n’est pas présent dans le dossier ETL 4.5.0, pour cette version prendre le pack de la v4.4.2.

  • déclarer un agent ETL:
<configuration>
  <variables>
    <!-- Connection variables -->
    <variable name="azure-tenant-id"></variable>
    <variable name="azure-openid-connection-name"></variable>
    <variable name="azure-query-params">$expand=memberOf</variable>
    <variable name="parent-organization-uri"></variable> 
    <variable name="authentication-domain-name"></variable>
    <variable name="synchronizeUsersGroupsLinks">false</variable>
    <variable name="azureQueryFilterGroupId"></variable>
    <variable name="azureQuerySelect">id,userPrincipalName,givenName,surname,mail,preferredLanguage,businessPhones,mobilePhone,accountEnabled,country,memberOf,jobTitle,manager,officeLocation,department,state</variable>
    <variable name="enable-deletion">true</variable>
    <variable name="force-deletion">false</variable>
  </variables>
  <!-- Syncrhonization route selection-->
  <extend name="route-azure-users" />
</configuration>

Adapter à votre configuration le paramétrage de l’agent:

Paramètre Valeur attendue
azure-tenant-id identifiant du tenant locataire Azure AD
azure-openid-connection-name Nom de la connexion externe déclarée précédemment
azure-query-params permet de récupérer les groupes associés aux utilisateurs
parent-organization-uri organisation parente exemple: uril://vdoc/organization/Collaborators
authentication-domain-name Nom de la délagation Team à associer AzureAD
synchronizeUsersGroupsLinks permet de synchroniser des liaisons avec des groupes pré-synchronisés
azureQueryFilterGroupId identifiant du groupe AzureAD si filtrage sur un groupe
azureQuerySelect liste des champs utilisateur à récupérer dans la requête à ajouter si vous voulez personnaliser la requête sinon ne pas déclarer dans l’agent
enable-deletion autorise la désactivation des utilisateurs déjà synchronisé mais plus présents dans cette synchro
force-deletion par défaut on limite à 100 le nombre d’utilisateurs supprimés lors d’une synchro. Ce paramètre permet de ne pas tenir compte de la limitation

L’option enable-deletion n’est opérationnelle qu’à partir de la v4.4.1 de Visiativ ETL. Si vous utilisez une version plus ancienne n’utilisez pas cette option.

Pour la mise en place de l’option enable-deletion à true sur une instance où la synchro était déjà en place, il faut au préalable désactiver tous les comptes utilisateurs ayant déjà été synchronisés via un export/import par exemple. Ensuite seulement vous pourrez exécuter la route avec le paramètre à true

Un problème persiste en v4.4.1 avec cette option. Le cache permettant d’utiliser l’option enable-deletion est unique pour une route. Ainsi, si vous paramétrez 2 agents avec une même route, un conflit se produit et chaque agent efface les utilisateurs provenant du second agent. Il faut donc créer une copie de la route autant de fois que d’agents actuellement (corrigé à partir de la v4.4.2)

Pour plus d’informations concernant la configuration de la route ETL, veuillez vous reporter à la documentation Moovapps ETL dans la documentation fonctionnelle de Moovapps ETL disponible dans Resources Center.

L’ETL Pack Azure également disponible dans Resources Center fourni un modèle d’import à utiliser pour la synchronisation.

Bonnes pratiques pour la configuration du driver ETL Azure AD

  • La route est pré-paramétrée pour alimenter un attribut étendu ADDomain avec la valeur AzureAD
    • AzureAD est le nom de domaine par défaut pour les utilisateurs de l’organisation interne, il est donc préférable d’utiliser cette valeur
    • Utiliser un suffixe correspondant au nom de l’organisation pour les organisations externes (ex: “AzureAD-Client1”)
  • L’attribut email est une information pour le SSO Moovapps, il faut donc bien penser à la prendre en compte dans la synchronisation

Tester la fédération

  • Valider qu’un utilisateur est bien synchronisé après exécution de l’ETL (création et mise à jour)
    • Dans l’annuaire Process
    • Dans l’annuaire Team
  • Essayer de se connecter avec un utilisateur synchronisé Azure AD
  • Essayer de se connecter avec un utilisateur “Process” (qui n’a pas été créé par la synchro ETL)