web-dev-qa-db-ja.com

GADSのグループ内のすべてのユーザーを検索するためのOpenDirectory / LDAPクエリ構文

OS X 10.9サーバーの「GoogleAppsUsers」グループ(略称:googleappsusers)に含まれるすべてのユーザーを検索するためのLDAPクエリを作成したいと思います。 Google Apps Directory Sync(GADS)で次のクエリを実行すると、実際にgoogleappsusersグループにユーザーがいるにもかかわらず、ゼロユーザーが返されます。

(&(objectCategory=users)(memberOf=cn=googleappsusers,cn=groups,dc=nyc1,dc=domain,dc=com))
3
sardean

Apple Open Directoryは、memberOfユーザー属性(OSX Server 10.7.5)を使用しません。

代わりに、memberUidグループ属性のみに依存して、特定のグループのメンバーであるユーザーを列挙します。したがって、ユーザーオブジェクトをクエリしてユーザーグループメンバーシップを決定することはできませんが、ユーザー固有のグループメンバーシップの完全なリストが必要な場合は、代わりにそのユーザーに対応するmemberUid属性のすべてのグループを列挙する必要があります。

もちろん、スキーマを変更してmemberOf属性を追加することもできますが、グループのmemberUid属性値とユーザーのmemberOf属性値の同期を維持するために必要な作業も行う必要があります。

これは、memberOfユーザー属性をサポートし、属性ペアの値の同期を維持するためのメカニズムを含むldap実装(Microsoft Active Directory、memberOfオーバーレイを使用したOpenLDAP)とは対照的です。

[Google Apps DirectorySync管理ガイド] [1]、28ページには、次のように記載されています。

There are three ways to mark your Google Apps users in LDAP:
• OU: Set up an organizational unit (OU) and move Google Apps users into that unit.
• Group: Create a new group in LDAP, and add Google Apps users as a member of that group.
• Custom Attribute: Create a custom attribute for your users, and set that attribute for new users.

私の推測では、どちらでもタスクを解決できますが、memberOfのユーザーへのクエリは、自分でmemberOf属性をユーザーオブジェクトに追加した場合にのみ機能します。これは、OpenDirectoryのカスタム属性と見なされます。

一部の属性がLDAPオブジェクトで空であるということは、大きな懸念事項ではありません。それは、それらがLDAPスキーマに含まれているが、それらの値がLDAPオブジェクトに設定されていないことを意味します。すぐに使用できるLDAP実装でも、同様の状態が見られます。

[1] http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/en/us/support/enterprise/static/gapps/docs/admin/en/gads/admin/gads_admin .pdf

1
ErikE

私は通常、Softerras LDAPブラウザを使用してLDAPツリーを参照し、適切な構文/パスをすばやく見つけます。無料のLDAPブラウザはたくさんありますが、それは私がどこかで拾ったものであり、交換する必要はありませんでした。

Macクライアントを使用している場合は、osxにもいくつかの選択肢があるようです: http://en.m.wikipedia.org/wiki/List_of_LDAP_software

1
ErikE