|
| 1 | +--- |
| 2 | +lang: en-US |
| 3 | +title: Cycle de vie |
| 4 | +description: Gestion du cycle de vie des identités |
| 5 | +--- |
| 6 | + |
| 7 | +# Gestion du cycle de vie |
| 8 | + |
| 9 | +Sesame comprend une fonctionnalité de gestion du cycle de vie des identités. Elle permet de gérer les transitions de statut automatiquement selon des règles établies. |
| 10 | + |
| 11 | +## Activation |
| 12 | +Par défaut le cycle de vie n'est pas actif. Pour l'activer il suffit d'ajouter un point de montage pour le conteneur sesame-orchestrator |
| 13 | +* Dans docker-compose section **sesame-orchestrator** -> **volumes** ajouter |
| 14 | +``` |
| 15 | +- ./configs/sesame-orchestrator/lifecycle:/data/configs/lifecycle |
| 16 | +``` |
| 17 | +* redémarrer votre container |
| 18 | +``` |
| 19 | +#docker compose up -d |
| 20 | +``` |
| 21 | + |
| 22 | +## Configuration |
| 23 | +La configuration se fait à l'aide de fichiers yml situé dans le volume (./configs/sesame-orchestrator/lifecycle) |
| 24 | + |
| 25 | +### Noms des fichiers |
| 26 | +Les noms de fichiers dans le répertoire **./configs/sesame-orchestrator/lifecycle**. Les fichiers seront traités par ordre alphabétique. |
| 27 | + |
| 28 | + |
| 29 | +### Structure d'un fichier cycle de vie |
| 30 | + |
| 31 | +#### **Forme 1** : sélection des identités par une régle |
| 32 | +```yml |
| 33 | +identities: |
| 34 | + - sources: ['I', 'W'] |
| 35 | + rules: { |
| 36 | + 'inetOrgPerson.employeeType': 'TAIGA', |
| 37 | + } |
| 38 | + target: D |
| 39 | +``` |
| 40 | +* **identities** : le fichier doit avoir toujour cette clé en point d'entrée |
| 41 | +* **sources** : tableau de declenchement selon le statut sous la forme [ status1, status2, ... ]. Dans l'exemple ci dessus ce lifecyle sera déclencher sur le status I (Inactive) ou W(En Attente) |
| 42 | +
|
| 43 | +Rappel des statuts : |
| 44 | +
|
| 45 | +| Lettre | statut | |
| 46 | +|--------|-------------| |
| 47 | +| W | En attente | |
| 48 | +| O | Officiel | |
| 49 | +| A | Active | |
| 50 | +| P | Provisionné | |
| 51 | +| I | Inactive | |
| 52 | +| D | Supprimé | |
| 53 | +
|
| 54 | +* **rules** : Requète mongo de selection des identités concernées (voir la documentation Mongo. Vous pouvez tester directement la règle avec un editeur Mongo) |
| 55 | +
|
| 56 | +Dans cet exemple seul les identités venant de Taiga seront concernées |
| 57 | +
|
| 58 | +* **target** : statut resultant |
| 59 | +Dans cet exemple toutes les identités qui auront le statut Inactive ou En attente seront passé en statut Supprimé |
| 60 | +
|
| 61 | +
|
| 62 | +#### **Forme 2** : séléction par trigger |
| 63 | +
|
| 64 | +```yml |
| 65 | +identities: |
| 66 | + - sources: ['I'] |
| 67 | + trigger: -36d |
| 68 | + target: D |
| 69 | + |
| 70 | +``` |
| 71 | +La balise **rules** est remplacée par la balise **trigger** . Elle permet de definir un delai entre 2 statuts |
| 72 | + |
| 73 | +* trigger : nombre negatif representant une periode (jour) d'attente entre les deux statuts |
| 74 | +Dans l'exemple ci dessus les identitées etant inactive seront supprimées apres un delai de 36 jours de leur passage en inactive |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
0 commit comments