AD / LDAP・SSO 連携
Active Directory / LDAP・OIDC による既存アカウントでのログイン。認証方式は .env の AUTH_MODE(local / ldap / oidc)。
対象:管理者必要権限:管理者ロール
前提
次を用意する。
- 管理者アカウントでのログイン
- ディレクトリの接続情報(ホスト・ベース DN・バインド情報)
連携の流れ
次の順に設定する。
- 接続設定 —
[管理] > [環境変数]の「認証 (LDAP / AD 連携)」でホスト・ベース DN・バインド情報を設定する。 - 属性マッピング — メール・氏名などの属性をディレクトリの項目に対応づける。
- ロール割当 —
[管理] > [ユーザー管理]の「AD グループ → タグ/ロール マッピング」で、グループ(memberOf)から DigitalBase のロール・タグへの対応を設定する。 - 接続テスト — 疎通とユーザー取得を確認する。
ディレクトリ / IdP 別
ディレクトリに合わせて AUTH_MODE を選ぶ。
- Active Directory(オンプレ) / 汎用 LDAP —
AUTH_MODE=ldap - Microsoft Entra ID —
AUTH_MODE=oidc(SSO)
属性マッピング
ユーザーは初回ログイン時に自動登録される。ログイン ID の決定元は次のとおり。
| 方式 | ログイン ID |
|---|---|
| AD / LDAP | mail 属性。無ければアカウント名(sAMAccountName / uid) |
| OIDC(Entra ID) | email クレーム。無ければ preferred_username、sub |
グループに対応づけたロールはログインのたびに再評価する。対応グループから外れたユーザーは既定でロールを維持する。LDAP_DEMOTE_UNMAPPED=1 で USER に戻す。
ディレクトリとの同期(退職者の無効化)
[管理] > [ユーザー管理] の 「LDAP と同期」(AD / LDAP モードのみ)で、ディレクトリに見つからないアカウントを無効(INACTIVE)にし、セッションも失効させる。結果は監査ログに記録する。
LDAPS の証明書検証
LDAP_USE_SSL=true のとき、証明書は既定で検証しない(LDAP_TLS_VERIFY=0)。
- 検証する場合は
LDAP_TLS_VERIFY=1にする - 社内 CA は
LDAP_CA_FILEに PEM のパスを指定する(空なら OS の信頼ストア)
補足
LDAP / OIDC モードでも、パスワードを持つローカルアカウント(初期管理者 admin@local など)はパスワードでログインできる。不要なら AUTH_LOCAL_FALLBACK=0。詳細はユーザー・権限管理を参照。