Une question qui revient souvent lors des discussions à propos d’Okta Workflows est la suivante :
Est-ce qu’Okta Workflows me permet de faire ça ?
De nombreux développeurs et administrateurs IT me posent invariablement cette question lorsqu’ils souhaitent automatiser des tâches d’identité, comme envoyer une alerte Slack lorsqu’une nouvelle recrue arrive, ou désactiver automatiquement le compte des utilisateurs lorsqu’ils quittent l’entreprise.
Okta Workflows est une plateforme d’automatisation de la gestion des identités en mode no-code, qui permet de personnaliser et d’automatiser Okta. Par exemple, vous pouvez automatiser l’onboarding et l’offboarding, envoyer des alertes de sécurité en cas d’échecs de connexion répétés, et accorder automatiquement l’accès aux applications.
Le premier point à aborder est de savoir comment lancer un flux Okta Workflows. Commençons par là.
Vous pouvez déclencher une automatisation Okta Workflows de différentes façons :
- Lors d’un événement
- Selon une planification
- Par une API endpoint
- Manuellement
Passons maintenant en revue chaque méthode.
Lors d’un événement
Vous pouvez exécuter un workflow lorsqu’un événement est déclenché dans Okta. Par exemple, lorsqu’un groupe est créé dans Okta, vous pouvez exécuter un flux pour l’événement Group Created.
Cette méthode de déclenchement basée sur un événement compte trois options :
- Utilisation de cartes d’événement
- Utilisation d’un webhook
- Recherche dans Okta System Log
Examinons chaque déclencheur en détail.
Utilisation de cartes d’événement
Étant donné qu’Okta Workflows est une plateforme no-code, la plupart des événements Okta ont une carte d’événement dédiée.
Par exemple, voici une carte d’événement pour déclencher un flux lorsqu’un nouveau groupe Okta est créé :
Voici d’autres événements que vous pouvez utiliser pour déclencher un flux :
Donc, si Okta Workflows fournit une carte dédiée pour un événement Okta, vous pouvez déclencher un flux en utilisant cet événement.
Mais vous n’êtes pas limité aux événements Okta. Grâce au catalogue de connecteurs Okta Workflows, vous pouvez également déclencher un flux à l’aide d’événements déclenchés dans des applications externes.
Par exemple, vous pouvez utiliser ces événements Slack pour déclencher un flux :
Comment Okta Workflows se connecte-t-il à ces applications ?
Okta Workflows possède plus de 80 connecteurs prédéfinis vers divers services, notamment Slack, ServiceNow, Google et Okta. Mais avant de pouvoir utiliser l’un d’entre eux (même celui pour Okta !), vous devez d’abord créer une connexion.
Une connexion stocke en toute sécurité les détails d’authentification. Il s’agit d’une clé API ou d’un token OAuth. Ces identifiants vous permettent d’appeler les API d’un service. Vous pouvez créer plusieurs connexions pour un connecteur. Vous pouvez créer des connexions vers un environnement de test et un environnement de production.
Revenons-en aux événements. Lorsque vous utilisez l’événement d’un connecteur pour déclencher un flux, techniquement, Okta Workflows enregistre un webhook en arrière-plan. Pour la plupart des autres connecteurs, Okta Workflows utilisera une méthode d’interrogation (vérification périodique de la présence de nouveaux événements).
En examinant la carte d’événement Group Created, nous voyons que l’événement provient du connecteur Okta. Il utilise une connexion nommée Okta.
Le champ de carte d’événement (comme la date et l’heure, le message, l’ID d’événement, etc.) est une donnée que l’événement met à disposition pour une utilisation dans le flux.
Utilisation d’un webhook
Vous pouvez trouver un événement dans Okta ou une autre application pour lequel le connecteur n’a pas de carte d’événement. Vous pouvez enregistrer un webhook (également appelé event hook dans Okta) pour cet événement. L’URL est enregistrée auprès d’une application (telle qu’Okta ou un système externe) pour être appelée automatiquement lorsqu’un événement spécifique se produit.
Cette image montre l’enregistrement d’un event hook pour l’événement Create Okta group. Pour trouver les événements que vous pouvez utiliser avec les event hooks, recherchez les événements avec la balise event-hook-eligible.
Endpoint URL fait référence à l’API endpoint de ce flux :
Cliquer sur </> sur la carte API Endpoint révélera l’URL de l’endpoint :
Vous pouvez enregistrer un webhook avec une autre application et déclencher un flux lorsqu’un événement est déclenché dans cette application. Voici un exemple de déclenchement d’un flux lorsqu’un formulaire Typeform est soumis :
Recherche dans Okta System Log
Si le connecteur Okta ne possède pas de carte d’événement ou si l’événement n’a pas le marqueur event-hook-eligible, une autre option consiste à rechercher un événement particulier dans Okta System Log.
Cette image montre la recherche dans Okta System Log de connexions ayant échoué, selon une planification définie :
Si la recherche permet de trouver l’événement, vous pouvez continuer à exécuter le flux.
Les ressources suivantes vous aideront à en savoir plus sur les événements dans Okta Workflows :
Par une API endpoint
Vous pouvez déclencher un flux via une API endpoint. Cette méthode est similaire à l’utilisation d’un webhook. Lorsque la première carte du flux est la carte API Endpoint, le flux a une URL d’endpoint. L’appel de cette URL d’API endpoint déclenchera un flux. Vous pouvez invoquer l’API endpoint à partir de n’importe quel système externe.
Paramètres des API endpoint :
Voici, en résumé, comment faire la distinction entre les options webhook et API endpoint :
- Webhook (sur événement) : l’autre application appelle une API endpoint Okta Workflows lorsque quelque chose se produit (un événement).
- API endpoint (à la demande) : Workflows attend que quelqu’un l’appelle explicitement pour démarrer le flux.
Manuellement
Une autre option pour exécuter un flux est de le faire manuellement, en cliquant sur le bouton Run.
Voici un résumé des options d’exécution d’un flux :
| Méthode de déclenchement | Utilisation conseillée | Carte |
|---|---|---|
| Lors d’un événement | Lorsque quelque chose se produit dans Okta ou une application externe (par exemple, un groupe est créé) | Carte d’événement de connecteur ou webhook (event hook) |
| Selon une planification | Pour les tâches récurrentes (par exemple, chaque matin) | Carte selon une planification |
| Par une API endpoint | Lorsqu’un système externe doit démarrer explicitement le flux | Carte API Endpoint |
| Manuellement | Pour les tests ou les exécutions ponctuelles | Bouton Run (Exécuter) |
Une fois qu’un flux est lancé avec succès à l’aide de l’une de ces méthodes, la logique d’automatisation est exécutée en développant la logique du flux à l’aide de cartes d’action et de fonction.
Logique de construction de flux
Il existe deux types de cartes disponibles :
- Cartes d’action
- Cartes de fonction
Cartes d’action
Okta Workflows possède plus de 80 connecteurs à diverses applications et divers services.
Chaque connecteur est associé à des actions. En arrière-plan, les actions sont des appels d’API vers l’application sous-jacente. Au fur et à mesure que vous développez votre automatisation d’identité, les actions vous permettent d’appeler d’autres applications. Par exemple, lorsqu’un nouveau groupe est créé dans Okta, vous souhaitez également envoyer un e-mail à l’aide du connecteur Office 365 et un message à Slack à l’aide du connecteur Slack.
Si vous trouvez une API pour laquelle il n’existe pas de connecteur prédéfini, vous pouvez utiliser la carte de fonction API Connector pour vous connecter à n’importe quelle API de votre choix.
Cartes de fonction
Lorsque vous interagissez avec Okta et d’autres connecteurs, ils renvoient des données, telles qu’une liste d’utilisateurs ou une liste de groupes. Vous utilisez les cartes de fonction pour modifier ou créer de nouvelles données. Par exemple, lorsque vous envoyez un message à Slack, vous pouvez utiliser la carte Text-Compose pour rédiger un message.
Ce flux démontre tous les points que cet article a abordés :
1. L’événement Okta-Group Created dans Okta déclenche le flux. L’événement provient du connecteur Okta.
2. La carte Text-Compose crée un message. Compose est une carte de fonction de la catégorie Text.
3. La carte d’action Office 365 Mail-Send Email envoie un e-mail avec le message. L’action provient du connecteur Office 365 Mail.
4. La carte d’action Slack-Send Message to Channel envoie un message à un canal Slack. L’action provient du connecteur Slack.
Les multiples possibilités d’Okta Workflows
Voici un bref résumé des problématiques abordées par cet article de blog :
| Terme | Description | Exemple | Raison de son importance |
|---|---|---|---|
| Connecteur | Une intégration prédéfinie entre Okta Workflows et un autre service ou une autre application | Slack, Okta, Office 365 Mail, Google Workspace | Vous permet d’utiliser des cartes d’action et d’événement prêtes à l’emploi au lieu de créer des appels API manuellement |
| Connexion | Le lien authentifié (à l’aide d’une clé API ou d’un token Oauth) entre Okta Workflows et votre instance spécifique d’un service | L’espace de travail Slack de votre entreprise, le tenant Okta | Stocke les identifiants en toute sécurité afin que Workflows puisse utiliser l’API de l’application |
| Événement | Un événement dans un système connecté qui peut démarrer (déclencher) un flux | Nouveau groupe créé dans Okta, nouvel utilisateur activé dans Okta | Définit le moment où le flux commence : le déclencheur qui lance votre automatisation |
| Calendrier | Un déclencheur intégré qui lance un flux selon une planification | Chaque semaine à 9h, une fois par semaine le vendredi | Lance un flux selon une planification |
| Carte d’action | Effectue une action dans un connecteur ou un service. En arrière-plan, effectue un appel d’API | Slack-Send Message, Office 365 Mail-Send Email, Okta-Ad User to Group | Exécute la logique d’automatisation : envoi de messages, mise à jour des utilisateurs, création d’enregistrements |
| Carte de fonction | Manipule ou formate des données | Text-Compose, List-Filter, Date-Format | Aide à transformer et à formater les données |
Tout d’abord, déterminez comment déclencher un flux. Vous avez plusieurs options : sur événement, selon une planification et via une API endpoint. Ensuite, une fois que vous avez lancé un flux, utilisez des actions (à partir de connecteurs) pour appeler d’autres services, et des fonctions pour modifier et créer des données.