Okta Workflowsイベントの理解

このブログはこちらの英語ブログ(2025年1月23日公開)の機械翻訳です。

Okta Workflows は、アイデンティティプロセスを自動化するためのイベント駆動型プラットフォームです。Okta Workflowsを使用すると、Oktaまたはサードパーティサービスでイベントが発生したときにフローをトリガーすることができます。

このブログ記事では、イベントが発生したときに自動化をトリガーする方法について説明します。

  1. Oktaおよびその他のサービスからの組み込みコネクタイベントを使用する
  2. Oktaイベント用のイベントフック(ウェブフック)を使用する
  3. サードパーティサービス用のウェブフックを使用する
  4. イベントの検索(System Log)
  5. Okta Workflowsリソース

Okta Workflowコネクターと接続について学びます。「Okta Workflowsコネクターの理解」をご参照ください。

Oktaとその他のサービスからのビルトインのコネクターイベントを使用する

イベントが発生したときにフローをトリガーするには、フローの開始時に「Add event」をクリックして、事前構築されたコネクターの一覧を表示します。

Workflows Hooks Connectors1

Okta Workflowsの事前設定済みコネクター

コネクターを選択すると、そのコネクターがサポートするイベントの一覧が表示されます。Oktaコネクターを選択すると、以下のイベント(一部)が表示されます。

Workflows Hooks Okta events

Oktaコネクターがサポートするイベント

これらのイベントを使用してフローをトリガーできます。たとえば、ユーザーがアクティブ化されたときにフローをトリガーするには、User Activatedイベントを使用します。

Slackコネクターを選択すると、以下のイベントが表示されます。

Workflows Hooks Slack events

Slackコネクターのイベント

たとえば、チャンネルに新しいメッセージが届いたときにフローをトリガーすることができます(「チャンネルに新しいメッセージが届いた」イベント)。

User Activatedイベントを使用したフローの例

User Activatedイベントを使用したフローを見てみましょう。

workflows hooks user activated flow

ユーザー有効化通知フロー

このフローには次のステップがあります。

  1. 最初のカードは「Okta - User Activated」イベントです。これは、Oktaでユーザーが有効化されたときにフローをトリガーするようにセットアップします。
  2. Text - Composeカードでは、ユーザーのメールアドレスと名前を含むメッセージを作成します。
  3. Slack - Send Message to Channelでは、ユーザーが有効になったことを示すメッセージをSlackチャンネルに送信します。

ユーザーを有効にする

Okta Dashboard > Directory > Peopleに移動し、ユーザーを選択して有効にします。

workflows hooks user profile activate

Oktaユーザー

ユーザーが有効になったイベントが発生すると、Okta Workflowsがフローをトリガーします。フローの実行はExecution Historyで確認できます。

workflows hooks user activated flow history

ユーザー有効化通知フローの実行

このセクションでは、組み込みのOkta Workflowsイベントを使用してフローをトリガーする方法について説明しました。

Oktaイベント用のイベントフック(Webhook)を使用する

組織のセキュリティ対策の一環として、漏洩した認証情報のリストに表示されているパスワードをユーザーが使用した場合に通知を送信したい場合があります。

Oktaコネクターでそのようなイベントを検索できますが、見つかりません。Oktaコネクターでは、この特定のイベントは公開されていません。

workflows hooks password event not found1

Oktaイベントの検索

Okta Workflowsコネクターではすべてのイベントが公開されていませんが、イベントフックを使用してフローをトリガーできます。OktaのイベントフックはWebhookに似ています。

イベントフックをセットアップする際には、特定のOktaイベントが発生したときに呼び出すAPI Endpointを指定します。API Endpointを使用してOkta Workflowsフローを呼び出すことができるため、イベントフックをセットアップしてフローを呼び出すことができます。

パスワード違反通知イベントフックの例

API Endpointを使用するフロー

まず、API Endpointで呼び出すことができるフローを作成する必要があります。APIEndpointを使用してフローを呼び出すには、最初のカードをAPIEndpointカードに設定します。

workflows hooks flow api endpoint2

API Endpointを使用してフローをトリガー

カードの設定にAPIEndpointのURLが表示されます。

workflows hooks flow api endpoint settings2

フローAPIEndpointのURL

イベントフックのセットアップ

次に、Workflow > Event hooks > Create Event Hookでイベントフックをセットアップします。フロー EndpointのURLイベントフック名説明を入力し、ページの最後に、このイベントフックをトリガーするイベントを選択します。この例のイベントは次のとおりです。

既知の侵害に関連付けられているパスワードなどの認証情報が認証フローで使用された。

workflows hooks create

イベントフックのセットアップ

イベントカタログを使用して、イベントフックの対象となるすべてのイベントを確認します(event-hook-eligible タグを検索)。

Workflows Eventhooks Catalogue

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

Workflows Eventhooks Catalogue

イベントフックのテスト

イベントフックは、Okta Workflowsフローをトリガーします。

workflows hooks event hook execution

イベントフックがフローをトリガー

フローがSlackにメッセージを送信します。

workflows hooks event hook slack message

Slackメッセージ

OktaのBryan Barrows氏は、パスワード漏洩イベント用のイベントフックのセットアップに関する優れたステップバイステップのチュートリアルを書いています。パスワード漏洩イベント用の通知の送信テンプレートも試してみてください。

このセクションでは、Okta Workflowsに組み込みのイベントカードがないOktaイベントを使用してフローを実行する方法を説明しました。

また、Okta Workflowsの組み込みイベントに対してイベントフックを使用することも可能です。次のセクションでは、フィルタリングを使用したイベントフックの使用方法について説明します。

フィルタリングを使用したユーザーのグループへの追加

ユーザーがNo-Code Buildersという名前のグループに追加されたときに、フローの自動処理を実行したいとします。Okta - User Added to Group(Okta - ユーザーがグループに追加された)イベントカードは、このような自動処理のトリガーとして使用できます。

workflows hooks user added to group

User Added to Groupイベントカード

この自動化は、特定のNo-Code Buildersグループだけでなく、ユーザーを任意のグループに追加したときに実行されます。

1つの解決策は、フロー内にロジックを配置してグループ名をチェックし、グループ名がNo-Code Buildersの場合にのみフローの実行を継続することです。このアプローチは、異なる目的で複数のグループをフィルタリングする必要がある場合、より複雑になる可能性があります。

別の解決策は、フィルタリング機能付きのイベントフックを使用することです。

フィルタ付きのイベントフックをセットアップします

フローの API URL をイベントフックに登録する必要があるため、User Added to Groupイベントカードではなく、API Endpointカードからフローを開始します。

workflows hooks user added flow

ユーザーがグループに追加されたことをフローに通知

イベントフックでフローの API URL を設定し、User Added to Groupイベントを使用します。このイベントは、Workflows にイベントカードがあるのと同じイベントです。

workflows hooks user added group1

Event hook

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

workflows hooks fitler1

イベントフックフィルターの編集

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

workflows hooks fitler2

イベントフックフィルター

イベントフックは、ユーザーをNo-Code Buildersグループに追加したときにのみフローをトリガーします。

イベントフックのフィルタリングとOkta Workflowsのチュートリアルでは、グループフィルタリングを使用したイベントフックのセットアップ方法を説明しています。

これまでに、イベントでフローをトリガーする2つの方法について説明しました。

  • 組み込みのイベントカードを使用する。
  • イベントフックを使用する。

また、サードパーティサービスでイベントが発生したときに、Webhookを使用してフローをトリガーすることもできます。

Oktaでは、Webhookをイベントフックと呼びます。

サードパーティサービス用のWebhookを使用する

多くのサービスがWebhookをサポートしています。Webhookは、サードパーティサービスでイベントが発生したときにAPI Endpointを呼び出します。API Endpointを使用してOkta Workflowsフローを呼び出すことができるため、サードパーティサービスからフローを呼び出すことができます。

GoogleフォームWebhookの例

次のGoogleフォームが送信されたときに、Oktaでユーザーを作成したい場合:

workflows hooks googleforms

Googleフォーム

フォーム送信トリガーをセットアップしてスクリプトを実行し、Okta WorkflowsフローAPI Endpointに呼び出しを行います。

workflows hooks googleforms script

Googleフォームスクリプト

Googleフォームが呼び出すフローでOktaユーザーを作成します。

workflows hooks googleforms flow

Oktaでユーザー作成を処理するフロー

Okta Workflowsには、この自動化用のテンプレートがあります。フォーム送信から Workflows API Endpoint

Typeformウェブフックの例

次の例では、TypeformのWebhookを使用してOkta Workflowsフローを実行し、Oktaユーザーを作成します。この例では、コードやスクリプトを記述する必要はありません。

workflows hooks typeform form

Typeform

ユーザーがこのフォームを送信すると、TypeformはWebhookとして登録されている Workflows API Endpointを呼び出します。

workflows hooks typeform webhook

Typeform webhook.

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

workflows hooks typeform flow

TypeformからのWebhookを処理するフロー

このセクションでは、外部サービスでイベントが発生したときにAPI Endpointを使用してフローを呼び出す方法を説明しました。

イベントをSystem Logで検索

もう1つのオプションとして、特定のイベントをSystem Logで検索する方法もあります。

次のフローはスケジュールに従って実行され、カスタムフィルタを使用したOkta - Search System Logsカードを使用して、過去24時間のログイン失敗をログから検索します。

workflows hooks search systemlog flow

System Logでログイン失敗を検索

検索結果をテーブルに保存して、CSVファイルにエクスポートしたり、メールで送信したりできます。

Okta Workflowsのリソース

📺 Okta Workflows の動画で学習する。

🛟 Okta Workflows コミュニティフォーラムで質問する。

🙋🏻‍♀️ コミュニティからサポートを受ける:MacAdmins Slack の#okta-workflows チャンネルに参加する。

以上の内容は、原文(英語)の機械翻訳であり、原文と内容に差異がある場合は、原文が優先されます。

Tags

Workflows