Okta Workflowsイベントの理解
このブログはこちらの英語ブログ(2025年1月23日公開)の機械翻訳です。
Okta Workflows は、アイデンティティプロセスを自動化するためのイベント駆動型プラットフォームです。Okta Workflowsを使用すると、Oktaまたはサードパーティサービスでイベントが発生したときにフローをトリガーすることができます。
このブログ記事では、イベントが発生したときに自動化をトリガーする方法について説明します。
- Oktaおよびその他のサービスからの組み込みコネクタイベントを使用する
- Oktaイベント用のイベントフック(ウェブフック)を使用する
- サードパーティサービス用のウェブフックを使用する
- イベントの検索(System Log)
- Okta Workflowsリソース
Okta Workflowコネクターと接続について学びます。「Okta Workflowsコネクターの理解」をご参照ください。
Oktaとその他のサービスからのビルトインのコネクターイベントを使用する
イベントが発生したときにフローをトリガーするには、フローの開始時に「Add event」をクリックして、事前構築されたコネクターの一覧を表示します。
Okta Workflowsの事前設定済みコネクター
コネクターを選択すると、そのコネクターがサポートするイベントの一覧が表示されます。Oktaコネクターを選択すると、以下のイベント(一部)が表示されます。
Oktaコネクターがサポートするイベント
これらのイベントを使用してフローをトリガーできます。たとえば、ユーザーがアクティブ化されたときにフローをトリガーするには、User Activatedイベントを使用します。
Slackコネクターを選択すると、以下のイベントが表示されます。
Slackコネクターのイベント
たとえば、チャンネルに新しいメッセージが届いたときにフローをトリガーすることができます(「チャンネルに新しいメッセージが届いた」イベント)。
User Activatedイベントを使用したフローの例
User Activatedイベントを使用したフローを見てみましょう。
ユーザー有効化通知フロー
このフローには次のステップがあります。
- 最初のカードは「Okta - User Activated」イベントです。これは、Oktaでユーザーが有効化されたときにフローをトリガーするようにセットアップします。
- Text - Composeカードでは、ユーザーのメールアドレスと名前を含むメッセージを作成します。
- Slack - Send Message to Channelでは、ユーザーが有効になったことを示すメッセージをSlackチャンネルに送信します。
ユーザーを有効にする
Okta Dashboard > Directory > Peopleに移動し、ユーザーを選択して有効にします。
Oktaユーザー
ユーザーが有効になったイベントが発生すると、Okta Workflowsがフローをトリガーします。フローの実行はExecution Historyで確認できます。
ユーザー有効化通知フローの実行
このセクションでは、組み込みのOkta Workflowsイベントを使用してフローをトリガーする方法について説明しました。
Oktaイベント用のイベントフック(Webhook)を使用する
組織のセキュリティ対策の一環として、漏洩した認証情報のリストに表示されているパスワードをユーザーが使用した場合に通知を送信したい場合があります。
Oktaコネクターでそのようなイベントを検索できますが、見つかりません。Oktaコネクターでは、この特定のイベントは公開されていません。
Oktaイベントの検索
Okta Workflowsコネクターではすべてのイベントが公開されていませんが、イベントフックを使用してフローをトリガーできます。OktaのイベントフックはWebhookに似ています。
イベントフックをセットアップする際には、特定のOktaイベントが発生したときに呼び出すAPI Endpointを指定します。API Endpointを使用してOkta Workflowsフローを呼び出すことができるため、イベントフックをセットアップしてフローを呼び出すことができます。
パスワード違反通知イベントフックの例
API Endpointを使用するフロー
まず、API Endpointで呼び出すことができるフローを作成する必要があります。APIEndpointを使用してフローを呼び出すには、最初のカードをAPIEndpointカードに設定します。
API Endpointを使用してフローをトリガー
カードの設定にAPIEndpointのURLが表示されます。
フローAPIEndpointのURL
イベントフックのセットアップ
次に、Workflow > Event hooks > Create Event Hookでイベントフックをセットアップします。フロー EndpointのURL、イベントフック名、説明を入力し、ページの最後に、このイベントフックをトリガーするイベントを選択します。この例のイベントは次のとおりです。
既知の侵害に関連付けられているパスワードなどの認証情報が認証フローで使用された。
イベントフックのセットアップ
イベントカタログを使用して、イベントフックの対象となるすべてのイベントを確認します(event-hook-eligible タグを検索)。
イベントフックウィザードの最後のページで、イベントフックをテストできます。
イベントフックのテスト
イベントフックは、Okta Workflowsフローをトリガーします。
イベントフックがフローをトリガー
フローがSlackにメッセージを送信します。
Slackメッセージ
OktaのBryan Barrows氏は、パスワード漏洩イベント用のイベントフックのセットアップに関する優れたステップバイステップのチュートリアルを書いています。パスワード漏洩イベント用の通知の送信テンプレートも試してみてください。
このセクションでは、Okta Workflowsに組み込みのイベントカードがないOktaイベントを使用してフローを実行する方法を説明しました。
また、Okta Workflowsの組み込みイベントに対してイベントフックを使用することも可能です。次のセクションでは、フィルタリングを使用したイベントフックの使用方法について説明します。
フィルタリングを使用したユーザーのグループへの追加
ユーザーがNo-Code Buildersという名前のグループに追加されたときに、フローの自動処理を実行したいとします。Okta - User Added to Group(Okta - ユーザーがグループに追加された)イベントカードは、このような自動処理のトリガーとして使用できます。
User Added to Groupイベントカード
この自動化は、特定のNo-Code Buildersグループだけでなく、ユーザーを任意のグループに追加したときに実行されます。
1つの解決策は、フロー内にロジックを配置してグループ名をチェックし、グループ名がNo-Code Buildersの場合にのみフローの実行を継続することです。このアプローチは、異なる目的で複数のグループをフィルタリングする必要がある場合、より複雑になる可能性があります。
別の解決策は、フィルタリング機能付きのイベントフックを使用することです。
フィルタ付きのイベントフックをセットアップします
フローの API URL をイベントフックに登録する必要があるため、User Added to Groupイベントカードではなく、API Endpointカードからフローを開始します。
ユーザーがグループに追加されたことをフローに通知
イベントフックでフローの API URL を設定し、User Added to Groupイベントを使用します。このイベントは、Workflows にイベントカードがあるのと同じイベントです。
Event hook
次に、イベントフックの設定で[Filters]タブに移動します。このタブでは、ユーザーが特定のグループに追加された場合にのみ、このイベントフックを処理するように設定します(フィルターなしでは、組み込みのイベントカードと同様に、すべてのグループに対して機能します)。
イベントフックフィルターの編集
イベントフックフィルターは、ユーザーが[No-Code Builders]グループに追加されたかどうかを確認します。
イベントフックフィルター
イベントフックは、ユーザーをNo-Code Buildersグループに追加したときにのみフローをトリガーします。
イベントフックのフィルタリングとOkta Workflowsのチュートリアルでは、グループフィルタリングを使用したイベントフックのセットアップ方法を説明しています。
これまでに、イベントでフローをトリガーする2つの方法について説明しました。
- 組み込みのイベントカードを使用する。
- イベントフックを使用する。
また、サードパーティサービスでイベントが発生したときに、Webhookを使用してフローをトリガーすることもできます。
Oktaでは、Webhookをイベントフックと呼びます。
サードパーティサービス用のWebhookを使用する
多くのサービスがWebhookをサポートしています。Webhookは、サードパーティサービスでイベントが発生したときにAPI Endpointを呼び出します。API Endpointを使用してOkta Workflowsフローを呼び出すことができるため、サードパーティサービスからフローを呼び出すことができます。
GoogleフォームWebhookの例
次のGoogleフォームが送信されたときに、Oktaでユーザーを作成したい場合:
Googleフォーム
フォーム送信トリガーをセットアップしてスクリプトを実行し、Okta WorkflowsフローAPI Endpointに呼び出しを行います。
Googleフォームスクリプト
Googleフォームが呼び出すフローでOktaユーザーを作成します。
Oktaでユーザー作成を処理するフロー
Okta Workflowsには、この自動化用のテンプレートがあります。フォーム送信から Workflows API Endpoint。
Typeformウェブフックの例
次の例では、TypeformのWebhookを使用してOkta Workflowsフローを実行し、Oktaユーザーを作成します。この例では、コードやスクリプトを記述する必要はありません。
Typeform
ユーザーがこのフォームを送信すると、TypeformはWebhookとして登録されている Workflows API Endpointを呼び出します。
Typeform webhook.
Webhookは次のOkta Workflowsフローを呼び出します。
TypeformからのWebhookを処理するフロー
このセクションでは、外部サービスでイベントが発生したときにAPI Endpointを使用してフローを呼び出す方法を説明しました。
イベントをSystem Logで検索
もう1つのオプションとして、特定のイベントをSystem Logで検索する方法もあります。
次のフローはスケジュールに従って実行され、カスタムフィルタを使用したOkta - Search System Logsカードを使用して、過去24時間のログイン失敗をログから検索します。
System Logでログイン失敗を検索
検索結果をテーブルに保存して、CSVファイルにエクスポートしたり、メールで送信したりできます。
Okta Workflowsのリソース
📺 Okta Workflows の動画で学習する。
🛟 Okta Workflows コミュニティフォーラムで質問する。
🙋🏻♀️ コミュニティからサポートを受ける:MacAdmins Slack の#okta-workflows チャンネルに参加する。
以上の内容は、原文(英語)の機械翻訳であり、原文と内容に差異がある場合は、原文が優先されます。