編集:開発者を除いて、OpenLDAPがどのように機能するかを知っている人がいないので、最終的に単純な設定ファイルに設定するのがはるかに簡単なGLAuthを好むことによってOpenLDAPをあきらめました。私は数分で問題を解決できました。 OpenLDAPがより強力であるか、より多くの機能を持っている可能性があることを知っていますが、プロキシADの場合、OpenLDAPを使用することは大きなハンマーでクルミを壊すのと同じであるため、避けたいかもしれません。
私たちの会社には、ユーザーを管理するためのActive DirectoryとLDAPを介してログインシステムを実行したいオフィスの外側にいくつかのWebサービスがあります。 SSLを介してLDAPを公開し、これらのすべてのWebサービスに私たちのADにログインさせたいのですが、SSLを介してもADを公開したくないので、DMZでAD用のOpenLDAPプロキシを設定して接続しようとしています。読み取り専用モードADに書き込みます。私はまったくLDAPの専門家ではありません。過去に別のLDAPを設定したときは、いくつかの手順で1つのLDAPを実行し、Apache Directory StudioまたはLAMを使用してこれを管理しましたが、これは簡単になると予想しました。達成するまあ、これは私が期待していたよりも多くのことであるようです。達成するのは難しいです。
私はこの問題を数週間処理してきましたが、解決策が見つかりませんでした。誰もがslapd.confを使用しなくなり、使用しないでくださいとLDIFを介してSSLでOpenLDAPを設定する方法についてのチュートリアルがたくさんありますが、LDIFを介して設定する方法を見つけることができません。SSLをADプロキシとして使用するopenldap。
LDAPをADプロキシとして構成する唯一の方法は、Sambaサイトでこのslapd.confファイルを使用することです。
### Schema includes ###########################################################
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
## Module paths ##############################################################
modulepath /usr/lib64/openldap/
moduleload back_ldap
moduleload rwm
# Main settings ###############################################################
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
### Database definition (Proxy to AD) #########################################
database ldap
readonly yes
protocol-version 3
rebind-as-user
uri "ldap://{AD-Hostname/IP}:389"
suffix "{your Domain DN}"
overlay rwm
rwm-map attribute uid sAMAccountName
### Logging ###################################################################
loglevel 0
schemas/inetorgperson.schema
これも修正して追加しました。
################
#AD schema
################
attributetype ( 1.2.840.113556.1.4.221
NAME 'sAMAccountName'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
################
schemas/inetorgperson.ldif
最後に、sAMAccountName 属性を追加します。
olcAttributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
そして
olcObjectClasses: ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC 'RFC2
798: Internet Organizational Person' SUP organizationalPerson STRUCTURAL MAY
( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ em
ployeeNumber $ employeeType $ givenName $ homePhone $ homePostalAddress $ ini
tials $ jpegPhoto $ labeledURI $ mail $ manager $ mobile $ o $ pager $ photo
$ roomNumber $ secretary $ uid $ userCertificate $ x500uniqueIdentifier $ pre
ferredLanguage $ userSMIMECertificate $ sAMAccountName $ userPKCS12i ) )
うまくいきましたが、ディレクトリを削除しslapd.d
て再作成した後
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
(その後、適切な所有権を適用します)。
明らかに、これを行ったときにLDIFを使用した以前の構成(ローカルデータベースの作成とSSL設定)が削除され、slapd.confを使用してsladp.dディレクトリを作成したため、私のldap管理者アカウントも削除されました。 SSLを再構成したり、データベースを追加したりしないでください。
したがって、それらを混在させる方法を知る必要があります。または、slapd.confファイルの例を使用してADプロキシを設定します。そして管理者に将来のLDIFを使用するか、ADプロキシ構成用のLDIFサンプルを使用してLDAPを変更するように指示します。