Notice d’installation

Vue d’ensemble

L'implémentation de Greet nécessite une installation de l'extracteur Office sur une VM hébergée dans l'infrastructure client. Cette architecture IaaS permet au client d'appliquer sa couche de sécurité personnalisée et d'avoir une protection renforcée par absence de flux d'entrée à la VM.

image

L'architecture IaaS demandée est composée d'une VM Debian (latest version) type B2MS ou équivalent (>= 2vCPU ; 8 Go RAM ; 30 Go SSD)

L'installation se décompose en 3 étapes :

  • Création de la VM hébergeant l'extracteur
  • Création de l'Azure Vault et enregistrement de l'application sur Azure
  • Création de l'Azure Vault et enregistrement de l'application sur Azure

Déploiement et configuration de l'extracteur Office

  • Déploiement et configuration de l'extracteur Office

Pour réaliser l'installation, vous devez avoir les droits pour :

  • Créer une machine virtuelle sur votre environnement cloud et débloquer les flux sortants nécessaires
  • Créer un coffre Azure Vault et enregistrer une nouvelle application sur votre environnement Azure
  • Accorder les permissions (d'accès à l'API de Microsoft Graph) sur l'application Extracteur Office

Déploiement de l'extracteur Office

Cette partie décrit les étapes pour déployer l'extracteur Office sur votre infrastructure Azure.

Création d'un coffre Azure Vault

Azure Key Vault est la solution de coffre-fort de Microsoft pour stocker des clés de chiffrements, mots de passe ou toute information sensible. Vous trouverez plus d'information sur le site officiel.

Les extracteurs nécessitent une clé de chiffrement pour crytpter les données sensibles. Enregistrer la clé de chiffrement dans Azure Key Vault réduit considérablement le risque de vol. Nous recommandons son utilisation meme si cela n'est pas obligatoire.

Avant de commencer l'enregistrement de la clé sur le service Azure Key Vault, enregistrer une nouvelle application qui sera utilisée pour y accéder. La procédure est décrite ici

  • Sur la vue des coffres de clé du portail Azure, cliquez sur "Créer".
image
  • Renseignez les informations demandées puis cliquez sur "Suivant".
image
  • Créez une nouvelle stratégie d'accès au Vault.
image
  • Dans le select "Configurer à partir d’un modèle" choisissez "Gestion des secrets" , puis cochez les cases correspondantes aux autorisations.
image
  • Sélectionnez l'application inscrite précédemment puis cliquez sur "Suivant".
image
  • Vérifiez la description de la stratégie configurée pour le Vault puis cliquez sur "Créer"
image
  • Sur la page du Vault créé précédemment, créez un nouveau "Secret"
image
  • Renseignez les informations du secret et puis cliquez sur "Créer"
image

Veuillez noter les informations suivantes nécessaires plus tard pour la configuration de l'extracteur:

  • TeantId, clientId et la valeur du secret de l'application qui a accès au Vault (différente de celle de l'extracteur pour une séparation des responsabilités)
  • Nom du vault
  • Nom du secret créé

Inscription de l’application sur Azure

Depuis l’accueil, recherchez “inscription” et cliquez sur “inscriptions des applications”, comme ci-dessous:

image

Cliquez après sur “nouvelle inscription”

image

Mettez un nom et puis cliquez sur le bouton “s’inscrire”

image

Une fois enregistrée, notez bien l’id application et l’id de l’annuaire, ils seront utilisés plus tard pour la configuration de l’extracteur office365 avec le Client secret qui se sera généré à l’étape suivante :

Copier le client Id et le tenant Id

image

Pour générer le Client secret, cliquez sur “certificats & secret”, puis “Nouveau secret client”, mettez une description et ajoutez:

image

N’oubliez pas après de copier dans le presse-papiers ce secret généré:

Copier la valeur du secret

image

Permissions dans le Graph

Maintenant il faut ajouter des permissions pour notre application. Pour cela cliquez sur API autorisé, puis Ajoutez une autorisation et enfin sélectionnez Microsoft graph:

image

Choisissez après les autorisations de l’application:

image

Et sélectionnez la liste suivante:

  • Calendars.Read (Admin only)
  • Directory.Read.All (Admin only)
  • Files.Read.All (Admin only)
  • Group.Read.All (Admin only)
  • Mail.Read (Admin only)
  • MailboxSettings.Read (Admin only)
  • Reports.Read.All (Admin only)
  • Sites.Read.All (Admin only)
  • User.Read.All (Admin only)
  • Tasks.Read.All (Admin only)
  • ChannelMessage.Read.All (Admin only)
  • Chat.Read.All (Admin only)

Une fois l'ensemble des autorisations ajouté, attendez que le bouton "Preparing for consent" finisse de charger:

Accordement des permissions sur Azure

image

Veuillez noter les TeantId, clientId et la valeur du secret nécessaires plus tard pour la configuration de l'extracteur.

Installation de l'extracteur o365

Prérequis Infrastructure

Une fois votre VM créée, configurez votre firewall pour autoriser les flux entrants/sortants suivants:

Source
Destination
Port
Protocol
Domain
Note
Extractor
IP Mongo Greet
27017
TCP/IP (TLS 1.3)
N / A
IP to communicate during deployment
Extractor
Microsoft Graph
443
HTTPS
*.microsoftonline.com and *.microsoft.com
Data collection
Extractor
SFTP Lecko
22
SFTP
Automatic updates and log uploads
Extractor
Azure Vault
443
HTTPS
*.vault.azure.net
Retrieve Secret from Azure Vault
Browser
Extractor
8080
HTTP
dns-server:8080
Temporary incoming stream for extractor configuration

Merci de nous communiquer votre IP public fixe de la VM pour l'autoriser sur notre BDD Mongo. Nous vous communiquerons ensuite les informations suivantes:

  • Adresse IP de votre instance de BDD chez Greet ainsi que les Credentials et les certificats pour le TLS
  • Accès SFTP pour l'upload des logs et les mises à jour automatique
  • URL du package Debian à installer sur la VM de l'extracteur

Pour la configuration de l'extracteur via le wizard, vous aurez besoin d'un accès à l'interface web via http://dns-server:8080/o365/setup

Génération des clés JKS pour MongoDB

Vous avez reçu les credentials et les clés TLS (client.pem et ca.crt) de votre MongoDB chez Greet. La prochaine étape consiste à les convertir au format JKS afin de permettre à l'extracteur de les utiliser. Voici les propriétés nécessaires:

  • javax.net.ssl.trustStore: le chemin vers un trust store contenant le certificat de l'autorité de signature
  • javax.net.ssl.trustStorePassword: le mot de passe pour accéder à ce trust store
  • javax.net.ssl.keyStore: le chemin vers un magasin de clés contenant les certificats SSL du client
  • javax.net.ssl.keyStorePassword: le mot de passe pour accéder à ce magasin de clés

En pratique le client.pem est converti en KeyStore avec un KeyStorePassword et le ca.crt va être directement chargé dans le truststore par défaut de la JRE dans %JAVA_HOME%/lib/security/cacerts afin d'inclure les certificats par défaut nécessaires au bon fonctionnement des programmes Java.

Changer le mot de passe par défaut de la cacerts

Le mot de passe par défaut de la cacerts est changeit. Pour le changer:

  • Connectez vous sur le serveur de l'extracteur
  • Récupérer votre %JAVA_HOME% à travers la commande suivante:
readlink -f /usr/bin/java | sed "s:bin/java::"
  • Notez votre %JAVA_HOME% et générer un nouveau mot de passe new_pass, puis remplacer les dans la commande suivante:
sudo keytool -storepasswd -v -new new_pass -keystore %JAVA_HOME%/lib/security/cacerts

Convertir les clés client.pem et ca.crt en JKS

Maintenant, nous allons générer le keystore.ks à partir du client.pem et importer la ca.crt dans la cacerts de la JDK, pour cela, assurez-vous d'avoir les deux clés client.pem et de ca.crtdans le même dossier puis lancez les commandes ci-dessous:

openssl pkcs12 -export -out client.pkcs12 -in client.pem
keytool -validity 2500 -genkey -keyalg RSA -alias mongoca -keystore truststore.ks
keytool -delete -alias mongoca -keystore truststore.ks
keytool -import -v -trustcacerts -alias mongoca-ca -file ca.crt -keystore truststore.ks
keytool -genkey -keyalg RSA -alias mongoca -keystore keystore.ks
keytool -delete -alias mongoca -keystore keystore.ks
keytool -v -importkeystore -srckeystore client.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS

A l'issue de ces commandes vous aurez les clés et les mots de passes ci-dessous nécessaires plus tard pour la configuration de l'extracteur:

  • le fichier keystore.ks configuré avec le KeyStorePassword
  • le fichier cacerts comme truststore configuré avec le new_pass comme trustStorePassword

Si vous obtenez une erreur de clé dupliqué, vous pouvez retirer l'ancienne avec une commande sous cette forme :

sudo keytool -delete -alias mongo-ca -keystore %JAVA_HOME%/lib/security/cacerts

Configuration du wizard d'installation

1. Se connecter à la machine virtuelle à l'aide de SSH

2. Téléchargez puis installez lecko extractor (L'URL du package Debian est à demander à Lecko) :

wget {URL_Pack_O365}
sudo apt install ./lecko-o365-extractor-jdk17.deb

3. Accédez maintenant à la page Web http://dns-server:8080/o365/setup à partir du navigateur sur lequel vous avez configuré l'accès

Step 1: Accès à Mongo Lecko

image
  • Host : Host de la base de données MongoDB
  • Username : Username de la base de données MongoDB
  • Password : Password de la base de données MongoDB
  • Port: Port de la base de donnée par défaut 27017
  • Database: Base de donnée par défaut o365_extractor (même que ceux d'autres extracteurs)
  • TLS: cochez cette case, ensuite remplir les champs ci-dessous:
image
  • keyStorePathFile: Le chemin absolu vers un magasin de clés contenant le certificat SSL du client
  • keyStorePassword: Le mot de passe pour accéder à ce magasin de clés, par défaut changeit
  • trustStorePathFile: Le chemin vers un trust store contenant le certificat de l'autorité de signature
  • trustStorePassword: Le mot de passe pour accéder à ce trust store par défaut changeit
  • sslInvalidHostNameAllowed: Cochez cette case, car l'application utilise une adresse IP et pas un DNS.

Step 2: Application Azure

image
image
  • ClientID : ID d'application (client)
  • Client Secret : Secrets client (Certificats & secrets)
  • Tenant : ID de l'annuaire (locataire)
image

User, Email, Calendar, Drive, Sharepoint et Teams. Il s'agit de la liste de briques à extraire. Sauf indication contraire, vous pouvez tout laisser à l'état coché.

image

Ces propriétés concernent l'extraction de la partie Teams.

  • Limit extraction to Teams created after date : (Optionnel) les teams crées avant cette date seront ignorés
  • Teams active on the last X monthes filter : (Optionnel) les teams sans activités les X derniers mois seront ignorés
  • Anonymise teams name : Les noms des teams seront chiffrés si cette option est activée
  • Absolute path to the file containing teams : (Optionnel) chemin absolu vers fichier contenant une liste d'id de teams. Une ligne par Id. A moins d'être vide, seule les teams de la liste seront monitorées et extraites.

Step 3: Scope de l'extraction

image
  • Company Name: Nom de votre entreprise
  • Extraction start date : Pour éviter d'extraire des données trop anciennes. Entrez la date de début d'extraction au format YYY-MM-DD
  • Domain filter : pour filtrer sur une liste de noms de domaine à l'extraction
  • User filter : remplissez le champ avec un chemin complet pointant vers un ficher de la VM d'extraction contenant la liste des users à extraire. Si l'option est activée, seules les données des utilisateurs de la liste seront extraites. Dans le fichier, saisir une entrée par ligne, sans virgule. Terminer avec une dernière ligne vide est optionnel. (ne peut pas être selectionné en même temps que Azure group filter)
  • Azure group filter : Remplissez le champ avec un chemin complet pointant vers un ficher de la VM d'extraction contenant la liste des ids des groupes azure à extraire. Si l'option est activée, seules les données des utilisateurs appartenant aux groupes de la liste seront extraites. Dans le fichier, saisir un id de groupe azure par ligne, sans virgule. Finir avec une dernière ligne vide est optionnel. (ne peut pas être selectionné en même temps que User filter)
  • Anonymous sharepoint names : Si selectionnée, les noms et urls des sites Sharepoints seront chiffrés.

Step 4: Azure Vault

image

Cette étape nécessite les informations du Vault configuré ici.

L'utilisation du Vault est conseillée mais n'est pas obligatoire, il est possible d'ignorer cette étape en cochant la case "Ignorer la configuration du Vault"

  • Nom du Vault : Nom du Vault
  • Tenant : ID de l'annuaire (locataire)
  • Client ID : ID d'application ayant accès au Vault (client)
  • Client Secret : Secrets client (Certificats & secrets)
  • Nom du secret : Nom du secret créé dans le Vault

Step 5: Configuration du SFTP

image

L'utilisation du SFTP est conseillée, mais n'est pas obligatoire, il est possible d'ignorer cette étape en cochant la case "Ignorer la configuration du SFTP".

L'extracteur se met à jour de manière autonome, configurer une mise à jour automatique avec le SFTP ajouter un niveau de sécurité supplémentaire, car on s'assure de l'authenticité des paquets de mise à jour téléchargés.

  • Serveur : Adresse du serveur SFTP
  • Utilisateur : Nom de l'utilisateur du compte SFTP
  • Chemin clé : Chemin de la clé du compte SFTP sur le serveur de l'extracteur
  • Autoriser l'envoi des logs vers le serveur sftp : Envoi les logs de l'extraction vers le serveur sftp afin de le rendre rapidement accessible dans les opérations de maintenance.

Step 6: Ajout du Salt

image
  • Salt for hashing : Secret utilisé pour le chiffrement des emails et les usernames, il faut utiliser le même salt configuré pour autres les extracteurs.

4. Redémarrez le service de l'extracteur via la commande suivante:

sudo systemctl restart lecko-extractor

5. Allez au tableau de bord et inspectez l'extraction avec le menu

Toutes nos félicitations ! Vous avez configuré avec succès Lecko office 365 Extractor

Pour vérifier les logs générales de l'extracteur, tapez la commande suivante:

sudo tail -f /opt/lecko-extractor/log/extraction.log

Mise en place de l'HTTPS (optionnel)

Pour accéder au wizard de l'installation via HTTPS, commencez par générer des certificats par la CA de l'entreprise ou bien créer des certificats auto-signés. Faites ensuite la configuration directement sur le fichier /opt/lecko-extractor/application.yml

Le framework de l'extracteur accepte uniquement les clés privé de type PKCS12, si vous avez déjà des certificats PEM il est possible de les convertir via la commande suivante:

openssl pkcs12 -export -in fullchain.pem -inkey privey.pem -out keystore.p12 -name tomcat - CAfile chain.pem -caname root

Autrement, il est possible de générer un certificat PKCS12 directement avec la commande suivante:

cd /opt/lecko-extractor
keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore-ssl-key.p12 -validity 365

Vous serez amené à entrer des informations sur votre identité, celle de votre entreprise ainsi qu'un mot de passe. La clé générée est sous le nom de keystore-ssl-key.p12

Maintenant créer le fichier de la configuration /opt/lecko-extractor/application.yml après avoir arrêter le service avec les commandes suivantes:

sudo systemctl stop lecko-extractor.service
sudo nano application.yml

Ensuite mettez la configuration de la SSL comme ci-dessous:

isForceEnterSetup: true
security:
  require-ssl: true
server:
  port: 8443
  ssl:
    key-store: keystore-ssl-key.p12
    key-store-type: PKCS12
    key-store-password: {PASSWORD}

Une fois la configuration est sauvegardée l'interface sera accessible uniquement via https par le lien https://dns-server:8443/o365/setup

Déploiement de l'extracteur Yammer

Vous pouvez révoquer un token à tout moment afin qu’il ne soit plus utilisé, pour cela :

Entrer ce lien : https://www.yammer.com/{network_name}/account/applications

Cela vous amène vers la page et révoquer l’accès (un message confirme)

image

Installation de l'extracteur Yammer

  1. TSe connecter d’abord à la machine virtuelle à l'aide de SSH.
  2. Demandez le nouveau url du package auprès de Lecko, puis lancez les commandes suivantes:
wget {URL_Pack_Yammer}
sudo apt install ./lecko-yammer-extractor-jdk17.deb

L'extracteur Yammer dispose d'une interface de configuration permettant la génération d'une configuration chiffrée, passer par ce mode est vivement conseillé.

Le Wizard est accessible via navigateur, si vous passer par internet pour configurer votre extracteur il faudrait sécuriser les échanges entre votre navigateur et l'extracteur Yammer, pour cela il faudrait installer un serveur Apache ou Ngnix (selon votre choix) ainsi que Certbot dans le but d'activer le HTTPS.

image

Mongo DB

  • username : Username de la base de données MongoDB
  • password : Password de la base de données MongoDB
  • host : Host de la base de données MongoDB
  • port: Port de la base de donnée par défaut 27017
  • database: Base de donnée par défaut o365_extractor (même que celle de l'extracteur o365)
  • withTLS: Mettre à true si vous souhaitez activer le TLS, la configuration de MongoDB et la génération des clés JKS sont nécessaire, ensuite vous aurez à remplir les champs ci-dessous:
  • keyStorePathFile: Le chemin absolu vers un magasin de clés contenant les certificats SSL du client
  • keyStorePassword: Le mot de passe pour accéder à ce magasin de clés, par défaut changeit
  • trustStorePathFile: Le chemin vers un trust store contenant le certificat de l'autorité de signature
  • trustStorePassword: Le mot de passe pour accéder à ce trust store par défaut changeit
  • sslInvalidHostNameAllowed: Définit si les noms d'hôte non valides peuvent être autorisés, nécessaire si on passe par des tunnels ou des redirections

Connexion Yammer

  • Compagny name: Nom de l’entreprise
  • Yammer access token: Token généré de l'API Yammer

Mise à jour via SFTP

L'extracteur dispose d'un système de mise à jour automatique sécurisé via Azure SFTP, son utilisation est optionnelle mais reste fortement recommandée.

  • host: Adresse du serveur sftp
  • user: Nom du compte sftp
  • keyPath: Chemin vers la clé de connexion du compte sftp
  • clientName: Nom du client faisant tourner l'instance
  • allowPushLog: Autorise l'envoi de fichiers de logs vers le serveurs sftp.

Sécurité des données

  • Salt for hashing : Secret utilisé pour le chiffrement des emails et les usernames, il faut utiliser le même salt configuré pour les extracteurs office 365 et yammer.

Il est possible de configurer l'extracteur manuellement sans passer par le Wizard, pour cela ouvrer le fichier de configuration:

sudo nano /opt/lecko-yammer-extractor/application.yml

Copiez le template ci-dessous puis renseignez les valeurs:

spring:
  application:
    name: Yammer Extractor
  data:
    mongodb:
      host:
      username:
      password:
      port:
      database:
      authentication-database:
      withTLS: false
      keyStorePathFile:
      keyStorePassword:
      trustStorePathFile:
      trustStorePassword:
      sslInvalidHostNameAllowed: true
extractor:
  nbDays: -2000
  accessToken:
  extractUsers: true
  extractGroups: true
  extractEvents: true
  newerOlder: older_than
  numberOfThreads: 10
  clientName:
  saltForHashing:
security:
  sftp:
    host:
    user:
    keyPath:
    clientName:
    allowPushLog:
  • host : Host de la base de données MongoDB
  • username : Username de la base de données MongoDB
  • password : Password de la base de données MongoDB
  • port: Port de la base de donnée par défaut 27017
  • database: Base de donnée par défaut o365_extractor (même que celle de l'extracteur o365)
  • withTLS: Mettre à true si vous souhaitez activer le TLS, la configuration de MongoDB et la génération des clés JKS sont nécessaire, ensuite vous aurez à remplir les champs ci-dessous:
  • keyStorePathFile: Le chemin absolu vers un magasin de clés contenant les certificats SSL du client
  • keyStorePassword: Le mot de passe pour accéder à ce magasin de clés, par défaut changeit
  • trustStorePathFile: Le chemin vers un trust store contenant le certificat de l'autorité de signature
  • trustStorePassword: Le mot de passe pour accéder à ce trust store par défaut changeit
  • sslInvalidHostNameAllowed: Définit si les noms d'hôte non valides peuvent être autorisés, nécessaire si on passe par des tunnels ou des redirections
  • nbDays: -2000 (Remettre à -5 une fois la première extraction est faite)
  • accessToken: Token généré de l'API Yammer
  • clientName: Mettez le nom de l’entreprise
  • saltForHashing: Secret utilisé pour chiffrer les emails des utilisateurs, utiliser la même configurée sur l’extracteur office 365 et Teams

L'extracteur dispose d'un système de mise à jour automatique sécurisé via Azure SFTP, son utilisation est optionnelle mais reste fortement recommandée.

  • host: Adresse du serveur sftp
  • user: Nom du compte sftp
  • keyPath: Chemin vers la clé de connexion du compte sftp
  • clientName: Nom du client faisant tourner l'instance
  • allowPushLog: Autorise l'envoi de fichiers de logs vers le serveurs sftp.

Ensuite redémarrer le service de l'extraction:

sudo systemctl restart lecko-yammer-extractor.service

Pour vérifier que l’extracteur est bien démarré, exécuter cette ligne de commande:

sudo systemctl status lecko-yammer-extractor.service

Pour suivre l'évolution de l'extraction grâce au fichier de log de l’extracteur, exécuter cette ligne de commande:

sudo tail -f  /opt/lecko-yammer-extractor/log/extraction.log

Toutes nos félicitations ! Vous avez configuré avec succès Yammer Extractor

Maintenance des services

L'extracteur Office 365

Deux services sont installés par défaut sur le package de l'extracteur office 365:

  • lecko-extractor.service: permet de lancer l'extraction office 365
  • lecko-extractor-updater.service: permet de mettre à jour automatiquement les mises à jour de l'extracteur office 365

Vérification de l'état des services

Les deux services sont lancés automatiquement au démarrage de la machine, en conséquence aucune action est nécessaire lors du redémarrage du serveur.

Par ailleurs, pour connaitre l'état des services, lancer les commandes ci-dessous:

 sudo systemctl status lecko-extractor

Le service devrait être active et la commande doit renvoyé un résultat similaire:

image

De même pour le deuxième service:

sudo systemctl status lecko-extractor-updater

Le service devrait être Loaded et active depuis moins de 10 min avec un status0/Sucess comme ci-dessous:

image

Démarrage et arrêt des services

Pour arrêter, démarrer ou redémarrer les deux services, il suffit de lancer respectivement les commandes ci-dessous:

sudo systemctl stop lecko-extractor
sudo systemctl start lecko-extractor
sudo systemctl restart lecko-extractor
sudo systemctl stop lecko-extractor-updater
sudo systemctl start lecko-extractor-updater
sudo systemctl restart lecko-extractor-updater

Vérification des logs des services

Les différents fichiers de log produits par les services de l'extraction sont disponible sur le dossier /opt/lecko-extractor/log

Pour consulter la liste de logs existants, tapez la commande suivante:

ls /opt/lecko-extractor/log

Les services produisent 4 fichiers de log:

  • error.log: contient les logs d'erreur de l'extraction
  • notification.log: contient les logs des notifications de push de Microsoft pour les call records
  • extraction.log: contient toutes les logs d'extraction
  • update.log: contient les journaux du service lecko-extractor-updater

Pour suivre les logs d'extraction, tapez la commande ci-dessous:

tail -f /opt/lecko-extractor/log/extraction.log

Renouvellement du secret de l'application Azure

Que ça soit l'application Azure de l'extracteur ou celle qui a accès au Vault, les secrets des applications Azure ont une durée d'expiration (par défaut 6 mois), il faudra anticiper leur expiration au moins une semaine en avance. quand un nouveau secret est créé, il faudra l'encrypter puis le remplacer directement sur le fichier application.yml

Pour encrypter une valeur via l'extracteur, mettez la dans la propriété secretToEncrypt de l'application.yml

sudo nano /opt/lecko-extractor/application.yml

Un job d'encryptage passe chaque 15min pour encrypter la valeur afin de générer:

  • secretEncrypted valeur à mettre dans security.oauth2.client.clientSecret quand il s'agit du renouvellement de l'App Azure de l'extracteur
  • secretDefaultEncrypted valeur à mettre dans security.vault.clientSecret quand il s'agit du renouvellement de l'App Azure vault

Enfin il faudra redémarrer le service pour que les changements prennent effet:

sudo systemctl restart lecko-extractor

L'extracteur Yammer

Deux services sont installés par défaut sur le package de l'extracteur yammer:

  • lecko-yammer-extractor.service: permet de lancer l'extraction yammer
  • lecko-yammer-extractor-updater.service: permet de mettre à jour automatiquement les mises à jour de l'extracteur yammer

Vérification de l'état des services

Les deux services sont lancés automatiquement au démarrage de la machine, en conséquence aucune action est nécessaire lors du redémarrage du serveur.

Par ailleurs, pour connaitre l'état des services, lancer les commandes ci-dessous:

 sudo systemctl status lecko-yammer-extractor

Le service devrait être active et la commande doit renvoyé un résultat similaire:

image

De même pour le deuxième service:

sudo systemctl status lecko-yammer-extractor-updater

Le service devrait être Loaded et active depuis moins de 10 min avec un status0/Sucess comme ci-dessous:

image

Démarrage et arrêt des services

Pour arrêter, démarrer ou redémarrer les deux services, il suffit de lancer respectivement les commandes ci-dessous:

sudo systemctl stop lecko-yammer-extractor
sudo systemctl start lecko-yammer-extractor
sudo systemctl restart lecko-yammer-extractor
sudo systemctl stop lecko-yammer-extractor-updater
sudo systemctl start lecko-yammer-extractor-updater
sudo systemctl restart lecko-yammer-extractor-updater

Vérification des logs des services

Les différents fichiers de log produits par les services de l'extraction sont disponible sur le dossier /opt/lecko-yammer-extractor/log

Pour consulter la liste de logs existants, tapez la commande suivante:

ls /opt/lecko-yammer-extractor/log

Les services produisent 3 fichiers de log:

  • error.log: contient les logs d'erreur de l'extraction yammer
  • extraction.log: contient toutes les logs d'extraction yammer
  • update.log: contient les journaux du service lecko-yammer-extractor-updater

Pour suivre les logs d'extraction, tapez la commande ci-dessous:

tail -f /opt/lecko-yammer-extractor/log/extraction.log

Accepter l'application Greet sur Azure

Lors de la première tentative de connexion à Greet, l'application devra être "acceptée" dans Azure par l'admin Microsoft 365.

  1. Faire une première de tentative de connexion via SSO
  2. Attendre l'échec de celle-ci
  3. Demander à l'admin 365 de suivre la procédure suivante pour accepter l'application Greet : https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/review-admin-consent-requests

Export fichier HAR

Le fichier HAR fournit des données de log permettant d'analyser les interactions entre le navigateur et le serveur. Cela nous aide à diagnostiquer le problème.

  1. Ouvrir une fenêtre de navigation privée
  2. Clic droit, choisir "inspecter" dans le menu
  3. Aller sur l'url de Greet
  4. Se positionner dans l'onglet "réseau" dans la fenêtre qui s'est ouverte à droite
  5. S'identifier en cliquant sur le bouton "Se connecter avec Microsoft 365"
  6. Télécharger le fichier .har en cliquant sur le bouton "export HAR"
  7. Nous le transmettre le fichier

En complément, ci-dessous une vidéo montrant le déroulé de ces étapes.

HowTo_Export_HAR_file.mp418017.2KB