LDAP authentication#

EDB CloudNativePGグローバルクラスターは、LDAP認証をサポートしています。 EDB CloudNativePGグローバルクラスターのLDAP構成は、EDB CloudNativePGクラスターPG4Kからの実装に依存しています。 PG4K documentation を参照してください

完全なコンテキストについては。

重要

続行する前に、 LDAP authentication feature in the Postgres documentation について理解してください。

LDAPサポートでは、ユーザー認証のみがLDAPに送信されるため、ユーザーはpostgresデータベースに既に存在する必要があります。

この例は、 PGDGroupでsimple bind モードを使用したLDAP構成を示しています。 Postgresサーバーは、prefix + username + suffix とパスワードを使用してLDAPサーバーをバインドし、認証を実現します。

spec:
  [...]
  cnp:
    postgresql:
      ldap:
        server: ldap-service.ldap.svc.cluster.local
        bindAsAuth:
          prefix: "uid="
          suffix: ",dc=example,dc=org"

この例は、 PGDGroupでsearch+bind モードを使用してLDAPの構成を示しています。このモードでは、 Postgresインスタンスは、最初にbindDN を使用してLDAPにバインドされ、パスワードはシークレットbindPassword に保存されます。次に、 PostgresはbaseDN の下で検索を実行して、searchAttribute で指定された項目と一致するユーザー名を見つけようとします。一致するものが見つかった場合、Postgresは最終的にLDAPサーバーに対してエントリとパスワードを検証します。

spec:
  [...]
  cnp:
    postgresql:
    ldap:
        server: ldap-service.ldap.svc.cluster.local
        bindSearchAuth:
        baseDN: "dc=example,dc=org"
        bindDN: "cn=admin,dc=example,dc=org"
        searchAttribute: "uid"
        bindPassword:
            name: ldap-bind-password
            key: password