はじめてのOkta Workflowsシリーズ 第1回 Okta Workflowsとは
Okta Workflowsは、IDaaSでビジネスプロセスの自動化を行うためのソリューションです。このブログでは、Okta Workflowsがどのように役立つかをイメージして頂けるよう、機能の概要と他社の自動化ソリューションとの違いを説明をします。
Okta Workflowsの特長① No Code
プロセスの自動化と聞くとInfrastracture as Codeのような複雑なソリューションを思い浮かべる方も多いと思いますが、Okta Workflowsは自動化ステップの作成、メンテナンスカスタマイズをNo Codeで行うソリューションです。
スクリプトやカスタムコードは、開発自体が大変ですが、さらに、カスタムスクリプト/コード用のホスティングプラットフォームに信頼性と可用性を求めるとコストが高くなります。
Okta WorkflowsはNo Codeで可視性の高いGUIで構築されるため、専任のリソースやカスタムコーディングを必要とせず、また、Okta Workflowsの処理は可用性の高いOktaの環境で実行されるため、ソースコードのメンテナンスやインフラ維持のためのコストを必要としません。
Okta Workflowsの特長② プレビルドのアプリケーションへのコネクタ
セキュリティ面では、APIを介して外部サービスを呼び出すためには、APIキーとトークンを保護する必要がありますが、これをコードやスクリプトで行うのは安全ではありません。
Okta Workflowsのユニークな機能のひとつとして、プレビルドされたアプリケーションへのコネクタがあります。各アプリケーションのAPIリファレンスを見ていちからコマンドを作成することなく、必要なパラメータのインプットだけで、様々な操作を実行できます。
また、APIを介して外部サービスを呼び出す必要がなくなり、高いセキュリティを実現することができます。
Okta Workflowsの特長③ プレビルドのテンプレート
さらに、Okta Workflowsではお客様のお役に立つ自動化のユースケースに合わせたプレビルドのテンプレートが数多く用意されているため、自社の環境に合わせてテンプレートをカスタマイズ(アプリケーションのテナント変更など)することにより、いちから自動化プロセスを構築する必要がなくなります。
ユースケースのご紹介
ここで、部署異動/退社に伴う各アプリケーションでのデプロジョニング(アカウントの無効化)をご紹介します。Oktaも含めてデプロビジョニングを1つの機能として実装していますが、以下の例のように使用を制限する場合があります。
例)データを保存するアプリケーション(Box、Dropbox、GSuite、Salesforce など)でアカウント削除の前にリソースの再割り当てを行ったり、猶予期間を設ける必要がある場合です。このような場合、Okta Workflowsを使えば、前述のリソース再割り当てや猶予期間の設定を自動で行うことができます。
この他にも、下記のように様々なユースケースがありますので、次回以降のブログでいくつかのユースケースをピックアップし、構築ステップをご紹介します。
- 契約社員の期間限定アクセスを可能にするための入退社の日時指定
- ユーザリストのCSV出力
- 新入社員のメールアドレスを重複がないように自動生成し、登録
- 一定期間ログインのないユーザリストを定期的に作成
- 疑わしいイベントのレポートを定期的に作成
- エンドユーザが特定アクションを行った時に管理者に通知
- 外部システム(チケットシステム)と連携したプロビジョニングの制御
Okta Workflowsに適するケースと適さないケース
ここで、現時点でサポートされているOkta Workflowsの機能が適するケースと適さないケースをご紹介します。
適するケース
- アイデンティティとプロビジョニングの自動化を、高い可用性のもと1つのソリューションで行いたい
- アイデンティティを中心としたいくつかのユースケースを自動化したいが、そのために異なる製品を導入するのは敷居が高いと感じている
- Oktaでアイデンティティの運用をしている
- 他のSaaSアプリケーションでアクションを実行するためにOktaイベントからワークフローをトリガーする必要がある
適さないケース
- 外部システムとの連携がなく、申請/承認などに人が介在するプロセスを自動化する
- インターネット非公開 や API非対応のオンプレの要件を持つ場合(ディレクトリ、データベース、オンプレミスのアプリケーションなど)
- 見積りから売上までのビジネスプロセスなど、アイデンティティが関わらないユースケースのサポートに、複数アプリケーションを接続したいと考えている場合
機能構成のご紹介
最後に、機能構成についてご紹介します。
自動化のステップ作成には、「カード」と呼ばれる各処理をフローに合わせて順番に配置していきます。各カードには入力フィールド(input)と出力フィールド(output)があり、あるカードの処理結果やデータ(output)をドラッグ&ドロップにより次のカードのinputにマッピングし自動化のステップを作成します。
カードには下記の3種類があります。
- イベントカード(Event):フローを開始するきっかけをつくるためのカード。(例:アプリケーションイベント、スケジュールイベント、オンデマンドフロー(Webhookや公開サービスによるAPI呼び出し)
- アクションカード(Action):アプリケーションの機能を使ったり、処理結果などのデータを渡すためのカード。
- 関数カード(Function):フロー内のデータを操作/変更/制御できるカード。通常、関数カードはアクションカード間に配置され、コードなしで豊富なロジックを提供。(例:数字演算、if文、リスト(For Each:反復処理)、テキスト作成/変更/解析)
また、単一のフロー内で繰り返し使用されたり、複数のフローで使用される一連のステップがある場合、それらを「ヘルパーフロー」としてまとめることにより、特定のフローを繰り返し利用することもできます。なお、「テーブル」という仕組みを使ってフロー間でデータの受け渡しや共有が可能です。
このように、No codeではありますが、各ユースケースの自動化を実現するためのあらゆる機能が準備されています。https://help.okta.com/wf/en-us/Content/Topics/Workflows/workflows-main.htm
Okta Workflowsはアイデンティティを中心としたプロセス自動化が目的であり、一つ一つの機能では実装できない、幅広い、痒いところに手の届く自動化を提供します。
SSOとUDのライセンスをご購入のお客様は5つのフローまで無料でご利用頂けますので、これをきっかけに是非ご検討頂ければと思います。
次回の予告
第2回 Hello Workflows編では、Okta Workflowsの簡単なユースケースおよび構成例を1つ挙げ、実際にOkta Workflowsを作成します。上記の機能をより具体的にご理解頂ける内容になっています。