LDAP 検索ルールを使用して、Google Cloud Directory Sync (GCDS)で LDAP ディレクトリ サーバーから組織の Google アカウントにデータを同期できます。検索ルールを追加すると、次回の同期でその検索ルールに一致するデータが同期されます。一致しないデータは除外されます。
重要: Google では、LDAP クエリのデバッグやサポートの提供は行っておりません。
基本的な LDAP クエリ構文
RFC 2254 に沿っていれば、カスタムの LDAP 検索クエリを自由に作成できます。
演算子 | 文字 | 用途 |
---|---|---|
等しい | = | 指定された値と一致するフィールドを検出するフィルタを作成します。 |
任意 | * | NULL 以外の任意の文字列と一致するフィールドを示します。 |
かっこ | ( ) | その他の論理演算子が機能するように、フィルタを分割します。 |
および | & | 複数のフィルタを結合します。一連のフィルタのすべての条件を満たしている必要があります。 |
または | | | 複数のフィルタを結合します。一連のフィルタの少なくとも 1 つの条件を満たしている必要があります。 |
等しくない | ! | フィルタに一致するすべてのオブジェクトを除外します。 |
LDAP 検索ルールを追加する
この手順は、どの種類の検索ルールにも使用できます。
- 設定マネージャーで [User Accounts]
[Search Rules] に移動します。
- [Add Search Rule] をクリックします。
- メニューから次のいずれかのオプションを選択して検索ルールの範囲を指定します。
- Sub-tree - ベース DN オブジェクトとそのすべての子オブジェクトに検索ルールが適用されます。
- One-level - ベース DN オブジェクトの直下の子オブジェクトに検索ルールが適用されますが、ベース DN 自体は除外されます。
- Object - ベース DN オブジェクトにのみ検索ルールが適用されます。
- [Rule] に、LDAP 検索クエリ構文を使用して検索ルールを入力します。
後述の例をご覧ください。
- [Base DN] で、次のいずれかを選択します。
- ベース DN を入力します。
- [LDAP Connection] ページで指定されたベース DN を使用するには、この欄を空白のままにします。
- [Test LDAP Query] をクリックして、クエリの結果を確認します。
見つかったオブジェクトの数と最初の 5 つの結果を確認できます。メールアドレスのないユーザーは結果に含まれません。 - [OK] をクリックします。
- (省略可)別の検索ルールを追加するには、上の手順を繰り返します。
検索ルールからデータを除外する
除外ルール
除外ルールを使用すると、組織の Google アカウントへの同期を希望しない LDAP ディレクトリ サーバーのデータを除外できます。たとえば、LDAP 検索ルールを使用して、すべてのメールアドレスが同期されるように指定できます。除外ルールを使用して特定の文字列で始まるメールアドレスを無視するよう指定します。
ユーザーの検索クエリ
GCDS ではユーザーの検索クエリを使用して、そのクエリの結果に一致する Google アカウント内のユーザーを識別します。Google ユーザーが結果と一致しない場合は、そのユーザーが存在しないものとして GCDS では同期が実行されます。
ユーザーの検索クエリを使用している場合は、LDAP 検索ルールで、Google には存在していてもクエリ結果には含まれていないユーザーが返されないことを確認します。それ以外の場合は、同期のたびに GCDS でユーザーの作成が試みられます。
たとえば、[email protected] は Google アカウントに存在しており、LDAP 検索ルールでも返されます。ユーザーの検索クエリに email:m* を使用すると、[email protected] の先頭が m ではないため、GCDS は同期の際、[email protected] を作成しようとします。
詳しくは、除外ルールとクエリを使ってデータを除外するをご確認ください。
LDAP クエリと検索ルールの例
以下は一般例であり、実際の環境には当てはまらない場合があります。改行はページ フォーマットの目的だけのために挿入しています。
基本的な LDAP クエリ- すべてのオブジェクト(読み込みの問題が発生することがあります)
objectClass=*
- 設定が「person」であるすべてのユーザー オブジェクト
(&(objectClass=user)(objectCategory=person))
- メーリング リストのみ
(objectCategory=group)
- パブリック フォルダのみ
(objectCategory=publicfolder)
- メインのメールアドレスが「test」で始まるユーザー オブジェクトを除く、すべてのユーザー オブジェクト
(&(&(objectClass=user)(objectCategory=person))(!(mail=test*)))
- メインのメールアドレスが「test」で終わるユーザー オブジェクトを除く、すべてのユーザー オブジェクト
(&(&(objectClass=user)(objectCategory=person))(!(mail=*test)))
- メインのメールアドレスに「test」という単語を含むユーザー オブジェクトを除く、すべてのユーザー オブジェクト
&(&(objectClass=user)(objectCategory=person))(!(mail=*test*)))
- 設定が「person」であり、グループまたは配布リストに含まれる、すべてのユーザー オブジェクトおよびエイリアス オブジェクト
(|(&(objectClass=user)(objectCategory=person))(objectCategory=group))
- 設定が「person」であるすべてのユーザー オブジェクト、すべてのグループ オブジェクト、およびすべての連絡先。ただし、値に「extensionAttribute9」が定義されているものを除く
(&(|(|(&(objectClass=user)(objectCategory=person))(objectCategory=group))(objectClass=contact))(!(extensionAttribute9=*)))
- DN「CN=Group,OU=Users,DC=Domain,DC=com」で識別されるグループのメンバーになっているすべてのユーザー
(&(objectClass=user)(objectCategory=person)(memberof=CN=Group,OU=Users,DC=Domain,DC=com))
- すべてのユーザー
- Active Directory の場合: (&(objectCategory=person)(objectClass=user))
- OpenLDAP の場合: (objectClass=inetOrgPerson)
- HCL Domino の場合: (objectClass=dominoPerson)
- Domino LDAP ディレクトリ内の、設定が「person」または「group」で、メールアドレスを持つすべてのオブジェクト
(&(|(objectClass=dominoPerson)(objectClass=dominoGroup)(objectClass=dominoServerMailInDatabase))(mail=*))
- Active Directory にメールアドレスを持つすべてのアクティブな(無効化されていない)ユーザー
(&(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
- グループの DN で定義された Group_1 または Group_2 のメンバーであるすべてのユーザー
(&(objectClass=user)(objectCategory=person)(|(memberof=CN=Group_1,cn=Users,DC=Domain,DC=com)(memberof=CN=Group_2,cn=Users,DC=Domain,DC=com)))
- extensionAttribute1 の値が「Engineering」または「Sales」であるすべてのユーザー
(&(objectCategory=user)(|(extensionAttribute1=Engineering)(extensionAttribute1=Sales)))
- Active Directory 内の指定したグループにネストされているグループ メンバーを再帰的に取得
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,CN=Users,DC=domain,DC=com))
- Active Directory 内の ObjectGUID を使用したグループ メンバーシップ クエリ。グループの ObjectGUID 属性の 16 進数値は、4e542fe785b1bb274e542fe785b1bb27 です。
(&(objectCategory=person)(objectClass=user)(memberOf=GUID=4e542fe785b1bb274e542fe785b1bb27))
検索ルールを最適化する
検索ルールを最適化すると、同期のパフォーマンスを高めることができます。
例 1: メールアドレスを持つユーザーを返す | ユースケース |
---|---|
ユーザー検索ルール: (&(objectClass=user)(objectCategory=person)(mail=*)) | 基本ルールを使用してすべてのユーザーを返す代わりに、mail= クエリを使用してルールを最適化できます。
LDAP サーバーと GCDS でのエントリ破棄処理が不要になったため、同期はより効率的に実行されます。 |
例 2: 文字列に一致するメールアドレスを持つユーザーを返す | ユースケース |
---|---|
ユーザー検索ルール: (&(objectClass=user)(objectCategory=person)(mail=*)(!(mail=sales*))) | 基本ルールと除外ルールを使用して sales のないメールアドレスを持つすべてのユーザーを返す代わりに、一致する文字列を使用してルールを最適化できます。
LDAP サーバーと GCDS は、エントリを破棄する処理自体が不要になります。そのため、除外ルールの設定や優先度の検討の必要はありません。 |
関連トピック
Google、Google Workspace、および関連するマークとロゴは、Google LLC の商標です。その他すべての企業名および商品名は、関連各社の商標または登録商標です。