ジャストインタイムプロビジョニングとは?
SaaS B2B アプリを構築し、メンバー機能をサポートしたい場合、メンバーが簡単にあなたのワークスペース (テナント) に参加できるようにする必要があります。以下の表のような機能が必要になるかもしれません。ジャストインタイムプロビジョニングもその1つで、プロセスを効率化するのに役立ちます。
Features | Flow |
---|---|
管理者による招待の送信 | ユーザーは組織に参加するためのメール招待を受け取ることができます。 |
API でのユーザー作成またはインポート | ユーザーは事前に作成されたユーザーアカウントを使用して組織に参加できます。 |
ジャストインタイムプロビジョニング | アプリに初めてログインするユーザーは組織に参加できます。 |
ディレクトリ同期 (例: SCIM) | IdP のディレクトリ同期機能を使用して、事前にアプリ内にユーザーをプロビジョニングします。 |
ジャストインタイム (JIT) プロビジョニング は、ユーザーが初めてシステムにサインインするときにその場でユーザーアカウントを作成するために使用されるプロセスです。事前にユーザーのアカウントをプロビジョンするのではなく、JIT プロビジョニングはユーザーが認証したときに必要なユーザーアカウントを動的に作成および構成します。ジャストインタイムプロビジョニングは、効率性、管理の関与なし、自動的な組織のメンバーシップなど、独自の特性を持つ人気のある機能です。
ジャストインタイムプロビジョニングのユースケースは?
これらのケースは、マルチテナントアーキテクチャ、Enterprise SSO (エンタープライズ SSO)、企業との連携、またはチームオンボーディング機能を必要とする B2B アプリを構築する際に一般的です。以下は、クライアントが直面する可能性のあるシナリオの一例です。
迅速なオンボーディング
頻繁に採用を行ったり急成長しているクライアントは、JIT プロビジョニングを使用して新しい従業員のユーザーアカウントを迅速に設定できます。以下はその例です:
サラは SuperFantasy 社の新入社員で、Okta を Enterprise Identity Provider として使用しています。HR チームは彼女を Okta にビジネスアイデンティティとして一度だけ追加します。サラが初めて会社で使用されている生産性アプリ Smartworkspace にこのメールでサインインするとき、システムは自動的にアカウントを作成し、会社のワークスペース内で適切な役割をプロビジョニングします。これにより、サラも SuperFantasy の HR チームも、アカウント作成や役割の割り当てのために複数のステップを踏む必要がありません。
合併、買収、および一時労働者
他社を合併または買収しているクライアントにとって、JIT プロビジョニングは新しい多くのユーザーにアクセスを提供するプロセスを簡素化できます。別の例を見てみましょう。
ピーターは最近 SuperFantasy に買収された MagicTech 社で働いています。MagicTech は Enterprise SSO を持たない小さな組織ですが、Smartworkspace も使用しており、ピーターはすでにビジネスアカウントを持っています。
HR チームはピーターを Okta に追加できます。ピーターが初めて Okta を通じて Smartworkspace にログインすると、システムは既存のビジネスアカウントを自動的にリンクし、SuperFantasy に適切なアクセスを付与します。
上記のシナリオは、JIT 機能を実装するのに理想的です。
SAML と Enterprise SSO に特化していますか?
ジャストインタイム (JIT) プロビジョニングは、SAML認証における エンタープライズ SSO (Enterprise SSO) と関連付けられることが多いですが、 セキュリティアサーションマークアップ言語 (Security Assertion Markup Language, SAML) に限定されていません。JIT プロビジョニングは、 OAuth 2.0 や OpenID Connect (OIDC) などの他の認証プロトコルでも使用でき、 エンタープライズ SSO (Enterprise SSO) の設定が必ずしも必要ではありません。
たとえば、メールベースの JIT プロビジョニングは、電子メールドメインに基づいてユーザーをワークスペースに自動的に追加することにより、チームのオンボーディングを効率化できます。これは、Enterprise SSO を購入および管理する予算とリソースを持たない組織に特に役立ちます。
JIT プロビジョニングの基本的な考え方は、特定のプロトコルを問わず、ユーザーがサービスに初めてアクセスしようとしたときにユーザーアカウントを自動的に作成または更新することです。
アプリの新規ユーザーまたは既存ユーザーに適用されていますか?
ジャストインタイム (JIT) プロビジョニングは一般的にアプリへの初めてのアクセス試行を指します。しかし、異なる製品はこの機能を異なる方法で認識しています。一部は JIT プロビジョニングをアイデンティティとアカウントの作成にのみ利用し、他のものはリアルタイムアカウントの更新 (再プロビジョニングや属性の同期) も含みます。
自動ユーザー作成に加えて、SAML JIT プロビジョニングでは、プロビジョニングの一部としてグループメンバーシップの付与と取り消しを行うことができます。また、プロビジョニングされたユーザーを更新して、 サービスプロバイダー (Service provider, SP) ストアの属性と アイデンティティプロバイダー (Identity provider, IdP) ユーザーストアの属性を同期させ続けることができます。
後続の既存ユーザーのサインインシナリオを考慮したい場合は、JIT システムと一緒に強力なプロビジョニングシステムを持っていることを確認してください。例えば、
- 競合解決: アカウントがすでにあり、その情報が JIT プロセス中に IdP から提供された情報と異なる場合に競合を処理するための戦略が必要です。これには、あなたの組織のポリシーと IdP 設定の詳細な管理が必要になることがあります。
- 監査ログ: 新しいアカウント作成や JIT プロセスを通じた既存アカウントの更新のログを保持することは、セキュリティとコンプライアンスの観点から重要です。
- パフォーマンス: JIT プロビジョニングは迅速に行われますが、特に既存のユーザーの情報を毎回のサインイン時に更新している場合、サインイン時間への影響を考慮する必要があります。
- データの一貫性: 特に既存のユーザーアカウントを更新する際に、JIT プロビジョニングプロセスがデータの一貫性を維持するようにしてください。
JIT と SCIM の違いは何ですか?
SCIM は、異なるシステムやドメイン間でユーザーアイデンティティ管理を簡素化し自動化するために設計されたオープンスタンダードプロトコルです。ディレクトリ同期シナリオで一般的に使用されます。
JIT と SCIM の主な違いは、JIT がユーザーのサインイン試行中にアカウントを作成するのに対し、SCIM はユーザーのログイン試行とは独立したオフライン自動プロセスを通じてユーザーをプロビジョンできることです。
これは、JIT が新しいユーザーのオンボーディングに焦点を当てるのに対し、SCIM がユーザーのライフサイクル管理全体に焦点を当てていることを意味します。
さらに、JIT はしばしば SAML の拡張として機能し、システム間での標準化された実装に欠ける一方、SCIM はアイデンティティ管理のための明確に定義された標準化されたプロトコル RFC 7644 です。
一部の大企業は、アカウントプロビジョニングに SCIM を使用し、それを自社システムと統合しています。これには非常に複雑で、ケースバイケースで異なるものがあります。これらの組織は、多くの場合、自動化プロセスと手動の管理者関与を含むプロビジョニングシステムを持っています。