すべての人が複数のアカウントを持つことができるように、LDAPでデータを整理する適切な方法は何ですか?LDAPの1人あたり複数のアカウントを管理する
人< - >アカウントは1:nである必要があります。
アカウント< - >サービスはn:mにする必要があります。
サービスをグループとして表し、これらのグループにアカウントを割り当てることで、後者を実現できます。しかし、私はどのように私は人からアカウントを分離する必要があるかについては、私は確信していません。
すべての人が複数のアカウントを持つことができるように、LDAPでデータを整理する適切な方法は何ですか?LDAPの1人あたり複数のアカウントを管理する
人< - >アカウントは1:nである必要があります。
アカウント< - >サービスはn:mにする必要があります。
サービスをグループとして表し、これらのグループにアカウントを割り当てることで、後者を実現できます。しかし、私はどのように私は人からアカウントを分離する必要があるかについては、私は確信していません。
人のエントリにアカウント固有の識別子を追加できます。この一意の識別子は、口座エントリのDNまたは他の固有の属性(accountID)のいずれかです。私はあなたのアカウントの名前を変更または再配置(DNを変更)することを決定した場合、人物のエントリを更新することについて心配する必要がないように、後で個人的に好みます。
あなたは、次の2つのアカウントを持っていると仮定しましょう:
dn: accoutnID=accountA,ou=Accounts,dc=example,dc=com
objectClass: top
objectClass: account
accoutnID: accountA
desc: Sample Account A
dn: accoutnID=accountB,ou=Accounts,dc=example,dc=com
objectClass: top
objectClass: account
accoutnID: accountB
desc: Sample Account B
次のように、1対多の関係を確立することができます。
dn: uid=bjensen,ou=people,dc=example,dc=com
objectClass: top
objectClass: customPerson
uid: bjensen
cn: Barbara Jensen
sn: Jensen
userPassword: XXXXXXX
accountID: accountA
accountID: accountB
それはあなたのスキーマに依存しますが、あなたが持つかもしれませんそれをカスタマイズしてaccountID属性が人物のエントリに許可されていることを確認します。
accountID属性のインデックスを作成して、アカウントに属するすべての人物を効率的に検索できるようにすることもできます。たとえば、アカウントAのすべてのユーザーを検索するには、次のようにします:
ldapsearch --port 1389 --hostname localhost --bindDN “cn=directory manager” \
--password password123 --baseDN “ou=people,dc=example,dc=com” \
--scope ONE “(&(objectclass=device)(accountID=accountA)”