21.1 À propos du provisioning basé sur le workflow

Une fonction clé d'Identity Manager est le provisioning basé sur le workflow, c'est-à-dire le processus qui consiste à gérer l'accès des utilisateurs à des ressources sécurisées au sein d'une organisation. Ces ressources peuvent inclure des entités numériques telles que des comptes utilisateur, des ordinateurs et des bases de données. Dans la présente version, les ressources provisionnées sont associées à des droits Identity Manager.

Identity Manager peut prendre en charge une vaste gamme de requêtes de provisioning. Les requêtes de provisioning sont des opérations utilisateur ou système conçues pour accorder ou révoquer l'accès à des ressources organisationnelles. Elles peuvent être lancées directement par l'utilisateur final via l'application utilisateur Identity Manager ou indirectement en réponse à des événements qui se produisent dans le coffre-fort d'identité (eDirectory).

Lorsqu'une requête de provisioning requiert l'autorisation d'un ou de plusieurs individus au sein d'une organisation, cette requête lance un workflow. Ce workflow coordonne les approbations nécessaires pour exécuter la requête. Certaines requêtes de provisioning nécessitent l'approbation d'un seul individu ; d'autres requièrent l'approbation de plusieurs individus. Dans certains cas, une requête peut même être effectuée sans aucune approbation.

Certains workflows requièrent que les traitements soient effectués en mode séquentiel, c'est-à-dire que chaque étape de l'approbation est exécutée par ordre séquentiel. D'autres workflows prennent en charge des traitements parallèles. Lorsque vous définissez une requête de provisioning, indiquez si vous voulez que le workflow prenne en charge les traitements en mode séquentiel ou parallèle.

Identity Manager propose un ensemble d'outils basés sur le Web qui permettent à l'administrateur de créer des fonctionnalités de provisioning dans l'application utilisateur. Ces outils offrent la possibilité de configurer les requêtes de provisioning et également de gérer les workflows en cours de traitement. Pour configurer une requête de provisioning, l'administrateur crée une définition de requête de provisioning, qui lie la ressource à un workflow.

21.1.1 Architecture générale

Le diagramme ci-dessous représente l'architecture générale du système de provisioning basé sur le workflow inclus avec Identity Manager :

Description : Description : Illustration

Les sections ci-après décrivent chacun des composants de cette architecture.

Interface Web de provisioning

L'application utilisateur Identity Manager propose une interface Web qui permet aux utilisateurs finals de soumettre leurs requêtes de provisioning, puis de les gérer. L'application utilisateur propose également les fonctions Administrateur de l'application utilisateur ou Responsable organisationnel, qui permettent de désigner des délégués et des mandataires pour les workflows de provisioning.

SUGGESTION:Les opérations de provisioning et de workflow sont accessibles via l'onglet Requêtes & Approbations de l'application utilisateur Identity Manager.

Pour plus d'informations sur les délégués et les mandataires, reportez-vous à la Section 21.3, Sécurité du provisioning. Pour obtenir des informations détaillées sur l'utilisation de l'application utilisateur, reportez-vous au Guide d'utilisation de l'application utilisateur Identity Manager.

Outils d'administration iManager

iManager fournit des plug-ins qui permettent de configurer et de gérer les requêtes de provisioning ainsi que les workflows qui leur sont associés.

Pour configurer une requête de provisioning, liez-la à une ressource provisionnée, indiquez les caractéristiques de l'exécution du workflow associé, puis activez cette requête. Après avoir lancé une requête de provisioning, vous pouvez utiliser iManager pour afficher l'état du processus de workflow, réassigner les activités au sein du workflow ou arrêter ce workflow s'il venait à se bloquer.

Pilote d'application utilisateur Identity Manager

Outre la prise en charge des requêtes de l'utilisateur final pour le déploiement des ressources, Identity Manager permet de lancer des requêtes de provisioning en réponse à des événements qui se produisent dans eDirectory. Le pilote d'application utilisateur Identity Manager écoute les événements et leur répond en lançant les requêtes de provisioning correspondantes. Ces requêtes peuvent à leur tour déclencher des workflows qui eux géreront le processus d'approbation. Par exemple, si Identity Manager est configuré de la sorte, il prendra en charge le fait que l'ajout d'un nouvel utilisateur dans eDirectory déclenche automatiquement une requête de provisioning et un workflow prédéfinis.

Système de provisioning

Le système de provisioning exécute tous les traitements requis pour initier et exécuter les requêtes de provisioning. Si une requête requiert une ou plusieurs approbations, le système de provisioning appelle alors le système de workflow pour qu'il initialise le processus de workflow. Une fois les approbations nécessaires accordées, le système de provisioning déploie ensuite la ressource conformément aux exigences.

Le système de provisioning assure la tenue à jour des informations relatives aux requêtes de provisioning disponibles et en attente dans le coffre-fort d'identité (eDirectory).

Pour lancer une requête ou exécuter le traitement requis pour exécuter une requête, le système accède au coffre-fort d'identité via la couche d'abstraction d'annuaire.

Pour plus d'informations sur la couche d'abstraction d'annuaire, reportez-vous au Section 4.0, Configuration de la couche d'abstraction de l'annuaire.

Système de flux

Lorsqu'une requête de provisioning requiert une ou plusieurs approbations, le système de workflow coordonne le processus d'approbation. Au cours de ce processus, il interagit avec les composants suivants :

  • Base de données de flux
  • Moteur de script
  • Audit
  • SMTP
  • Système de sécurité

Base de données de flux

Pour assurer le suivi de l'état des workflows en cours, le système de workflow stocke différentes informations dans une base de données. Cette base assure la tenue à jour des informations relatives aux instances de processus de workflow, aux listes de travaux (files d'attente) et aux adresses des workflows. En outre, elle stocke tous les commentaires ajoutés lors de l'exécution d'un processus de workflow.

Moteur de script

Le système de workflow appelle le moteur de script chaque fois qu'un workflow comprend une expression dynamique qui doit être évaluée. Les expressions dynamiques peuvent inclure des variables, des fonctions et des opérateurs, ainsi que des références à des entités au sein de la couche d'abstraction d'annuaire.

Novell Audit

Pour consigner les informations relatives à l'état d'un processus de workflow, le système de workflow interagit avec Novell Audit. Au cours de son traitement, un workflow peut consigner des informations sur différents événements qui se sont produits. Les utilisateurs peuvent ensuite utiliser les outils de création de rapport de Novell Audit pour étudier les données consignées.

Pour plus d'informations sur la configuration de la consignation d'informations, reportez-vous au Section 5.0, Configuration de la consignation. Pour plus d'informations sur le contrôle des niveaux des messages de consignation que l'application utilisateur Identity Manager doit générer, reportez-vous au Section 12.0, Configuration de la consignation.

SMTP

Un processus de workflow envoie souvent des notifications par messagerie vers plusieurs points au cours de son exécution. Par exemple, il est possible d'envoyer un message électronique lorsqu'une activité de workflow est assignée à un nouveau destinataire.

Un administrateur peut modifier un modèle de message électronique dans iManager, puis l'utiliser dans un processus de workflow. Au cours de l'exécution, le système de workflow l'extrait de eDirectory et remplace les balises qu'il contient par un texte dynamique adapté à la notification concernée.

Les notifications par message électronique sont gérées via le protocole SMTP (Simple Mail Transfer Protocol).

Pour obtenir les étapes de configuration de base requises pour la notification par message électronique, reportez-vous à la Section 23.3, Configuration du serveur de messagerie et à la Section 23.4, Utilisation du modèle de message électronique installé. Pour plus d'informations sur la configuration de la notification par message électronique pour un workflow, reportez-vous à Configuration des activités de workflow.

Sécurité

Le système de sécurité gère tous les aspects ayant trait à la sécurité pour une application de provisioning basée sur un workflow.

Pour plus d'informations sur la sécurité des workflows, reportez-vous à la Section 21.3, Sécurité du provisioning.

21.1.2 Provisioning et workflow : exemple

Soit l'exemple suivant d'un utilisateur qui a besoin d'un compte sur un système informatique. Pour configurer ce compte, l'utilisateur lance une requête via l'application utilisateur Identity Manager. Cette requête lance à son tour un workflow, qui va coordonner un processus d'approbation. Une fois les approbations requises accordées, la requête est exécutée. Ce processus comporte trois étapes de base, décrites ci-après.

Étape 1 : lancement de la requête

Dans l'application utilisateur Identity Manager, l'utilisateur parcourt la liste des ressources par catégorie et sélectionne celle à déployer. Dans le coffre-fort d'identité, la ressource provisionnée sélectionnée est associée à une définition de requête de provisioning. Cette définition de requête de provisioning est l'objet le plus important d'un système de provisioning. Il lie une ressource provisionnée à un workflow et agit en tant qu'intermédiaire grâce auquel le processus de workflow est exposé à l'utilisateur final. La définition de requête de provisioning fournit toutes les informations requises pour afficher le formulaire de requête initiale à l'utilisateur et pour lancer le flux qui suit la requête initiale.

Si nous reprenons notre exemple, l'utilisateur sélectionne la ressource Nouveau compte. Lorsque l'utilisateur lance la requête, l'application Web extrait le formulaire de requête initiale et la description des données de requête initiale associées dans le système de provisioning, qui obtient ces objets à partir de la définition de requête de provisioning.

Lorsqu'une requête de provisioning est lancée, le système de provisioning assure le suivi du préparateur et du destinataire. Le préparateur est la personne qui a créé la requête. Le destinataire est la personne pour qui la requête a été créée. Dans certains cas, le préparateur et le destinataire sont une seule et même personne.

Une opération est associée à chaque requête de provisioning. Cette opération indique si l'utilisateur veut accorder ou révoquer la ressource.

Étape 2 : approbation de la requête

Après que l'utilisateur a lancé sa requête, le système de provisioning lance le processus de workflow. Le processus de workflow coordonne les approbations. Si nous reprenons notre exemple, des approbations sont requises à deux niveaux : l'une doit émaner du responsable de l'utilisateur et l'autre du superviseur de ce responsable. Si l'approbation est refusée par l'un des utilisateurs du workflow, le flux s'arrête et la requête est refusée.

REMARQUE:Identity Manager est fourni avec un ensemble de modèles de requête de provisioning qui gèrent jusqu'à cinq niveaux d'approbation des workflows. Dans une version ultérieure d'Identity Manager, l'environnement dont la conception est basée sur Eclipse proposera des outils grâce auxquels vous pourrez créer vos propres processus de workflow personnalisés. Pour plus d'informations sur les modèles fournis avec la présente version, reportez-vous à la Section 22.2, Utilisation des modèles installés.

Les workflows peuvent traiter les approbations en mode séquentiel ou parallèle. Dans un workflow séquentiel, chaque tâche d'approbation doit être traitée pour pouvoir passer à la tâche d'approbation suivante. Dans un workflow parallèle, les utilisateurs peuvent travailler simultanément sur les tâches d'approbation.

Flux séquentielPrésentation du modèle de conception de base d'un workflow séquentiel comportant deux approbations :

Description : Description : Illustration

Flux parallèlePrésentation du modèle de conception de base d'un workflow parallèle comportant deux approbations :

Description :Description : Illustration

REMARQUE:Vous pouvez facilement modifier les libellés d'affichage (Première approbation, Deuxième approbation, etc.) en fonction de vos exigences d'application. Pour les flux parallèles, vous pouvez spécifier les libellés qui n'impliquent pas de traitement séquentiel. Par exemple, vous pouvez souhaiter assigner des libellés comme Une des trois approbations parallèles, Deux des trois approbations parallèles, etc.

La définition de workflow est constituée des composants suivants :

Composants de processus

Description

Activités

Une activité est un objet qui représente une tâche. Une activité peut présenter des informations à l'utilisateur et répondre à des interactions provenant de cet utilisateur, ou exécuter des fonctions en arrière-plan que l'utilisateur ne voit pas.

Dans les exemples de workflow présentés ci-avant, les activités sont représentées par des rectangles.

Dans l'application utilisateur Identity Manager, les activités utilisateur qui gèrent le processus d'approbation sont appelées tâches. Un utilisateur final peut afficher la liste des tâches dans sa file d'attente en cliquant sur Mes tâches dans le groupe d'opérations Mon travail. Pour afficher quelles activités de workflow ont été traitées pour une tâche donnée, sélectionnez cette tâche et cliquez sur le bouton Afficher l'historique des commentaires dans le formulaire Détail de la tâche.

Pour afficher les activités du workflow traitées dans le cadre d'une requête de provisioning définie, cliquez sur Mes requêtes, sélectionnez la requête en question, puis cliquez sur le bouton Afficher les commentaires et l'historique du flux dans le formulaire Détail de la requête.

Pour plus d'informations sur les opérations Mes tâches et Mes requêtes, reportez-vous au Guide d'utilisation de l'application utilisateur Identity Manager.

Liens

Les liens sont les éléments qui relient les activités entre elles dans un workflow. Un lien représente un chemin d'accès qu'il faut suivre entre deux activités.

Une activité peut avoir plusieurs liens entrants et plusieurs liens sortants. Lorsqu'une activité est dotée de plusieurs liens sortants, le lien sélectionné dépend du résultat de l'activité. Le résultat est le résultat final du traitement effectué par l'activité. Par exemple, une activité utilisateur peut avoir pour résultat l'état Approuvé ou Refusé, en fonction de l'opération exécutée par l'utilisateur.

Dans les exemples de workflow présentés ci-dessus, les liens sont représentés pas des flèches.

Lancer l'activitéLe processus de workflow commence par l'exécution de Lancer l'activité. Cette activité initialise un document de travail à l'aide des données de la requête initiale. Elle lie également plusieurs valeurs système telles que le préparateur et le destinataire, afin qu'elles puissent être utilisées dans les expressions de script.

Activités utilisateurÀ la fin de l'exécution de Lancer l'activité, le système de workflow transfère le traitement à la première activité utilisateur du flux. Une activité utilisateur est une activité qui gère les interactions des utilisateurs. Pour gérer ces interactions, l'activité affiche un formulaire, qui donne à l'utilisateur la possibilité d'agir sur la requête. Dans les exemples de workflow proposés ci-avant, les activités de première approbation et de deuxième approbation sont des exemples d'activité utilisateur. Les libellés d'affichage des activités utilisateur peuvent être localisés (adaptés) en fonction de besoins internationaux spécifiques.

Une activité utilisateur peut gérer une ou plusieurs des opérations suivantes :

  • Réclamer
  • Approuver
  • Refuser
  • Refuser
  • Réassigner (disponible uniquement pour les responsables organisationnels et les administrateurs de l'application utilisateur)

REMARQUE:Les champs et les boutons du formulaire varient en fonction de la ressource qui fait l'objet de la requête et du mode de configuration du workflow. L'opération Refuser, par exemple, n'est prise en charge que par quelques uns des modèles fournis avec le produit.

Une activité utilisateur peut avoir cinq résultats :

  • Approuvé
  • Refusé
  • Refusé
  • Erreur
  • Timeout

REMARQUE:Les résultats Erreur et Timeout peuvent se produire avec n'importe quelle opération effectuée par l'utilisateur.

Si l'utilisateur approuve la requête, le workflow transmet le contrôle à l'activité suivante dans le flux. Si aucune autre approbation n'est requise, la ressource est déployée. Si l'utilisateur refuse la requête, la tâche est transférée à l'activité suivante dans le workflow et la requête est refusée. Autre possibilité : l'utilisateur peut réassigner la tâche (à condition qu'il soit responsable organisationnel ou administrateur d'application utilisateur). La tâche est alors insérée dans la file d'attente d'un autre utilisateur.

REMARQUE:Les modèles de requête de provisioning fournis avec le produit sont configurés afin d'arrêter un processus de workflow lorsqu'une requête est refusée. Lorsqu'une requête est refusée, la tâche est transférée à Terminer l'activité, qui arrête le flux.

L'utilisateur à qui une activité utilisateur a été assignée est appelé destinataire. Le destinataire d'une activité peut être averti de la tâche qui lui a été assignée par messagerie électronique. Pour exécuter une tâche associée à l'activité, le destinataire peut cliquer sur l'URL proposée dans le message électronique, puis rechercher cette tâche dans la liste (file d'attente) des travaux et la réclamer.

Le destinataire doit répondre à une activité utilisateur dans un délai imparti, sinon l'activité arrive à expiration. En règle générale, l'intervalle de timeout est exprimé en heures ou en jours, afin de laisser suffisamment de temps à l'utilisateur pour répondre.

Lorsqu'une activité arrive à expiration, le processus de workflow peut tenter d'exécuter de nouveau l'activité, en fonction du nombre de réessais défini pour cette activité. Dans certains cas, le processus de workflow peut être configuré afin de transférer à un autre utilisateur les activités qui arrivent à expiration. Dans ce cas, l'activité est réassignée à un nouveau destinataire (le responsable de l'utilisateur, par exemple) qui aura la possibilité de terminer le travail de l'activité. Si le dernier essai arrive à expiration, l'activité peut être marquée comme approuvée ou refusée, en fonction de la configuration du workflow.

Activités conditionnellesAu cours de l'exécution, un processus de workflow peut exécuter un test et contrôler le résultat afin de vérifier ce qu'il doit faire ensuite. L'activité conditionnelle propose cette opportunité. Les activités conditionnelles utilisent une expression de script pour définir la condition à évaluer. Dans les exemples de workflow présentés ci-avant, l'activité d'approbation de condition est un exemple d'activité conditionnelle.

Les activités conditionnelles gèrent trois résultats :

  • Vrai
  • Faux
  • Erreur

Activité de branche et Fusionner les activitésDans un workflow qui prend en charge les traitements en parallèle, l'activité de branche permet à deux utilisateurs d'agir en parallèle sur des zones distinctes de la tâche. Lorsque les utilisateurs terminent leur travail, Fusionner les activités synchronise les branches entrantes du flux.

Activité de provisioningL'activité de provisioning exécute la requête de provisioning. Cette activité n'est exécutée que si toutes les approbations requises ont été accordées.

Pour plus d'informations sur l'étape de provisioning, reportez-vous à Étape 3 : exécution de la requête.

Terminer l'activitéTerminer l'activité est l'activité finale d'un workflow. Lorsque toutes les activités d'un flux ont été exécutées et que le résultat final du flux est disponible, Terminer l'activité peut être exécuté. Le système de workflow peut déterminer l'état final du processus en examinant les liens entrant dans Terminer l'activité. L'état global du flux est Approuvé lorsqu'un lien d'approbation atteint Terminer l'activité. Si le lien qui conduit à Terminer l'activité se définit par un autre résultat (Refusé, Timeout ou Erreur), l'état global du flux est Refusé.

Lorsqu'un processus de workflow atteint Terminer l'activité avec un état Approuvé, le processus d'approbation est terminé et la requête de provisioning peut être exécutée.

Étape 3 : exécution de la requête

Lorsqu'une requête de provisioning a été approuvée, le système de workflow peut commencer l'étape de provisioning. À ce stade, le système de provisioning reprend le contrôle.

Pour exécuter la requête de provisioning, le système de provisioning peut exécuter un droit Identity Manager ou manipuler directement un objet eDirectory et ses attributs. Au cours de l'étape de provisioning, il crée tous les objets connexes éventuels et enregistre les résultats de l'opération de provisioning sur le destinataire, conformément à la description dans la définition des données de provisioning. Selon que l'utilisateur a demandé une opération d'octroi ou de révocation, cela peut impliquer la définition ou la suppression de la valeur d'un attribut sur le destinataire, ou l'ajout ou la suppression d'un élément dans un attribut à plusieurs valeurs sur le destinataire. Les attributs impliqués sont les attributs eDirectory (accessibles lorsque vous ajoutez une classe auxiliaire au destinataire). La valeur même des attributs peut être de type simple ou complexe. Dans ce dernier cas, le système de provisioning peut définir la valeur de sous-attributs internes.