AD / LDAP・SSO 連携
Active Directory / LDAP と連携し、既存のアカウントで DigitalBase にログインできるようにします。認証方式は .env の AUTH_MODE で切り替えます(local / ldap / oidc)。SSO は OIDC(AUTH_MODE=oidc)に対応します。
前提
- 管理者アカウントでログインできること
- ディレクトリの接続情報(ホスト・ベース DN・バインド情報)が手元にあること
連携の流れ
初期設定は次の 4 ステップで行います。
- 接続設定 —
[管理] > [AD連携]でホスト・ベース DN・バインド情報を入力します。 - 属性マッピング — メール・氏名などの属性を、ディレクトリの項目に対応づけます。
- ロール割当 — グループ(memberOf)から DigitalBase のロール・タグへの対応を設定します。
- 接続テスト — テストを実行し、疎通とユーザー取得を確認します。 → 成功すると対象ユーザーが一覧に表示されます。
ディレクトリ / IdP 別
利用する環境に応じて設定が分かれます。
- Active Directory(オンプレ) —
AUTH_MODE=ldap - Microsoft Entra ID —
AUTH_MODE=oidc(SSO) - 汎用 LDAP —
AUTH_MODE=ldap
属性マッピング
ディレクトリのユーザーは初回ログイン時に自動登録(プロビジョニング)され、ログイン ID(メールアドレスを兼ねる 1 つの識別子)は次の属性から決まります。
| 方式 | ログイン ID |
|---|---|
| AD / LDAP | mail 属性。無ければアカウント名(sAMAccountName、OpenLDAP は uid。それも無ければ入力されたユーザー名)。ドメインを補って合成することはしません |
| OIDC(Entra ID) | email クレーム。無ければ preferred_username、それも無ければ sub |
2 回目以降のログインは、このログイン ID の一致(大文字小文字は区別しない)で既存ユーザーに結び付けます。
グループ(memberOf)に対応づけたロールは、ログインのたびに再評価されます。対応するグループから外れたユーザーは既定では現在のロールを維持します(ログに記録)。LDAP_DEMOTE_UNMAPPED=1 を設定すると USER に戻します。
ディレクトリとの同期(退職者の無効化)
ディレクトリ側で削除・無効化されたユーザーは、次にログインしないため自動では止まりません。[管理] > [ユーザー] の 「LDAP と同期」(AD / LDAP モードのときだけ表示)を実行すると、ディレクトリに見つからない LDAP 由来のアカウントを無効(INACTIVE)にし、発行済みのセッションも失効させます。
→ 確認した件数・無効化したユーザー・判定できなかったユーザーが表示され、監査ログに記録されます。
LDAPS の証明書検証
LDAP_USE_SSL=true のとき、サーバー証明書は既定では検証しません(LDAP_TLS_VERIFY=0、社内 CA や自己署名の AD をそのまま使えます。接続時にログへ記録されます)。検証する場合は LDAP_TLS_VERIFY=1 にし、社内 CA の証明書は LDAP_CA_FILE に PEM ファイルのパスを指定してください(空なら OS の信頼ストア)。
IdP 側で X.509 証明書が必要な場合は、StartTLS を有効化したうえで証明書を登録してください。
LDAP / OIDC モードでも、初期管理者 admin はパスワードでログインできます(ディレクトリ障害時の緊急用)。不要なら AUTH_LOCAL_FALLBACK=0 で止めてください。詳しくはユーザー・権限管理を参照してください。