ジャストインタイム (JIT) プロビジョニング
Logto では、ジャストインタイム (JIT) プロビジョニング は、ユーザーが初めてシステムにサインインする際に、組織のメンバーシップとロールを即座に割り当てるプロセスです。ユーザーのアカウントを事前にプロビジョニングする代わりに、JIT プロビジョニングはユーザーが認証 (Authentication) したときに必要なユーザーアカウントを動的に設定します。
仕組み
JIT プロビジョニングプロセスの概要は次のとおりです:
- ユーザー認証 (Authentication):ユーザーがアプリケーションまたはサービスにサインインしようとし、アイデンティティプロバイダー (Logto) がユーザーを認証 (Authentication) します。
- アカウントのサインインまたは作成:ユーザーのステータスに応じて、Logto はユーザーをサインインさせるか、新しいアカウントを作成するか、既存のアカウントに新しいアイデンティティを追加します。
- プロビジョニング:ユーザーまたはそのアイデンティティが新しい場合、Logto はプロビジョニングプロセスをトリガーします。
JIT プロビジョニングは、B2B およびマルチテナンシー製品にとって便利な機能です。テナントメンバーのオンボーディングをスムーズにし、管理者の関与を必要としません。
例えば、ビジネスをオンボードし、その従業員があなたの製品に安全にサインインし、正しいロールアクセスで組織に参加できるようにするために、いくつかの方法があります。Logto が提供する可能なソリューションと JIT がどのように役立つかを見てみましょう。
シナリオ | ユーザータイプ | 自動化 | 動作 |
---|---|---|---|
管理者招待 | 新規および既存 | ユーザーは、組織に参加するための メール招待を受け取る ことができます。 | |
Management API ユーザー作成またはインポート | 新規および既存 | ユーザーは、組織に参加するために 事前に作成されたユーザーアカウント を使用できます。 | |
SSO ジャストインタイムプロビジョニング | 新規および既存 | ✅ | SSO で初めてサインインするユーザーは、組織に参加できます。 |
メールドメインジャストインタイムプロビジョニング | 新規 | ✅ | 特定の検証済みドメインを持つユーザーが初めてサインインすると、組織に参加できます。 |
ディレクトリ同期 | 新規および既存 | ✅ | IdP のディレクトリ同期機能を使用して、アプリ内で事前にユーザーをプロビジョニングします。 |
現在、Logto は SSO ジャストインタイムプロビジョニング と メールドメインジャストインタイムプロビジョニング をサポートしています。
JIT プロビジョニングの利点
JIT プロビジョニングにはいくつかの利点があります:
- 効率性:ユーザーアカウントを手動で作成および管理する管理上の負担を軽減します。
- スケーラビリティ:事前の設定なしで大量のユーザーのアカウント作成を自動的に処理します。
- リアルタイム:ユーザーが認証 (Authentication) するとすぐにリソースにアクセスできるようにし、遅延を防ぎます。
私たちは、JIT 機能を最もスケーラブルで安全なレベルで実装し、プロビジョニングプロセスを簡素化し迅速化しました。ただし、プロビジョニングシステムは複雑であり、クライアントの特定のニーズに合わせて調整されることがあるため、Logto の事前構築された JIT 機能、慎重なシステム設計、および Logto Management API を組み合わせることが重要です。この統合アプローチにより、堅牢で効率的なプロビジョニングシステムを構築するのに役立ちます。
JIT とディレクトリ同期の違い
- JIT プロビジョニング はユーザーが開始するアクションによってトリガーされますが、ディレクトリ同期 はユーザーが開始する場合とシステムが開始する場合(スケジュールまたはリアルタイム)があります。
- JIT プロビジョニング はメンバーシップやロールの割り当てを強制しませんが、ディレクトリ同期 はそれらを強制することができます。
- JIT プロビジョニング は、ユーザーのアイデンティティソースに関係なく新しいユーザーのオンボーディングに適しており、ディレクトリ同期 は管理されたユーザーアカウントに適しています。
要するに、JIT プロビジョニングは、ユーザーが組織に参加したり離れたりする自由を与え、既存のユーザーを自由に処理できるため、ユーザーオンボーディングにおいてより柔軟でユーザーフレンドリーなアプローチです。
Logto におけるジャストインタイムプロビジョニング
ジャストインタイム (JIT) プロビジョニングは、ユーザーが開始するアクションにのみトリガーされ、Logto Management API とのやり取りには影響しません。
Console > Organizations に移動します。組織の詳細ページで JIT プロビジョニングを設定できます。
エンタープライズ SSO プロビジョニング
Logto に エンタープライズ SSO を設定している場合、組織のエンタープライズ SSO を選択してジャストインタイムプロビジョニングを有効にできます。
次の条件のいずれかが満たされた場合:
- 新しいユーザーがエンタープライズ SSO を通じてサインインする。
- 既存のユーザーが初めてエンタープライズ SSO を通じてサインインする。
彼らは自動的に組織に参加し、デフォルトの組織ロールを取得します。
メールドメインプロビジョニング
クライアントに専用のエンタープライズ SSO がない場合でも、メールドメインを使用してジャストインタイムプロビジョニングを行うことができます。
ユーザーがサインアップすると、その検証済みメールアドレスが組織レベルで設定された JIT メールドメインと一致する場合、対応する組織に適切なロールでプロビジョニングされます。
アドレスの一致は、すべての非エンタープライズ SSO アイデンティティソースからの検証済みメールアドレスを認識できます。これには以下が含まれます:
- メールサインアップ 認証 (Authentication)
- ソーシャルサインアップ 認証 (Authentication)
なぜメールドメインプロビジョニングは既存のユーザーサインインプロセスに適用されないのですか?
既存のユーザーサインインには、特定の組織にプロビジョニングされるか、ロールが付与されるかを判断するためのさらなる制御が必要です。このプロセスは動的であり、サインイン頻度や組織レベルのポリシーなど、特定のユースケースやビジネスニーズに依存します。
例えば、既存のユーザーにメールドメインプロビジョニングを有効にし、後で異なるロールを持つ別のユーザーグループをオンボードしたい場合、以前にオンボードされたユーザーに新しいロールを割り当てるべきでしょうか?これは「ジャストインタイム更新」の複雑なシナリオを生み出します。正確な動作は、アプリケーションと IdP の統合がどのように構成されているかによって異なることがよくあります。この制御をあなたに委ね、新しいアカウント作成と組織オンボーディングの最も頻繁なシナリオを自由に設計できるようにしています。
メールドメインプロビジョニングが有効な場合のメールサインイン体験
ユーザーステータス | 説明 |
---|---|
ユーザーが存在せず、メールでサインアップ | ユーザーが作成され、適切なロールで対応する組織に自動的に参加します。 |
ユーザーがプロビジョニングされたメールドメインと同じ検証済みメールアドレスを持っている | 通常のメールサインイン体験。 |
メールドメインプロビジョニングが有効な場合のソーシャルサインイン体験
ユーザーステータス | 説明 |
---|---|
ユーザーが存在せず、検証済みメールを使用してソーシャルアカウントでサインアップ | ユーザーが作成され、適切なロールで対応する組織に自動的に参加します。 |
ユーザーが存在せず、未検証のメールまたはメールなしでソーシャルアカウントでサインアップ | 通常のソーシャルサインアップ体験。 |
ユーザーがプロビジョニングされたメールドメインと同じ検証済みメールアドレスを持っており、新しいソーシャルアイデンティティを通じてサインイン | 通常のソーシャルサインイン体験。 |
JIT プロビジョニング方法間の潜在的な競合の処理
最初にメールドメインプロビジョニングを設定し、後で同じメールドメインでエンタープライズ SSO を設定した場合、次のことが起こります:
ユーザーがメールアドレスを入力すると、メール認証 (Authentication) をバイパスして SSO アイデンティティプロバイダーにリダイレクトされます。これにより、メールドメインプロビジョニングはトリガーされません。
これに対処するために、設定時に警告メッセージを表示します。エンタープライズ SSO プロビジョニングを有効にするために正しい SSO コネクターを選択し、メールドメインプロビジョニングに依存しないようにしてください。
デフォルトの組織ロール
組織でユーザーをプロビジョニングする際に、デフォルトの組織ロールを設定できます。ロールリストは 組織テンプレート から取得され、ロールを選択するか空のままにすることができます。
関連リソース
ジャストインタイムプロビジョニングを理解する