Okta Workflows は、アイデンティティプロセスを自動化するためのイベントドリブンなプラットフォームです。Workflowsを使用すると、Oktaまたはサードパーティサービスでイベントが発生したときにフローをトリガーできます。
このブログ投稿では、イベントが発生したときに自動化をトリガーする方法について説明します。
- Okta
- Oktaイベントのイベントフック(webhook)の使用
- サードパーティサービスにwebhookを使用する
- イベントのシステムログを検索する
- Okta Workflows のリソース
Okta Workflowコネクタと接続について学びます。Okta Workflowsコネクタについてをご覧ください。
Okta
イベント発生時にフローをトリガーするには、フローの開始時にイベントを追加(Add event)をクリックして、事前構築済みのコネクターのリストを表示します。

Okta Workflows 事前構築済みコネクタ。
コネクタを選択して、サポートされているイベントを表示します。Oktaコネクタを選択すると、次のイベントが表示されます(一部リスト):

Okta
これらのイベントを使用してフローをトリガーできます。たとえば、ユーザーがアクティブ化されたときにフローをトリガーするには、User Activated(ユーザーのアクティブ化)イベントを使用します。
Slack コネクタを選択すると、次のイベントが表示されます。

Slack コネクタイベント。
たとえば、新しいメッセージがチャネルに到着したときにフローをトリガーできます(New Message in Channelイベント)。
ユーザーアクティベートイベントのサンプルフロー
ユーザーアクティブ化イベントを使用するフローを見てみましょう。

ユーザーアクティブ化通知フロー。
フローには次のステップがあります。
- 最初のカードは、Okta - User Activated イベントです。これは、Okta でユーザーがアクティブ化されたときにフローをトリガーするように設定します。
- Text — Composeカードは、ユーザーのメールと名前でメッセージを作成します。
- Slack — Send Message to ChannelSlack
ユーザーをアクティブ化する
[Oktaダッシュボード(Okta Dashboard)]>[ディレクトリ(Directory)]>[ユーザー(People)]に移動し、ユーザーを選択してアクティブ化します。

Okta
ユーザーのアクティブ化イベントが発生すると、Workflowsがフローをトリガーします。フローの実行は、[Execution History(実行履歴)]で表示できます。

ユーザーがアクティブ化した通知フローの実行。
このセクションでは、組み込みのWorkflowsイベントを使用してフローをトリガーする方法を説明しました。
Oktaイベントのイベントフック(webhook)の使用
組織のセキュリティ体制の一環として、ユーザーが侵害された認証情報のリストに表示されたパスワードを使用したときに通知を送信する必要があります。
Oktaコネクタでそのようなイベントを探すことができますが、見つかりません。Okta Connector は、この特定のイベントを公開しません。

Oktaイベントの検索。
Okta Workflowsコネクターはすべてのイベントを公開していませんが、イベントフックを使用してフローをトリガーできます。イベントフックは、OktaのWebhookに似ています。
イベントフックを設定するときは、特定のOktaイベントが発生したときに呼び出すAPIエンドポイントを指定します。APIエンドポイントを使用してWorkflowsフローを呼び出すことができるため、イベントフックを設定してフローを呼び出すことができます。
侵害されたパスワード通知イベントフックの例
APIエンドポイントとのフロー
最初に、APIエンドポイントで呼び出すことができるフローを作成する必要があります。APIエンドポイントでフローをトリガーするには、最初のカードをAPI Endpointカードに設定します。

API
カードの設定には、APIエンドポイントURLが表示されます。

フローAPIエンドポイントURL。
イベントフックを設定する
次に、Workflow > Event hooks > Create Event Hookでイベントフックを設定します。フローのEndpoint URL、Event Hook name、and Descriptionを入力し、このページの最後に、このイベントフックをトリガーするイベントを選択します。この例のイベントは次のとおりです。
既知の侵害に関連付けられているパスワードなどの認証情報が、認証フロー中に使用されました。

イベントフックのセットアップ。
イベントカタログを使用して、すべてのイベントフック適格イベントを見つけます(event-hook-eligibleタグを探します)。

イベントフックウィザードの最後のページでイベントフックをテストできます。

イベントフックのテスト。
イベントフックは、Workflowsフローをトリガーします:

イベントフックがフローをトリガーします。
フローはSlackにメッセージを送信します。

Slackメッセージ。
OktaのBryan Barrowsは、侵害されたパスワードイベントのイベントフックの設定に関する優れたステップバイステップチュートリアルを書きました。侵害されたパスワードイベントの通知の送信テンプレートも試してください。
このセクションでは、Workflowsに組み込みのイベントカードがないOktaイベントを使用してフローを実行する方法について説明しました。
Okta Workflows次のセクションでは、フィルタリングでイベントフックを使用する方法について学習します。
フィルタリングを使用したグループへのユーザーの追加
No-Code Builders という名前のグループにユーザーが追加されたときに、フローの自動化を実行したいとします。Okta — User Added to Group イベントカードは、そのような自動化をトリガーする可能性があります。

グループイベントカードに追加されたユーザー。
この自動化は、特定のNo-Code Buildersグループだけでなく、任意のグループにユーザーを追加するときに実行されます。
1つの解決策は、グループ名をチェックし、グループ名がNo-Code Buildersの場合にのみフローの実行を続行するロジックをフロー内に配置することです。さまざまな目的で複数のグループをフィルタリングする必要がある場合、このアプローチはより複雑になる可能性があります。
別の解決策は、フィルタリングでイベントフックを使用することです。
フィルターを使用したイベントフックの設定
フローは、イベントフックでフローAPI URLを登録する必要があるため、User Added to Groupイベントカードではなく、API Endpoint cardから開始されます。

グループに追加されたユーザーに通知するフロー。
イベントフックは、フローAPI URLを構成し、User Added to Groupイベントを使用します。このイベントは、Workflowsにイベントカードがあるのと同じイベントです。

イベントフック
次に、イベントフックの設定で[**Filters**]タブに移動します。このタブでは、ユーザーが特定のグループに追加された場合にのみ、このイベントフックを処理するように構成します(フィルターがない場合、組み込みのイベントカードのように、すべてのグループに対して機能します)。

イベントフックフィルターの編集。
イベントフックフィルターは、ユーザーがNo-Code Buildersグループに追加されたかどうかを確認します。

イベントフックフィルター。
イベントフックは、ユーザーをNo-Code Buildersグループに追加したときにのみフローをトリガーします。
Event Hook Filtering and Okta Workflowsのチュートリアルでは、グループフィルタリングでイベントフックを設定する方法について説明します。
これまでのところ、イベントでフローをトリガーする2つの方法について学びました。
- 組み込みのイベントカードを使用する。
- イベントフックを使用する。
Webhookを使用して、サードパーティサービスでイベントが発生したときにフローをトリガーすることもできます。
Okta では、webhook をイベントフックと呼びます。
サードパーティサービスにwebhookを使用する
多くのサービスがwebhookをサポートしています。webhookは、サードパーティサービスでイベントが発生したときにAPIエンドポイントを呼び出します。APIエンドポイントを使用してWorkflowsフローを呼び出すことができるため、サードパーティサービスからフローを呼び出すことができます。
Googleフォームwebhookの例
次のGoogleフォームが送信されたときに、Oktaでユーザーを作成したいとします:

Googleフォーム。
フォーム送信トリガーを設定してスクリプトを実行し、Workflows フロー API エンドポイントを呼び出します。

Googleフォームスクリプト。
Oktaユーザーを作成するためにGoogleフォームが呼び出すフロー:

Oktaでユーザー作成を処理するフロー。
Workflowsには、この自動化のテンプレートがあります:Form Submission to Workflows API Endpoint。
Typeformのwebhookの例
次の例では、Typeform webhookを使用して、Workflowsフローを実行してOktaユーザーを作成します。この例では、コードやスクリプトを記述する必要はありません。

Typeform。
ユーザーがこのフォームを送信すると、Typeformはwebhookとして登録されているWorkflows APIエンドポイントを呼び出します。

Typeform Webhook。
webhookは、次のWorkflowsフローを呼び出します。

TypeformからのWebhookを処理するフロー。
このセクションでは、外部サービスでイベントが発生したときに、APIエンドポイントを使用してフローを呼び出す方法について説明しました。
イベントのシステムログを検索する
もう1つのオプションは、特定のイベントのシステムログを検索することです。
次のフローはスケジュールどおりに実行され、カスタムフィルターを含むOkta —Search System Logsカードを使用して、過去24時間のログイン失敗のログを検索します。

システムログで失敗したログインを検索しています。
検索結果をテーブルに保存して、CSVファイルにエクスポートしてメールで送信できます。
Okta Workflows のリソース
🍫 毎週のコミュニティオフィスアワー中にOkta Workflowsスペシャリストからヘルプを入手してください。
📺 Okta Workflowsビデオから学びましょう。
🛟 Okta Workflowsコミュニティフォーラムで質問をしてください。
🙋🏻♀️ コミュニティからヘルプを得る:MacAdmins Slackの#okta-workflows channelに参加してください。