SAML / SCIM 設定手順
最終更新: 2026-08-04
このページでは、テナントごとにSAML SSOとSCIM Users APIを設定する手順を説明します。SAMLは企業のIdentity Provider(IdP)で本人確認を行うためのもの、SCIMはフラクソンの利用者・ロール・有効状態をIdPから同期するためのものです。
初期値はSCIM登録済みのみです。この設定では、SCIMで作成され有効な利用者だけがSAMLログインできます。初回ログインで作成(JIT)を明示的に選ぶと、SCIMを使わないSAML単独運用として、IdPで認証済みの未登録利用者を初回ログイン時に作成できます。利用者のライフサイクルをIdPから同期したい場合は、SCIMを先に設定する運用を推奨します。
全体の流れ
SAMLユーザー登録を選ぶ
管理画面のSAMLユーザー登録で、テナントごとの利用者作成方法を選びます。
| 選択肢 | ログインできる利用者 | 主な用途 |
|---|---|---|
| SCIM登録済みのみ(既定) | SCIMで作成され、有効な所属を持つ利用者だけ。 | IdPを利用者・ロール・停止状態の正として同期する運用。 |
| 初回ログインで作成(JIT) | IdPで認証済みで、SAML Assertionからメールアドレスを確認できる利用者。初回ログイン時に既定ロールで作成される。 | SCIMを使わず、IdPのアプリ割り当てを利用許可の境界にするSAML単独運用。 |
JITを選ぶ場合は、SAML初回作成ロールを最小権限のロールに設定します。SCIM登録済みの利用者だけに限定したいテナントでは、JITを選びません。
対応するログイン方式
フラクソンのSAML SSOは、SP-initiatedとIdP-initiatedの両方に対応しています。どちらの経路でも、SAML署名などの検証と、SCIM登録済み利用者のみを許可する設定が適用されます。
| 方式 | 利用者が開始する場所 | テスト方法 |
|---|---|---|
| SP-initiated | フラクソンのログイン画面で組織SSOを選び、テナント識別子を入力する。 | フラクソンからIdPへ移動し、認証後に正しいテナントへ戻ることを確認する。 |
| IdP-initiated | IdPポータルのフラクソンアプリを選ぶ。 | IdPから直接フラクソンへ移動し、正しいテナントへログインできることを確認する。 |
IdP-initiatedで利用する場合も、SP metadata XMLに含まれるACS URLをIdPへ登録します。SAML NameID、IdPのアプリ割り当て、SCIMで同期した利用者の対応は両方式で共通です。
ステップ0. 設定前に確認する
ステップ1. 管理画面でロールを確認する
- 管理画面でテナント設定を開き、ロールを選択します。
- SCIMで利用者を作成したときの既定ロールを決めます。
- 利用者ごとにIdPからロールを指定する場合は、割り当てたいロールのロールIDを控えます。
ロールを指定しないSCIMユーザーには、SCIM設定の既定ロールが適用されます。全利用者を同じロールにする場合は、IdPでロール属性を送る設定は不要です。IdPの属性でロールを指定する場合は、フラクソンに存在するロールIDと一致させます。ロールの設計はカスタムロールガイドも参照してください。
ステップ2. SCIM接続情報を発行する(SCIM同期を使う場合)
- テナント設定のSSOと自動プロビジョニングを開きます。
- SCIM プロビジョニング設定で、既定ロールを選びます。利用者ごとにロールを変える場合だけ、ロール属性pathをIdPが送る属性に合わせます。
- SCIM Tokenを発行を選び、表示されたトークンを組織の承認済み保管先へコピーします。
- SCIM Base URLをコピーします。
- SCIM状態を有効にして、SSO/SCIM設定を保存を選びます。
全利用者に既定ロールを適用する設定なら、IdPで
tenantRoleId や独自URNを送る必要はありません。利用者ごとにロールを変える場合は、標準SCIMの roles 属性、またはロール属性pathで指定したIdP属性を使えます。フラクソン拡張の tenantRoleId は、そのための選択肢の一つです。
トークンを閉じたあとに再表示することはできません。紛失した場合や担当変更時は、新しいトークンを発行し、IdP側のシークレットを更新します。トークンを失効するとIdPからの同期は停止します。
ステップ3. IdPでSCIMプロビジョニングを設定する(SCIM同期を使う場合)
IdP側では、フラクソンをSCIM 2.0対応のアプリとして設定します。画面名はIdPによって異なりますが、入力する値は次のとおりです。
| IdP側の項目 | 入力する値 | 注意点 |
|---|---|---|
| Tenant URL / SCIM URL | 管理画面に表示されたSCIM Base URL | 手入力でURLを組み立てず、コピーした値を使います。 |
| Secret Token / Bearer Token | ステップ2で発行したSCIM Token | IdPのシークレットとして保管し、画面共有やチケット本文には書きません。 |
| 既定ロール | フラクソン側で選んだ既定ロール | IdPからロール属性を送らない利用者に適用されます。 |
| ロール属性(必要な場合のみ) | 標準SCIMのroles属性、またはロール属性pathに対応するIdP属性 | 送る値はフラクソンのロールIDと一致させます。rolesで複数の値を送る場合は、primaryで一意にします。 |
最初はテスト利用者だけをIdPアプリに割り当て、接続テストまたはオンデマンド同期を実行します。フラクソンのユーザー管理でテスト利用者とロールが想定どおり表示されることを確認します。フラクソンのSCIM対象はUsers APIです。IdPのグループ同期を前提にせず、IdP側のアプリ割り当てや属性マッピングで対象を管理してください。
ステップ4. SAML SSOを設定する
- フラクソンのSP metadata XMLでXMLをダウンロードを選びます。
- IdP側でSAMLアプリを作成し、ダウンロードしたSP metadata XMLを登録します。XMLを取り込めないIdPでは、XMLに含まれるEntity IDとACS URLを使います。
- IdPでSAMLの利用者またはテストグループをアプリへ割り当てます。
- IdPが発行するログインURLと署名証明書を取得します。
- フラクソンに戻り、IdPログインURLとIdP署名証明書を入力します。証明書はPEM形式またはBase64形式で貼り付けます。
- IdPがログアウトURLを提供する場合は、IdPログアウトURLも入力します。
- SAMLユーザー登録で、SCIM同期を使う場合はSCIM登録済みのみ、SAML単独運用の場合は初回ログインで作成を選びます。
- SAML状態をまず下書きで保存し、入力内容を相互確認します。
SCIM登録済みのみを選ぶ場合、SAML NameIDはSCIMで同期した利用者を一意に識別できる安定した値にします。SCIMの externalId を使う場合はその値、使わない場合はSCIMの userName とSAML NameIDが一致するようにIdP側を設定します。JITを選ぶ場合は、SAML Assertionから利用者のメールアドレスを確認できるようにIdP側を設定します。
ステップ5. テストしてからSAMLを有効にする
- SCIM登録済みのみを選んだ場合は、テスト利用者についてIdPアプリの割り当てとSCIM同期完了を確認します。JITを選んだ場合は、テスト利用者がIdPアプリに割り当て済みで、SAML Assertionにメールアドレスが含まれることを確認します。
- フラクソンでSAML状態を有効にして保存します。
- SP-initiatedをテストします。別のブラウザプロファイルまたはシークレットウィンドウでフラクソンのログイン画面を開き、組織SSO、テナント識別子の順に入力してIdPへ移動します。
- IdP-initiatedを利用する場合は、IdPポータルでフラクソンアプリを選び、テスト利用者で起動します。
- 各経路でフラクソンに戻り、対象テナント、利用者名、ロールが想定どおりであることを確認します。JITでは初回ログイン時に利用者が作成されることも確認します。
- 通常ログインを止める運用にする場合だけ、両方のテストが完了したあとにSAMLログインを必須にするをオンにして保存します。
SAMLログインを必須にすると、そのテナントではパスワード・パスキーによる通常ログインを使えなくなります。テストが完了し、復旧手順を確認してから切り替えてください。
運用中の変更
| 変更 | 行うこと |
|---|---|
| 利用者を追加する | SCIM同期ではIdPでアプリに割り当てて同期します。JITではIdPに割り当てた利用者が初回SAMLログイン時に作成されます。 |
| 利用者を停止する | SCIM同期ではIdPで割り当てを外す、または利用者を無効化し、同期結果を確認します。JITではIdP側のアプリ割り当てを外して以後のSAMLログインを止めます。 |
| ロールを変える | IdP側のロール属性またはフラクソンの既定ロールを更新し、テスト利用者で反映を確認します。 |
| 証明書を更新する | IdPの署名証明書を切り替える前後でフラクソンの証明書を更新し、SAMLログインをテストします。 |
| SCIM Tokenをローテーションする | 新しいトークンを発行し、直ちにIdP側のシークレットを更新して接続テストを行います。 |
SCIMを有効にしたテナントでは、利用者の追加・停止・属性更新をIdP側で管理する運用を推奨します。フラクソン側とIdP側で別々に変更すると、次回同期で意図しない状態に戻ることがあります。JITからSCIM登録済みのみに切り替える場合は、選択肢を変更するだけで移行完了とはせず、既存のJIT利用者をSCIMで同期・確認してから切り替え後のログインをテストしてください。
接続できないとき
| 状況 | 確認すること |
|---|---|
| SCIMを有効にできない | 先にSCIM Tokenを発行したか、既定ロールが存在するかを確認します。 |
| IdPのSCIM接続テストが失敗する | SCIM Base URLとTokenをコピーして使ったか、Tokenを再発行・失効していないかを確認します。 |
| 同期後にロールが反映されない | IdPから送る値とフラクソンのロールID、ロール属性path、既定ロールを確認します。 |
| SAMLを有効にできない | IdPログインURLと署名証明書を入力したか、復旧手順を確認したかを確認します。 |
| IdP認証後にフラクソンへログインできない | SCIM登録済みのみでは、テスト利用者がSCIMで作成済みかつ有効で、SAML NameIDがSCIMのexternalIdまたはuserNameと一致するかを確認します。JITでは、IdPアプリへの割り当てとSAML Assertionのメールアドレスを確認します。 |
| ログイン開始時にSSO設定のエラーが出る | テナント識別子、SAML状態、IdPログインURL、署名証明書を確認します。 |
安全に運用するための注意
- SCIM Base URLとSCIM Tokenはテナントごとに異なります。別テナントの値を流用しません。
- SCIM Token、署名証明書、SAML Responseをメール本文、チケット本文、監査ログへ貼り付けません。
- 本番利用者へ展開する前に、少人数の割り当てで作成、更新、停止、SAMLログインを確認します。
- IdP担当者の異動、証明書更新、契約・ドメイン変更の際は、SAMLログインとSCIM同期を再テストします。