目次 Okta Workflowsのアプリケーション連携 アプリケーション連携の幅を大きく広げるAPI Connector API Connectorを設定するには API Connectorによる連携:ChatGPT APIを用いたサンプルID生成<前編>アプリケーションへの接続と取得データの検証 API Connectorによる連携:ChatGPT APIを用いたサンプルID生成<後編>フローの定義 サンプル・フローのダウンロード 最後に Okta Workflowsシリーズ Okta Workflowsとアプリケーションとの連携を汎用的にサポートする「API Connector」について、その活用方法をご紹介します。API Connectorにより、Okta Workflowsに用意されたテンプレートの枠を越えて、多くのアプリケーションの機能をきめ細かくとりこむことが可能となります。 Okta Workflowsのアプリケーション連携 Okta Workflows の最大の特長は各アプリケーションが有する多彩な機能をとりこめるところにあり、その範囲はアイデンティティ管理運用にとどまりません。設定はノーコードで容易であり、それを可能にするテンプレートである「コネクター」がアプリケーション毎に豊富に用意されています。例えば、以下のようなアプリケーション操作の自動実行が簡単に設定できます。 Excel Online(Microsoft 365)やGoogleスプレッドシートの、ワークシート上で指定したセルの読み出し/書き込み Box、Googleドライブ、OneDriveにフォルダを新規作成し、指定したファイルをアップロード ServiceNowやJira上にインシデントを登録 また、あるアプリケーションから取得した値を加工し別のアプリケーションの操作の入力に用いることで、複数のアプリケーション間を結合することができます。このことから、Okta Workflowsはマルチアプリケーション自動化プラットフォームととらえることができます。 個別のテンプレートが用意されているOkta Workflows対応アプリケーションは以下から確認することができます。 https://www.okta.com/integrations/?capability=workflows-connectors (Okta Integration Network、左側メニューより[Functionality]-[Workflows Connectors]を選択) Okta Workflowsのアプリケーションのコネクターは以下で構成されます。 アクションカード アプリケーションへの操作を行うカードで、操作毎に個別のカードが用意されています。フロー上に複数のアクションカードが配置可能です。 イベントカード アプリケーションでの何らかの動作をフローの開始の契機とする場合に用いるカードで、対象となるアプリケーションの動作毎に個別のカードが用意されています。フロー上の冒頭部分にひとつだけ配置可能です。イベントカードは限られたアプリケーションにのみ用意されています。 コネクション アクションカードとイベントカードによりOkta Workflowsから当該のアプリケーションと接続・通信するための認証・認可情報、アクセス先ドメイン/URL等の情報を保持したエントリです。それぞれのアクションカードとイベントカード上では、定義済みのコネクションがひとつだけ選択されている状態である必要があります。 とくに活用の中心となるのはアクションカードです。アクションカードでは、個別のアプリケーションにおける典型的な操作が多数定義されており、自由度の大きいアプリケーション操作が可能になっています。 アプリケーション連携の幅を大きく広げるAPI Connector さらにOkta Workflowsでは、用意されている個別テンプレート(アクションカード)の使い方の範囲を越え、より広範囲なアプリケーションに対応あるいは多様な使い方を可能にするアクションカード「API Connector」があります。 API Connectorは、各アプリケーションが備えるREST APIに直接アクセスする動作を定義し実行できます。昨今のアプリケーションはクラウドであれオンプレミス展開のパッケージであれ、REST APIを備えているものが多くを占めます。Okta WorkflowsはこのAPI Connectorによって直接それらのアプリケーションと連携をすることができ、連携の幅が格段に広がります。 次にAPI Connectorの代表的なユースケースを3つ挙げます。とくにアクションカードに着目すると、プリビルドのOkta Workflowsとあわせて以下の図のような関係となります。 ユースケース1: Okta Workflowsコネクターが用意されていないアプリケーションの操作 新しいクラウドサービスであったり、その他の理由でOkta Workflowsで個別に対応したアプリケーションのコネクターがない場合に、API Connectorで対応することができます。 また、独自に構築したアプリケーションや、オンプレミスで展開され運用されるパッケージアプリケーションなどに対して、アイデンティティ管理から一般的なアプリケーション操作まで含めて、対応できます。 アプリケーションは、REST APIに対応していること、インターネット上のOkta Workflowsからアクセス可能であることが条件となります。 ユースケース2: Okta WICプロビジョニング未対応アプリケーションのプロビジョニング Okta WICが、個々のアプリケーションそれぞれにシングルサインオン認証(認証フェデレーション)をはじめとした連携対応する仕組みを用意するOkta Integration Network(OIN)では、プロビジョニングにおいてもすでにすでに700を越えるアプリケーションとの連携設定が用意されています。アプリケーション側にカスタムで追加したライセンスやプロファイル、ロール等を自動的に読み込み紐付けたユーザーの追加変更を自動的に行うなど、アプリケーションそれぞれの特性に応じた高度なプロビジョニングを容易に行うことができます(Lifecycle Management機能)。 それでもまだプロビジョニングの個別設定が用意されていないアプリケーションについては、Okta WICとシングルサインオン連携までは行えるもののユーザーをアプリケーション上に追加作成する作業が管理者の手作業として発生してしまうことがあります。 アプリケーションがREST APIを通じたユーザーの作成、読み出し、更新、削除/無効化に対応している場合に、Okta WorkflowsのAPI Connectorを通じてOkta WICのディレクトリ上のユーザーをアプリケーションに追加・変更などすることが可能です。Okta Workflowsフローとして定義し自動化することで、新たなアプリケーションへのプロビジョニング機能を追加することができます。 ユースケース3: Okta Workflowsコネクターの対応範囲を超えるようなアプリケーション操作 アクションカードで提供されている範囲外の操作をアプリケーションに対して行う場合には、前回の「はじめてのOkta Workflowsシリーズ第6回」で紹介したCustom API Actionによってあらたにアクションを定義することができます。 それでも、目的とするアプリケーション操作に対応できない場合があります。主な例として、Okta Workflowsコネクターのコネクションで定義されているOAuthの認可のスコープを越える範囲の権限が必要な操作があります。 コネクションではOAuthの認可のスコープのセットが決まっており、アプリケーションのAPI上でアクセス可能な認可範囲が固定されています。現状では任意にスコープを追加することができません。例えば、Google Workspace(全般)に対するコネクションであらかじめ組み入れられているのは以下の表の通りです。 「Google Workspace」コネクションで定義されているOAuthスコープ モバイル デバイスのメタデータの表示と管理 https://www.googleapis.com/auth/admin.directory.device.mobile ドメインのグループのプロビジョニングの表示と管理 https://www.googleapis.com/auth/admin.directory.group ドメインの組織部門の表示と管理 https://www.googleapis.com/auth/admin.directory.orgunit ドメインのユーザーのプロビジョニングの表示と管理 https://www.googleapis.com/auth/admin.directory.user ドメイン上のユーザーのデータ アクセス権の管理 https://www.googleapis.com/auth/admin.directory.user.security G Suite グループの設定を表示して管理 https://www.googleapis.com/auth/apps.groups.settings ドメインの G Suite ライセンスを表示して管理 https://www.googleapis.com/auth/apps.licensing 例えばユーザーに「特定の組織部門(OU)を管理範囲として指定する管理者ロールを割り当てる」という操作を行いたい場合には、以下のOAuthスコープが割り当てられている必要があります。 ドメインの委任管理者の役割の管理 https://www.googleapis.com/auth/admin.directory.rolemanagement このOAuthスコープは前述のGoogle Workspace(全般)のコネクションには含まれていません※。そのため、あらたにAPI Connectorで上記のOAuthスコープを含むGoogle Workspaceへの接続のためのコネクションを定義した上で、そのコネクションを用いるアクションカードによって実施することで実現します。 ※註:2024年6月現在、上記OAuthスコープはGoogle Workspace(全般)のコネクションに含まれるように変更されています。 API Connectorを設定するには アプリケーション毎に用意されたコネクターは、Okta Workflowsがアプリケーションと連携するにあたって必要な要素が用意されており、最小限の設定で容易に動作するようになっています。 対してAPI Connectorは、RESTful APIへのアクセスによる直接の操作を行うための構成・設定する作業を自ら行わないといけません。事前の情報収集、テストと修正の繰り返しなどがある程度必要になってきます。本項目の最後に、実際の情報収集の例を紹介します。 API Connectorでは、アクションカード、コネクションがありますが、イベントカードはありません。 API Connectorアクションカード API Connectorアクションカードは、API.