authentication モジュール)が処理します。OIDC や SAML とは異なり、Pod 自身がディレクトリと通信します。ディレクトリ側は LDAP 認証 のとおりに設定し、その値を以下の手順で Kubernetes に設定します。
各処理の実行場所
設定
1
Pod からディレクトリに到達できるようにする
Ayakaleaf Pro を実行するすべての Pod が LDAP 接続を開きます。ファイアウォールや NetworkPolicy でディレクトリを保護している場合は、Pod がクラスター外に出る際のアドレス(通常はノードのアドレス、またはエグレスゲートウェイ)を許可してください。イメージには ちょうど 1 つの
ldapsearch が含まれていません。クラスター内から 検索の確認 を実行するには、使い捨ての Pod を使用します。dn: が出力される必要があります。2
ConfigMap に設定を追加する
30-config.yaml (additions)
OVERLEAF_LDAP_* 設定は 環境変数 に一覧があります。バインドパスワード以外はすべて ConfigMap に設定します。"true"、"false"、OVERLEAF_LDAP_SEARCH_ATTRIBUTES: '["mail", "cn"]' のような JSON 値、* で始まる値は引用符で囲んでください。3
バインドパスワードを Secret に設定する
4
独自 CA を使った LDAPS または STARTTLS(任意)
CA を この CA リストは、LDAP 接続においてシステムの CA を置き換えます。web の起動時に読み込まれます。
/var/lib/overleaf/certs にマウントされる Secret overleaf-certs に格納し(証明書とその他のファイル を参照)、そのパスを指定します。5
適用して再起動する
複数のレプリカ
手順 1 のファイアウォール以外に追加の作業は不要です。各レプリカがそれぞれディレクトリに接続し、ログイン結果は Redis のセッションに保存されます。Kubernetes でのテスト結果
goauthentik の LDAP アウトポストをディレクトリとして使用し、Kubernetes 1.37 上で HAProxy の背後に 3 つのレプリカを配置した構成で、LDAP のエンドツーエンドテストに合格しました(26 ケース)。対象は、launchpad で作成した最初の管理者の LDAP 経由でのログイン、Secret のバインドパスワードを使ったログイン、誤ったパスワードと未知のユーザーの拒否、グループによる管理者マッピングとマッピングなしの場合、ログインごとの名前と管理者フラグの更新(名前属性 1 つ、または姓と名)、ディレクトリの連絡先、ログアウト、LDAP アカウントのパスワードルール、停止されたアカウント、そして reCAPTCHA を併用した LDAP ログインです。Q&A
一部の Pod でのみ LDAP ログインが失敗する
一部の Pod でのみ LDAP ログインが失敗する
回答:ディレクトリにすべてのノードから到達できていません。各 Pod から確認してください。
ログインが失敗した理由はどこで確認できますか?
ログインが失敗した理由はどこで確認できますか?
回答:そのログインを処理した Pod の web ログで確認できます。

