Passer au contenu
Français
  • Il n'y a aucune suggestion car le champ de recherche est vide.

Synchroniser les utilisateurs via SFTP

Cet article est à l'attention des administrateurs.

Cette méthode de synchronisation automatique est la plus universelle car elle peut s'adapter à n'importe quel système de base utilisateurs.

Elevo peut fournir un accès unique et sécurisé pour votre entreprise au SFTP Elevo où il vous sera possible de déposer les fichiers d'export de manière automatisée. Elevo synchronisera automatiquement les utilisateurs sans aucune intervention de votre part.

💡 Note : La plupart des SIRH proposent directement une fonctionnalité d'export automatique et régulier de votre base utilisateurs avec dépôt du fichier sur un serveur distant sécurisé (SFTP). Renseignez-vous au près de votre prestataire pour plus d'informations.

Pour mettre en place cette synchronisation, contactez notre support@elevo.io avec les informations suivantes :

  • un contact technique,
  • le nom de votre solution (de laquelle seront synchronisés les utilisateurs),
  • l’adresse ou la plage d’adresses IPs que vous utiliserez pour vous connecter à notre gateway,
  • une clé publique SSH (Minimum RSA size : 3072) que vous utiliserez pour vous connecter.

Le support Elevo vous fournira ensuite :

  • votre identifiant de connexion à notre serveur SFTP,
  • notre clé GPG publique pour le chiffrement des fichiers avant dépôt (optionnel),
  • la confirmation que Elevo est prêt à traiter les fichiers pour synchronisation.
☝️ Effets sur les fonctionnalités Elevo

La synchronisation automatique des utilisateurs entraîne la modification de certains comportements et fonctionnalités d'Elevo :

  • Il n'est plus possible de modifier, depuis Elevo, les attributs des utilisateurs synchronisés,
  • Les utilisateurs ajoutés à votre SIRH seront automatiquement ajoutés à Elevo,
  • Les utilisateurs supprimés de votre SIRH seront automatiquement suspendus sur Elevo
⚙️ Connexion au serveur SFTP Elevo et dépôt de fichier

Le protocole utilisé est le SFTP (SSH File Transfer Protocol). Les sessions sont initiées par vous-même pour l’envoi et la réception des fichiers. Vous disposerez d'un compte dédié, sécurisé par une clé SSH que vous nous aurez fournie. Par ailleurs, il sera nécessaire de nous fournir la liste de vos adresses IP afin de les whitelister au niveau réseau.

Les détails de connexion au serveur SFTP (nom de domaine, port et nom d'utilisateur) vous seront fournis par le support@elevo.io. Une fois la connexion établie les fichiers doivent être déposés dans le dossier "/uploads/users"

💪🏼 Algorithmes supportés

KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-gcm@openssh.com,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com
HostKeyAlgorithms sk-ssh-ed25519-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,sk-ssh-ed25519@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256


🧷 Format du fichier

Vous trouverez sur ces liens les modèles de fichier à compléter : Excel, Google Sheet et CSV.

Contraintes

  • Respecter le format CSV RFC 4180,
  • Le standard CSV défini via RFC4180 interdit explicitement de terminer une ligne par une virgule, sinon cela est interprété comme l’existence d’une colonne additionnelle (section 2.4),
  • Être encodé au format UTF-8,
  • La première ligne doit définir les en-têtes des colonnes,
  • Doit contenir toutes les colonnes obligatoires,
  • Peut ne pas contenir les colonnes optionnelles,
  • Les colonnes non reconnues seront ignorées,
  • Les colonnes peuvent être dans n'importe quel ordre.

Nom du fichier

Le nom de fichier n'a pas d'incidence sur le traitement. Elevo traitera tous les fichiers entrants qui seront déposés dans le bon dossier du serveur SFTP.

Identifiant unique pour les utilisateurs

Pour rendre plus fiable le rapprochement des utilisateurs entre le fichier CSV et les utilisateurs dans l'espace Elevo, le fichier requiert une colonne obligatoire uniq_identifier.

Pour cette colonne il est nécessaire de respecter les conditions ci-dessous :

  • constance : le champ doit rester constant d'une synchronisation à l'autre,
  • unicité stricte : chaque utilisateur doit avoir une valeur différente,
  • valeur : cela peut être par exemple l'ID utilisateur interne utilisé par le système fournissant les données.

💡 Note : le uniq_identifier est une chaîne de caractères et non un champ numérique, ce qui signifie que les valeurs 1 et 001 sont considérées comme des valeurs différentes.

Colonnes du fichier CSV

En-tête de colonne

Obligatoire / Optionnel

Restrictions

Détail

uniq_identifier

Obligatoire

Doit être unique sur l'ensemble des utilisateurs

Identifiant unique pour un utilisateur

email

Obligatoire

(si l'username est vide)

Doit être un email valide et unique parmi les utilisateurs

Email de l'utilisateur

Info : La valeur est convertie en minuscule

username

Obligatoire

(si l'email est vide)

Doit être unique sur l'ensemble des utilisateurs.

Ne peut contenir que des caractères alphanumériques, ainsi que ".", "-" et "_"

Identifiant de l'utilisateur.
Peut être utilisé pour se connecter si l'utilisateur pas d'adresse email.
Peut également être utilisé dans le cas où votre identifiant SSO est différent de l'adresse email.

first_name

Obligatoire

Chaînes de caractères

Prénom de l'utilisateur

Info : La valeur est convertie en Proper Case (Chaque mot commence par une majuscule)

last_name

Obligatoire

Chaînes de caractères

Nom de famille de l'utilisateur

Info : La valeur est convertie en Proper Case (Chaque mot commence par une majuscule)

manager_uniq_identifier

Obligatoire

(Peut être laissée vide)

Doit correspondre à un uniq_identifier d'un autre utilisateur

Identifiant unique pour le manager de l'utilisateur

manager_email

Optionnel

Doit être un email valide ou vide si pas de manager

L'email du manager

Cette valeur n'est pas utilisée lors de la synchronisation, elle peut cependant être utile pour déboguer les synchronisations

Info : La valeur est convertie en minuscule

registration_number

Optionnel

Chaînes de caractères

Numéro ou matricule d'identification

job_title

Optionnel

Chaînes de caractères

Nom du poste

work_start_date

Optionnel

Au format ISO 8601 (ex: 2015-02-25)

Date d'embauche

team_name

Optionnel

Chaînes de caractères

Le nom de l'équipe

department

Optionnel

Chaînes de caractères

Le département

region

Optionnel

Chaînes de caractères

La région, ville ou bureau

gender

Optionnel

Codes de genre (f, F, female, Female, m, M, male, Male, other, Other)

Genre de l'utilisateur

service

Optionnel

Chaînes de caractères

Nom du service, Business Unit,...

level

Optionnel

Chaînes de caractères

Niveau du collaborateur (cadre, non cadre, Niveau 12, Coeff 3.3, etc...)

locale

Optionnel

Langage ISO (en, fr, es, nl, de, it)

Langue de l'employé sur la plateforme Elevo.
Si elle n'est pas remplie, c'est la langue par défaut de votre plateforme qui sera renseignée sur le profil.

working_time_ratio

Optionnel

0 ≤ Nombre entier ≤ 100 (Nombre entier inférieur ou égal à 100, et supérieur ou égal à 0)

Ratio de temps de travail (Par exemple 50 correspondra à 50% donc un mi-temps)

use_sso

Optionnel

Boolean (champ vide ou "false" sont les seules valeurs autorisées )

Cela vous permettra de déterminer si un utilisateur doit se connecter via SSO ou non. Cette colonne n'est utile que si le SSO est configuré sur votre plateforme. Si vous souhaitez que l'utilisateur se connecte via SSO, laissez la colonne vide.

skip

Optionnel

Booléen

Si la valeur est fixée à "true", "yes", "Oui" alors la ligne en question sera complètement exclue de la synchronisation


















➕ Champs additionnels et SFTP

Elevo permet l'ajout de champs additionnels dans le profil des utilisateurs (en savoir plus). Ces champs sont tout à fait compatibles et synchronisables avec le SFTP.

Il est pour cela nécessaire d'ajouter une colonne dans le fichier dédié. L'intitulé exact de la colonne (en-tête) vous sera transmis par notre équipe Support au moment de la création du champ car celui-ci dépend de l'intitulé que vous définissez.

💾 Synchronisation

1️⃣ Retrait des lignes ignorées

Si la colonne skip est définie alors toutes les lignes pour lesquels skip est évalué à "true" sont retirées.

2️⃣ Validation de l'unicité des utilisateurs

Une première validation est faite uniquement sur la colonne uniq_identifier. Si cette colonne contient des valeurs en doublon la synchronisation est annulée et un rapport d'erreur est envoyé.

3️⃣ Réconciliation des données du fichier et des utilisateurs Elevo

Elevo utilise la colonne d'unicité de l'étape 1 du fichier CSV pour la comparer avec les utilisateurs présents sur Elevo.

  • Les utilisateurs présents sur Elevo mais non présents dans le fichier CSV seront désactivés sur Elevo,
  • Les utilisateurs présents dans le fichier CSV mais non présents sur Elevo seront créés sur Elevo à l'étape de synchronisation.

4️⃣ Synchronisation

La synchronisation s'effectue ligne par ligne.

Si une ligne n'est pas valide (données non valides), cette ligne sera ignorée et la synchronisation continuera sur les lignes suivantes. L'utilisateur en question sera marqué en "erreur de synchronisation" et aucun changement ne sera fait pour cet utilisateur.

En cas d'erreur(s), un rapport est envoyé par e-mail sur l'adresse communiquée.