Modification du readme avec les instructions
de configuration et d'installation des scripts.
This commit is contained in:
106
README.md
106
README.md
@ -1,6 +1,25 @@
|
||||
# Scripts Airwatch GLPI
|
||||
|
||||
## Explication de l'usage des scripts :
|
||||
## Explication de l'usage des scripts et de la configuration :
|
||||
|
||||
### Fichier de configuration global settings.json
|
||||
Les scripts prennent les informations de configuration du fichier settings.json, si celui-ci n'existe pas au lancement d'un script, il est automatiquement créé avec des valeurs d'exemples.
|
||||
Voici une liste des paramètres du fichier de configuration et les valeurs attendues (chaque valeur doit être entre " ") :
|
||||
|
||||
- **"airwatchServer"**: l'adresse du serveur Airwatch
|
||||
- **"airwatchAPIKey"**: la clé API récupéré dans Airwatch
|
||||
- **"airwatchAuthMethod"**: défini la méthode d'authentification, peut prendre la valeur ***"CMSURL"*** pour l'authentification par certificat ou ***"password"*** pour l'authentification par mot de passe.
|
||||
- **"airwatchCertPath"**: le chemin vers le certificat si la méthode d'authentification est par certificat.
|
||||
- **"airwatchCertPass"**: le mot de passe du certificat si celui-ci en possède un, laissez une chaîne vide si vous n'avez pas mis de mot de passe.
|
||||
- **"airwatchAPIUser"**: le nom de l'utilisateur pour l'authentification API dans Airwatch.
|
||||
- **"airwatchAPIPassword"**: le mot de passe de l'utilisateur si l'authentification par mot de passe est choisie.
|
||||
- **"glpiServer"**: l'adresse du serveur GLPI avec un / à la fin.
|
||||
- **"glpiAppToken"**: le token d'application GLPI.
|
||||
- **"glpiUserToken"**: le token de l'utilisateur GLPI utilisé pour les requêtes API.
|
||||
- **"stagingUser"**: le nom du compte de staging présent dans Airwatch.
|
||||
- **"userAgent"**: Un nom pour l'user agent tel qu'il sera visible dans GLPI, cela permet d'identifier l'instance Airwatch (Prod / Pré-prod) par exemple.
|
||||
|
||||
---
|
||||
|
||||
### syncGLPI.py
|
||||
Le script syncGLPI.py permet de synchroniser les données des appareils présents dans Airwatch avec un inventaire GLPI.
|
||||
@ -26,6 +45,8 @@ Ce script possède les paramètres suivants qui sont optionnels pour son exécut
|
||||
- **-searchValue** : la valeur pour la recherche lorsque -searchFilter est utilisé
|
||||
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
|
||||
|
||||
---
|
||||
|
||||
### StagingUserAssignation.py
|
||||
Le script StagingUserAssignation.py permet d'assigner les appareils en staging qui sont assignés à un utilisateur de staging à l'utilisateur renseigné dans l'inventaire GLPI.
|
||||
|
||||
@ -35,8 +56,85 @@ Il récupère le nom de l'utilisateur de staging dans le fichier settings.json.
|
||||
- **-debug** : affiche des informations lors de son exécution, utile pour résoudre des problèmes liés à des droits d'accès API ou des problèmes d'ouvertures réseaux
|
||||
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
|
||||
|
||||
### Fichier de configuration global settings.json
|
||||
Les scripts prennent les informations de configuration du fichier settings.json, si celui-ci n'existe pas au lancement d'un script, il est automatiquement créé avec des valeurs d'exemples.
|
||||
## Installation des scripts
|
||||
|
||||
TO DO
|
||||
Pour installer les scripts :
|
||||
|
||||
1. Télécharger le contenu de ce projet dans un répertoire du serveur :
|
||||
|
||||
```
|
||||
git clone https://gitlab.forge.education.gouv.fr/jsecula/glpi-airwatch-sync.git
|
||||
```
|
||||
|
||||
2. Modifier le contenu du fichier de configuration global (settings.json) avec les valeurs correspondant à votre infrastructure.
|
||||
Les clés et certificats API se récupèrent aux emplacements suivants :
|
||||
- **Clé API Airwatch**: Groupes et Paramètres > Tous les paramètres > Système > Avancé > Interface de programmation (API) > API REST
|
||||
|
||||
- **Certificat Airwatch**: lors de la création ou la modification d'un utilisateur Admin
|
||||
|
||||
- **Token d'application GLPI**: Configuration > Générale > API
|
||||
|
||||
- **Token utilisateur GLPI**: Administration > Utilisateurs > choisir l'utilisateur > Jeton d'API
|
||||
|
||||
3. Lancement automatique avec systemd :
|
||||
|
||||
Création des services et des timers dans /etc/systemd/system/ :
|
||||
|
||||
**airwatchSync.service**
|
||||
```
|
||||
[Unit]
|
||||
Description=Script Airwatch pour la synchronisation des données Airwatch et GLPI.
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/opt/airwatchSync
|
||||
ExecStart=/opt/airwatchSync/syncGLPI.py
|
||||
User=root
|
||||
```
|
||||
**airwatchSync.timer** (exécution toutes les heures)
|
||||
```
|
||||
[Unit]
|
||||
Description=Script Airwatch pour la synchronisation des données Airwatch et GLPI.
|
||||
|
||||
[Timer]
|
||||
OnUnitInactiveSec=1h
|
||||
AccuracySec=1us
|
||||
Unit=airwatchSync.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
```
|
||||
|
||||
**airwatchStaging.service**
|
||||
```
|
||||
[Unit]
|
||||
Description=Script qui assigne les appareils en staging aux utilisateurs en se basant sur GLPI.
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/opt/airwatchSync
|
||||
ExecStart=/opt/airwatchSync/StagingUserAssignation.py
|
||||
User=root
|
||||
```
|
||||
|
||||
**airwatchStaging.timer** (exécution toutes les minutes)
|
||||
```
|
||||
[Unit]
|
||||
Description=Script qui assigne les appareils en staging aux utilisateurs en se basant sur GLPI.
|
||||
|
||||
[Timer]
|
||||
OnUnitInactiveSec=1m
|
||||
AccuracySec=1us
|
||||
Unit=airwatchSync.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
```
|
||||
|
||||
Rechargement de systemd et activation des timers
|
||||
```
|
||||
systemctl daemon-reload
|
||||
systemctl enable airwatchSync.timer airwatchStaging.timer
|
||||
systemctl start airwatchSync.timer airwatchStaging.timer
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user