Eine Frage, die ich im Zusammenhang mit Okta Workflows häufig zu hören bekomme, lautet:
Kann ich das mit Okta Workflows machen?
Viele Entwickler und IT-Administratoren stellen diese Frage. Sie wollen Identity-Aufgaben automatisieren und zum Beispiel eine Slack-Warnung senden, wenn ein neuer Mitarbeiter seine Arbeit aufnimmt, oder Benutzer automatisch deaktivieren, wenn sie aus dem Unternehmen ausscheiden.
Vorweg: Okta Workflows ist eine No-Code-Plattform für Identity-Automatisierung. Mit Workflows können Sie Okta individualisieren und automatisieren. Sie können beispielsweise das Onboarding und Offboarding automatisieren, Sicherheitswarnungen bei mehreren fehlgeschlagenen Anmeldungen senden und automatisch Anwendungszugriff gewähren.
Zu Beginn müssen Sie überlegen, wie Sie einen Okta Workflows-Ablauf starten. Fangen wir damit an.
Zum Auslösen einer Okta Workflows-Automatisierung haben Sie folgende Optionen:
- Bei einem bestimmten Ereignis
- Nach Zeitplan
- Über einen API-Endpoint
- Manuell
Sehen wir uns diese Optionen einmal genauer an.
Bei einem bestimmten Ereignis
Sie können einen Ablauf auslösen, wenn ein bestimmtes Ereignis in Okta gemeldet wird. Wenn beispielsweise eine Gruppe in Okta erstellt wird, können Sie einen Ablauf für das Ereignis Group Created (Gruppe erstellt) auslösen.
Für diese Methode gibt es drei Optionen:
- Konnektor-Karten verwenden
- Webhook verwenden
- Okta System Log durchsuchen
Sehen wir uns die einzelnen Trigger genauer an.
Konnektor-Ereignisse verwenden
Da Okta Workflows eine No-Code-Plattform ist, gibt es für die meisten Okta-Ereignisse eine eigene Ereignis-Karte.
Sie wird beispielsweise verwendet, um einen Ablauf auszulösen, wenn eine neue Okta-Gruppe erstellt wird:
Hier sehen Sie einige weitere Ereignisse, mit denen Sie einen Ablauf auslösen können:
Wenn es in Okta Workflows also eine spezielle Karte für ein Okta-Ereignis gibt, können Sie mit diesem Ereignis einen Ablauf auslösen.
Sie sind jedoch nicht nur auf Okta-Ereignisse beschränkt. Mit dem Konnektor-Katalog von Okta Workflows können Sie einen Ablauf auch bei Ereignissen externer Anwendungen auslösen.
Folgende Slack-Ereignisse können beispielsweise ebenfalls einen Ablauf auslösen:
Wie verbindet sich Okta Workflows mit diesen Anwendungen?
Okta Workflows verfügt über mehr als 80 vorkonfigurierte Konnektoren zu verschiedenen Diensten, darunter Slack, ServiceNow, Google und Okta. Bevor Sie jedoch einen dieser Konnektoren verwenden können (auch den für Okta!), müssen Sie zuerst eine Verbindung erstellen.
Eine Verbindung speichert Authentifizierungsdetails auf sichere Weise. Dies wird mit einem API-Schlüssel oder OAuth-Token realisiert, der bzw. das als Anmeldedaten zum Aufrufen der APIs eines Dienstes dienen. Sie können mehrere Verbindungen für einen Konnektor und Verbindungen zu einer Testumgebung und einer Produktionsumgebung erstellen.
Aber zurück zu den Ereignissen. Wenn Sie das Ereignis eines Konnektors nutzen, um einen Ablauf auszulösen, registriert Okta Workflows technisch gesehen einen Webhook im Hintergrund. Für die meisten anderen Konnektoren nutzt Okta Workflows eine Polling-Methode (regelmäßige Kontrolle auf neue Ereignisse).
Wenn wir uns die Ereignis-Karte „Group Created“ (Gruppe erstellt) ansehen, stellen wir fest, dass das Ereignis vom Okta-Konnektor kommt. Es verwendet eine Verbindung namens Okta.
Die Ereignis-Kartenfelder (z. B. Datum und Uhrzeit, Nachricht, Ereignis-ID) enthalten Daten, die das Ereignis für den Ablauf zur Verfügung stellt.
Webhook verwenden
Möglicherweise finden Sie ein Ereignis in Okta oder einer anderen Anwendung, für das der Konnektor keine Ereignis-Karte hat. Sie können einen Webhook (in Okta als Event-Hook bezeichnet) für dieses Ereignis registrieren. Die URL wird bei einer Anwendung (wie Okta oder einem externen System) registriert und automatisch aufgerufen, sobald es zu einem bestimmten Ereignis kommt.
Die folgende Abbildung zeigt die Registrierung eines Event-Hooks für das Ereignis Create Okta group (Okta-Gruppe erstellen). Um Ereignisse zu finden, die Sie mit Event-Hooks verwenden können, suchen Sie nach Ereignissen mit dem Tag „event-hook-eligible“.
Die Endpoint-URL referenziert den API-Endpoint dieses Ablaufs:
Wenn Sie auf der API-Endpoint-Karte auf </> klicken, wird die Endpoint-URL angezeigt:
Sie können einen Webhook bei einer anderen Anwendung registrieren und einen Ablauf auslösen, wenn es in dieser Anwendung zu einem Ereignis kommt. Im folgenden Beispiel wird ein Ablauf ausgelöst, sobald ein Typeform-Formular übermittelt wird:
Okta System Log durchsuchen
Wenn der Okta-Konnektor keine Ereignis-Karte hat oder das Ereignis keinen Event-Hook senden darf, können Sie auch das Okta System Log nach einem bestimmten Ereignis durchsuchen.
Das folgende Bild zeigt die Planung einer Suche nach fehlgeschlagenen Anmeldungen im Systemprotokoll:
Wenn die Suche im Systemprotokoll das Ereignis findet, können Sie mit der Ausführung des Ablaufs fortfahren.
In den folgenden Ressourcen erfahren Sie mehr über Ereignisse in Okta Workflows:
Über einen API-Endpoint
Sie können einen Ablauf auch über einen API-Endpoint auslösen. Das Vorgehen ist ähnlich wie bei einem Webhook. Wenn die erste Karte des Ablaufs die API-Endpoint-Karte ist, hat der Ablauf eine Endpoint-URL. Beim Aufrufen dieser API-Endpoint-URL wird einen Ablauf ausgelöst. Sie können den API-Endpoint von jedem externen System aus aufrufen.
API-Endpoint-Einstellungen:
So unterscheiden Sie zwischen einem Webhook und API-Endpoint-Optionen:
- Webhook (bei einem bestimmten Ereignis): Die andere Anwendung ruft einen Okta Workflows-API-Endpoint auf, wenn etwas passiert (ein Ereignis).
- API-Endpoint (bei Bedarf): Workflows wartet auf einen expliziten Aufruf, um den Ablauf zu starten.
Manuell
Sie können einen Ablauf auch manuell starten, indem Sie auf die Schaltfläche Run (Ausführen) klicken.
Im Folgenden sind die Optionen zum Starten eines Ablaufs noch einmal zusammengefasst:
| Trigger-Methode | Anwendungsbereich | Karte |
|---|---|---|
| Bei einem bestimmten Ereignis | Bei einem Ereignis in Okta oder einer externen Anwendung (z. B. Erstellen einer Gruppe) | Konnektor-Ereignis-Karte oder Webhook (Event-Hook) |
| Nach Zeitplan | Für wiederkehrende Aufgaben (z. B. jeden Morgen) | Karte für Zeitplan |
| Über einen API-Endpoint | Wenn ein externes System den Ablauf explizit starten muss | API-Endpoint-Karte |
| Manuell | Für Tests oder einmalige Ausführungen | Schaltfläche „Run“ (Ausführen) |
Sobald ein Ablauf erfolgreich mit einer dieser Methoden gestartet wurde, greift die Automatisierungslogik, indem sie die Ablauflogik mit Aktions- und Funktionskarten erstellt.
Ablauflogik erstellen
Es gibt zwei Arten von Karten:
- Aktionskarten
- Funktionskarten
Aktionskarten
Okta Workflows verfügt über mehr als 80 Konnektoren zu verschiedenen Anwendungen und Diensten.
Jeder Konnektor beinhaltet Aktionen. Hinter den Kulissen sind Aktionen API-Aufrufe an die zugrunde liegende Anwendung. Während Sie Ihre Identity-Automatisierung erstellen, können Sie mit Aktionen andere Anwendungen aufrufen. Wenn beispielsweise eine neue Gruppe in Okta erstellt wird, können Sie auch mit dem Office 365-Konnektor eine E-Mail senden und mit dem Slack-Konnektor eine Nachricht an Slack senden.
Wenn Sie eine API finden, für die es keinen vorkonfigurierten Konnektor gibt, können Sie die API-Konnektor-Funktionskarte verwenden, um eine Verbindung zu einer beliebigen API Ihrer Wahl herzustellen.
Funktionskarten
Wenn Sie mit Okta und anderen Konnektoren interagieren, geben diese Daten zurück, z. B. eine Benutzer- oder Gruppenliste. Mit Funktionskarten können Sie neue Daten bearbeiten oder erstellen. Wenn Sie beispielsweise eine Nachricht an Slack senden, können Sie die Karte „Text-Compose“ (Text – Verfassen) verwenden, um eine Nachricht zu erstellen.
Dieser Ablauf demonstriert alle in diesem Artikel beschriebenen Schritte:
1. Das Ereignis „Okta-Group Created“ (Okta-Gruppe erstellt) in Okta löst den Ablauf aus. Das Ereignis stammt vom Okta-Konnektor.
2. Die Karte „Text-Compose“ (Text – Verfassen) erstellt eine Nachricht. „Compose“ (Verfassen) ist eine Funktionskarte aus der Kategorie „Text“.
3. Die Aktionskarte „Office 365 Mail-Send Email“ (Office 365 Mail – E-Mail-senden) sendet eine E-Mail mit der Nachricht. Die Aktion stammt vom Office 365 Mail-Konnektor.
4. Die Aktionskarte „Slack-Send Message to Channel“ (Slack – Nachricht an Kanal senden) sendet eine Nachricht an einen Slack-Kanal. Die Aktion stammt vom Slack-Konnektor.
Kann ich das nun mit Okta Workflows machen?
Hier ist eine kurze Zusammenfassung dieses Blog-Beitrags:
| Begriff | Was ist das? | Beispiel | Warum es wichtig ist |
|---|---|---|---|
| Konnektor | Vorkonfigurierte Integration zwischen Okta Workflows und einem anderen Dienst oder einer anderen Anwendung. | Slack, Okta, Office 365 Mail, Google Workspace | Erlaubt die Verwendung vorkonfigurierter Aktions- und Ereignis-Karten statt manuell zu erstellender API-Aufrufe |
| Verbindung | (Mit API-Schlüssel oder Oauth-Token) authentifizierte Verbindung zwischen Okta Workflows und Ihrer spezifischen Instanz eines Dienstes | Slack-Workspace Ihres Unternehmens, Okta-Tenant | Speichert Anmeldedaten sicher, sodass Workflows die API der Anwendung nutzen kann |
| Ereignis | Ereignis, das in einem verbundenen System stattfindet und einen Ablauf starten (auslösen) kann | Neue Gruppe in Okta erstellt, neuer Benutzer in Okta aktiviert | Definiert, wann der Ablauf gestartet wird – Trigger, der Ihre Automatisierung startet |
| Zeitplan | Integrierter Trigger, der einen Ablauf nach einem bestimmten Zeitplan startet | Jede Woche um 9 Uhr, einmal pro Woche am Freitag | Startet einen Ablauf nach einem bestimmten Zeitplan |
| Aktionskarte | Führt eine Aktion in einem Konnektor oder einem Dienst aus. Im Hintergrund wird ein API-Aufruf ausgeführt. | Slack-Send Message (Slack – Nachricht senden), Office 365 Mail-Send Email (Office 365 Mail – E-Mail-senden), Okta-Add User to Group (Okta – Benutzer zu Gruppe hinzufügen) | Führt Automatisierungslogik aus – Nachrichten senden, Benutzer aktualisieren, Datensätze erstellen |
| Funktionskarte | Bearbeitet oder formatiert Daten | Text-Compose (Text – Verfassen), List-Filter (Liste – Filtern), Date-Format (Daten – Formatieren) | Hilft bei der Transformation und Formatierung von Daten |
Zuerst müssen Sie festlegen, wie ein Ablauf ausgelöst werden soll. Sie haben mehrere Optionen: bei einem bestimmten Ereignis, nach Zeitplan und über einen API-Endpoint. Sobald Sie einen Ablauf gestartet haben, verwenden Sie Aktionen (von Konnektoren) zum Aufrufen anderer Dienste und Funktionen zum Bearbeiten und Erstellen von Daten.