Portée et Objectif de ce Document
Ce document a été créé pour présenter les différentes manières d'intégrer le Carnet d'Adresses FacilityOS avec votre annuaire actif (AD) hébergé localement ou votre système d'entreprise Azure/Microsoft Entra ID dans le but d'automatiser la saisie et la maintenance des données. L'objectif est de maintenir le Carnet d'Adresses FacilityOS à jour avec les dernières données des employés via une synchronisation avec un autre système métier. L'approche doit être sécurisée, efficace et garantir le niveau souhaité de conformité et de confidentialité.
Sécurité et Confidentialité des Données
Ce document relève des politiques de confidentialité et de sécurité de FacilityOS qui imposent un niveau suffisant de chiffrement et de segmentation des données sur toute la plateforme. Pour les besoins de ce document, les directives suivantes doivent être respectées:
- Un chiffrement TLS 1.2 minimum doit être utilisé pour tous les transferts de données
- Toutes les soumissions de données doivent être tokenisées ou identifiées de manière unique à l'aide d'une clé ID et d'un secret uniques, délivrés à un client spécifique. Un client peut disposer de plusieurs clés, mais chaque clé ne peut être assignée qu'à un seul client.
- Les clés/tokens expirés ne doivent pas être réutilisés
- Toutes les données doivent transiter directement du système client vers la zone protégée de FacilityOS. Aucun serveur ou dépôt intermédiaire ne doit être utilisé, sauf s'il est dans le périmètre et fait partie de la plateforme FacilityOS. En aucun cas, FacilityOS ne demandera au client de poster des données vers un serveur non sécurisé, même temporairement.
- Des connexions VPN et des restrictions IP peuvent être utilisées pour renforcer la sécurité des données
Synchronisation des Données
Avant la synchronisation, veuillez noter que si un enregistrement manuel existe pour l'entrée, pour que l'enregistrement AD soit synchronisé, l'enregistrement manuel devra être supprimé. Nous ne remplaçons ni n'éliminons les doublons si un enregistrement manuel existe, ils sont traités séparément. Les enregistrements manuels doivent être supprimés afin d'éviter des entrées dupliquées manuelles et synchronisées. Les données sont synchronisées en fonction de l'adresse e-mail de l'entrée dans le carnet d'adresses.
Plusieurs options sont disponibles pour les clients souhaitant synchroniser des carnets d'adresses pour plusieurs sites. Si c'est une exigence, veuillez contacter support@facilityos.com pour connaître les options disponibles.
Option d'Intégration : Azure / Office 365
Pour configurer la synchronisation entre votre annuaire Microsoft Azure Active Directory (Azure AD) et votre Carnet d'Adresses FacilityOS, suivez ces étapes :
- Demandez l'URL d'Intégration à FacilityOS :
- Contactez le support FacilityOS pour obtenir une URL web sécurisée hébergée sur la plateforme FacilityOS. Cette URL initie la connexion entre FacilityOS et votre Azure AD.
- Autorisez l'accès de FacilityOS dans Azure AD :
- Cliquez sur l'URL FacilityOS fournie.
- Vous serez invité à vous connecter avec vos identifiants Azure AD
- Examinez et approuvez les demandes d'autorisation. FacilityOS nécessite un accès en lecture seule à vos données Azure AD pour synchroniser les informations des employés.
- Après approbation, FacilityOS recevra un jeton d'authentification d'Azure AD pour maintenir un accès continu.
- Application d'Entreprise FacilityOS dans Azure :
- Après autorisation, une Application d'Entreprise nommée "FacilityOS" (ou iLobby) apparaîtra dans votre portail Azure AD.
- Cette application représente la connexion et peut être gérée ou supprimée selon les besoins.
- Comportement de la Synchronisation :
- FacilityOS récupérera les données des employés basées sur les adresses e-mail.
- Les nouveaux employés dans Azure AD seront ajoutés au Carnet d'Adresses FacilityOS.
- Les employés n'étant plus présents dans Azure AD seront supprimés dans FacilityOS.
- La synchronisation est en lecture seule et automatisée une fois configurée.
- Sites Multiples (le cas échéant) :
- Si vous devez synchroniser des carnets d'adresses pour plusieurs sites ou emplacements, contactez le support FacilityOS pour des options personnalisées.
- Vérifiez la Synchronisation dans FacilityOS :
- Connectez-vous au Portail Visiteur FacilityOS.
- Allez dans Gérer > Carnet d'Adresses pour voir les profils employés synchronisés.
- Confirmez que les données des employés telles que nom, e-mail, téléphone et affectations de site sont correctement renseignées.
- Veuillez consulter les Écrans d'Intégration Office 365 en exemple à la fin de ce document pour plus de détails.
Exemples d'Écrans d'Intégration Office 365
Sur demande, le support FacilityOS fournira au client un lien d'intégration unique pour établir la connexion entre l'installation O365 du client et FacilityOS. Après avoir accédé au lien, le client verra les écrans suivants :
Sélection du Compte
Cet écran permet au client de sélectionner le compte utilisateur avec lequel le lien d'intégration sera établi :
Écran des Permissions
Une fois le compte sélectionné, notre application devra être autorisée et se voir accorder les permissions nécessaires pour accéder au contenu de l'installation Office 365 du client :
Liste des Applications
Notre application peut maintenant être gérée dans la liste des applications et services installés sous la liste des Applications d'Entreprise dans l'onglet Gestion de votre portail de gestion Office 365 :
Option d'Intégration : AD Hébergé Localement
Votre carnet d'adresses FacilityOS peut être alimenté avec les données AD en exécutant le script PowerShell fourni (voir pièce jointe) sur le serveur client. Il s'agit d'une action de poussée, où le client contrôle entièrement quelles données sont envoyées au serveur FacilityOS et à quelle fréquence. À titre indicatif, nous recommandons que seules les données pertinentes soient soumises et que la fréquence soit réglée à une fois par jour.
Sur demande, FacilityOS fournira au client une clé API à utiliser pour la transmission. La clé doit être insérée dans la partie requise du script PowerShell fourni. Le script peut être modifié pour refléter la structure AD du client et se compose des principales parties suivantes :
- Interrogation de l'AD pour obtenir une liste d'utilisateurs avec les champs spécifiés et au sein des groupes AD spécifiés
- Création d'un fichier CSV contenant la liste
- Téléversement du fichier CSV vers l'API Web FacilityOS en utilisant la clé délivrée
Plusieurs sites peuvent être synchronisés à l'aide d'un seul fichier CSV en spécifiant le site correct selon le format d'exemple ci-dessous, ou en demandant des clés API uniques pour chaque site afin de soumettre des fichiers CSV séparés et spécifiques à chaque site.
Option d'Intégration : Intégration Personnalisée
Le carnet d'adresses FacilityOS peut être alimenté avec des données provenant de n'importe quelle source en soumettant un fichier CSV préformaté à l'API FacilityOS. À titre indicatif, nous recommandons que seules les données pertinentes soient soumises et que la fréquence soit réglée à une fois par jour.
Sur demande, FacilityOS fournira au client une clé API à utiliser pour la transmission ainsi que le format de la requête URL. Le fichier CSV soumis doit respecter les normes de format FacilityOS afin d'être traité. Un format d'exemple est joint.
Exemple de script PowerShell
Voir ci-dessous un exemple du script PowerShell mis à jour pour la synchronisation du Carnet d'Adresses au format .CSV.
is this a powershell script? SAMPLE POWERSHELL SCRIPT, CHANGE EXTENSION TO .PS1 PRIOR TO EXECUTION#
<# 1. DEFINE SEARCH LOCATIONS #>
$OULocation="OU=Users,DC=TOR"
<# 2. SET API CREDENTIALS #>
$client_id = ''
$client_secret = ''
<# 3. SET OUTPUT DIRECTORY #>
$sourceFilePath = $PSScriptRoot + "\adextract.csv"
<# 4. SET UP USER PROPERTIES TO EXPORT #>
$fields = @('mail','DisplayName','telephoneNumber','HomePhone')
<# ACTIVE DIRECTORY USER EXPORT TO CSV FILE #>
Import-Module ActiveDirectory
$Users = Get-ADUser -Filter {Enabled -eq "True"} -SearchBase $OULocation -SearchScope Subtree -Properties $fields | select $fields
$Users | Export-Csv $sourceFilePath -NoTypeInformation -Force
<# GET TOKEN #>
$headers=@{}
$headers.Add("Content-Type", "application/x-www-form-urlencoded")
$response = Invoke-WebRequest -Uri 'https://partnerapi.goilobby.com/auth/connect/token' -Method POST -Headers $headers -Body "grant_type=client_credentials&client_id=$($client_id)&client_secret=$($client_secret)"
$token = ConvertFrom-Json $response.Content
$access_token = $token.access_token
<# UPLOAD CSV FILE TO ILOBBY API #>
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
$urlDest = "https://partnerapi.goilobby.com/addressbook/uploadcsv";
$webClient = New-Object System.Net.WebClient;
$webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
$webClient.Headers.Add("Authorization", "Bearer $($access_token)");
$resp = $webClient.UploadFile($urlDest, "POST", $sourceFilePath);
$enc = [System.Text.Encoding]::ASCII
$enc.GetString($resp)Format d'exemple de fichier CSV
PRENOM,NOM,TITRE,DIVISION,EMAIL,MOBILE,TELEPHONE_FIXE,SITE
Rob,Jones,Manager,Management,rob.jones@test.com,4169998888,4169997777,Toronto
REMARQUE : Lors de l'inclusion de la colonne "SITE", veuillez vous assurer que les valeurs pour tous les enregistrements correspondent aux noms des sites dans le portail FacilityOS.