「Okta Integration Network」にプロビジョニングがないSaaSアプリと、ユーザー/グループプロビジョニング連携をしてみた。

はじめに

このブログでは、Oktaのアプリカタログである「Okta Integration Network」に存在していないSaaSアプリと、プロビジョニングをする方法を記載します。この記事を読んでいただくことで、Okta Workflowsを用いてユーザープロビジョニングを行う方法を理解することができます。

「Okta Integration Network」とは

Oktaと事前連携済みのSaaSやセキュリティ製品などが一覧化されており、Oktaとの連携を簡単に設定できるテンプレ―ト群です。
OktaはIDaaS製品の中でNo.1のテンプレート数を誇っており、現在シングルサインオン連携が7,300以上、ユーザー同期連携に関しては420以上あります。

プロビジョニングとは

今回説明するOktaのプロビジョニングは、ユーザープロビジョニングをさします。
例えば、Oktaが連携しているSaaSアプリケーションにユーザーをアサインすると、自動的に連携先のSaaSアプリケーションにユーザーが作成される、といった機能です。
Oktaではユーザーグループ単位でのプロビジョニングも可能です。

Okta Workflowsとは

Okta Workflowsは、ノーコード・ローコードでタスクの自動処理を実現できる機能です。
利用用途はかなり広く、アイデア次第ではほとんどのタスクを自動化でき、非常に便利です。

ユーザープロビジョニング連携

今回は、Okta Integration NetworkにテンプレートがないCybozu(kintone)に対して、ユーザープロビジョニングを行います。

※Okta WorkflowsはAPIでの連携になりますので、連携したいSaaSのREST APIが対応していなければ連携ができません。ご注意ください。

  • Okta管理画面からApplications>Applicationsを選択し、Browse App Catalogをクリック
Okta管理画面からApplications>Applicationsを選択し、Browse App Catalogをクリック
  • 検索欄にCybozuを入力し、Cybozu(cybozu.com)をクリック
検索欄にCybozuを入力し、Cybozu(cybozu.com)をクリック
  • 下図の画面が出てくるので、Addをクリック(Capabilitiesタブに設定可能な項目が表示される。表示がないためCybozuはプロビジョニング不可だとわかる)
下図の画面が出てくるので、Addをクリック(Capabilitiesタブに設定可能な項目が表示される。表示がないためCybozuはプロビジョニング不可だとわかる)
  • ドメインを入力し、Doneをクリック
ドメインを入力し、Doneをクリック
  • SAML連携設定を行う(今回は省略)
  • Okta管理画面のWorkflow>Workflows consoleを選択
Okta管理画面のWorkflow>Workflows consoleを選択
  • ページ上部のFlowsをクリック
ページ上部のFlowsをクリック
  • New Flowをクリックして作成開始
New Flowをクリックして作成開始
  • Add event項目でOktaを選択
Add event項目でOktaを選択
Add event項目でOktaを選択
  • User Assigned to Applicationを選択
User Assigned to Applicationを選択
  • 連携するAppを選択し、Saveをクリック
連携するAppを選択し、Saveをクリック
  • Add app actionをクリックし、再度Oktaを選択
Add app actionをクリックし、再度Oktaを選択
  • readと検索し、Read Userをクリック
readと検索し、Read Userをクリック
  • フィールドを選択できる画面が出てくるので、Username,firstname,lastname,Primary emailを選択し、Saveをクリック
フィールドを選択できる画面が出てくるので、Username,firstname,lastname,Primary emailを選択し、Saveをクリック
  • Add functionをクリックし、Base64をクリック
    (kintoneと連携するにはBase64で管理者アカウントとパスワードをエンコードすることが必要なので設定する。)
Add functionをクリックし、Base64をクリック
  • テキスト項目を手動で記載
    記載例) 管理者アカウント:パスワード
テキスト項目を手動で記載記載例) 管理者アカウント:パスワード
  • Add functionからObjectのConstructを選択し、以下のように設定
Add functionからObjectのConstructを選択し、以下のように設定
  • Add functionからText項目のSplitをクリック
Add functionからText項目のSplitをクリック
  • Add functionからList項目のAtをクリック
Add functionからList項目のAtをクリック
  • Splitのresult listをAtのlistへドラッグする
Splitのresult listをAtのlistへドラッグする
  • Add functionからComposeをクリック
Add functionからComposeをクリック
  • Composeのテキストを以下のように入力
    (青い部分はWorkflowsからドラッグ)
Composeのテキストを以下のように入力
  • Add app actionからAPI Connectorを選択
Add app actionからAPI Connectorを選択
  • Postを選択
Postを選択
  • URL欄にhttps://サブドメイン.cybozu.com/v1/users.json
    Headers欄にConstructのOutputをドラッグ
    Body欄にComposeのOutputをドラッグ
URL欄にhttps://サブドメイン.cybozu.com/v1/users.json
  • 実際にOkta管理画面のAssignmentsのAssignからアプリにユーザーをアサインする
実際にOkta管理画面のAssignmentsのAssignからアプリにユーザーをアサインする
  • 実際にユーザーが同期されていることを確認でき終了
実際にユーザーが同期されていることを確認でき終了

今回はOktaのWorkflows機能をユーザー同期に用いましたが、ユーザー同期以外にもアイデア次第で様々なタスクを実現、自動化することができます。
皆様も是非Workflowsを触って、運用工数を削減してみてはいかかでしょうか。

Oktaはその他にも多くの機能を持っていますので、ご興味がございましたら弊社までお問合せください。

お問い合わせ・資料請求

株式会社マクニカ  Okta 担当

月~金 8:45~17:30