Docs/SSO設定/JITプロビジョニング

JITプロビジョニング

Just-In-Time (JIT) プロビジョニングは、ユーザーが初めてSSO経由でサインインしたときにユーザーアカウントを自動的に作成します。手動のユーザー作成は不要 — ユーザーはオンデマンドでプロビジョニングされます。

セットアップ不要: JITプロビジョニングはSSOが構成されると自動的に有効になります。追加のセットアップは不要です。

JITの仕組み

ユーザーが初めてSSO経由でサインインすると、SecureCodingHubはアカウント作成を自動的に処理します:

1
ユーザーがSSO経由でサインイン
ユーザーが「SSOでサインイン」をクリックし、IDプロバイダー経由で初めて認証します。
2
認証レスポンスを受信
SecureCodingHubはユーザーのIDクレームを含む認証レスポンスをIdPから受信します。
3
ユーザー検索
システムはExternalSsoIdを最初にで既存ユーザーを検索し、その後メールの一致にフォールバックします。後続のログインでメールの一致のみが見つかった場合、既存ユーザーはIdPにアカウントリンクされます — ExternalSsoIdは新しい値に更新され、名前はIdPクレームから更新されます。
4
アカウント作成
既存のユーザーが見つからない場合、学習者ロールで新しいアカウントが作成されます。
5
シートチェック
組織に利用可能なシートがない場合、ログインはエラーで拒否されます。ユーザーはプロビジョニングされません。
6
トレーニング開始
ユーザーはログインしてすぐにトレーニングを開始できます。手動のオンボーディング手順は不要です。

作成されるもの

JITが新しいユーザーをプロビジョニングするとき、次のプロフィールフィールドが入力されます:

フィールド
メールSSOレスポンスから (NameIDまたはemail属性)
名前SSO属性から (利用可能な場合)
ロール学習者 (デフォルト)
認証方法sso (OIDCとSAMLで同じ値 — プロトコルはユーザーレコードに埋め込まれません)
外部SSO IDIdPからの一意の識別子
チームなし (後で割り当てることも、SCIMを使用することもできます)

シート管理

JITプロビジョニングは組織のシート制限 (maxSeats) を尊重します。新しいユーザーがSSO経由でサインインを試みると、システムはアカウントを作成する前に利用可能なシートがあるかどうかを確認します。

すべてのシートが使用されている場合、新しいユーザーはエラーを見て、プロビジョニングできません。管理者はダッシュボードからシート使用状況を監視し、さらにシートが必要な場合はプランをアップグレードする必要があります。

JIT + SCIM

完全なライフサイクル管理のために、JITプロビジョニングをSCIMと組み合わせます:

機能目的
JIT初回ログイン時にユーザーを作成。管理者アクション不要で即座にアクセス。
SCIMユーザー属性、グループ / チーム割り当てを同期し、IdPからのデプロビジョニングを処理。
JIT + SCIMJITは初回アクセス時にユーザーを作成。SCIMはユーザーデータ、チーム、ライフサイクルを今後同期したままに保ちます。
推奨: 最高の体験のためにJITをSCIMと組み合わせてください。JITは初回アクセスを処理し、SCIMは進行中のライフサイクル管理を処理します。

ユーザーの昇格

JITで作成されたユーザーには常に学習者ロールが割り当てられます。JITは組織管理者アカウントの自動作成をサポートしません。

ユーザーを組織管理者に昇格させるには、既存の管理者がユーザーページに移動し、ユーザーのロールを手動で変更する必要があります。これは、SSOクレーム経由の権限昇格を防ぐための意図的なセキュリティ対策です。

JITプロビジョニング: よくある質問

JITプロビジョニングは手動ユーザー作成では解決できない何を解決しますか?

JITプロビジョニングは、ユーザーがIdPに追加されることと、そのユーザーがトレーニングを開始できることとの間の同期管理者ステップを削除します。手動作成では、管理者がメールでユーザーを招待し、1つずつシートを承認する必要があります — 規模ではエラーが発生しやすいです。JITプロビジョニングでは、IdPアプリケーション割り当てが唯一の信頼できる情報源であり、SecureCodingHubアカウントは初回SSOログイン時に作成されます。メール招待、重複アカウント、待機室はありません。

JIT対スケジュールされたユーザーアクセスプロビジョニング — SCIMはいつ必要ですか?

JITはユーザーアクセスプロビジョニングをオンデマンドで処理します: アカウントはユーザーがログインした瞬間に作成されます。SCIMは、グループメンバーシップの変更、属性の更新、デプロビジョニングなどの継続的な更新を処理するIdPからのスケジュールされたプッシュです。アカウント作成のみが必要な場合は、JITだけで十分です。SecureCodingHub管理者がユーザーページをクリックすることなく、IdPから自動的にオフボーディングが流れる必要がある場合は、SCIMと組み合わせてください。

JITはIDとアクセスプロビジョニングのライフサイクルのどこに当てはまりますか?

IDとアクセスプロビジョニングのライフサイクルでは、JITは作成段階をカバーします — 新しいIDが下流アプリケーションでアカウントを必要とする瞬間。初期段階 (ID作成、joiner workflow、グループ割り当て) はIdPに存在し、後期段階 (mover、leaver、デプロビジョニング) はSCIMによって最もよく提供されます。JITを完全なライフサイクルソリューションとして扱うことはよくある間違いです。それは入口であり、道全体ではありません。

JITプロビジョニングは安全ですか — 悪意のあるIdPクレームが権限を昇格できますか?

SecureCodingHubのJIT実装は、IdPが発行するロールクレームに関係なく、常に学習者ロールで新しいユーザーをプロビジョニングします。組織管理者への昇格には、SecureCodingHub UIで既存の管理者による明示的なアクションが必要です。設計意図は、操作されたIdPクレーム経由の権限昇格を防ぐことです — 攻撃者がユーザーのIdP IDを侵害したとしても、JITだけで得られる最悪はテナント内の学習者シートです。