この記事では、LDAPクエリ言語を使用してユーザーをフィルタリングし、動的グループを作成する方法について説明します。
概要
Catoは、LDAPディレクトリから関連性のあるユーザーのみをインポートすることで、ユーザー管理を合理化しています。 LDAPディレクトリフィルターを使用すると、Catoに同期するユーザーを制御するために、正確なLDAPクエリを定義できます。 さらに、LDAPクエリを使用して、CMA内でユーザーを動的グループに編成することができます。 LDAP属性を使用して、オリジナルフィルタのサブセットまたはすべてのユーザーとして動的グループを作成できます。
ディレクトリサービスページを使用して、組織のLDAPディレクトリとCatoを統合し、ユーザーインポート設定を構成できます。
ユースケース - クエリフィルタ
ABC Companyは、常勤の従業員と契約社員およびインターンを持っています。 CMAにユーザーをインポートするとき、管理者として、常勤の従業員のみをインポートしたいと考えています。 Azure LDAPインスタンスの重要な従業員のみをインポートするために、次のクエリフィルターを作成します:
(&(objectCategory=person)(objectClass=user)(employeeType=full-time))
ユースケース - 動的グループ
ABC Companyは、全国のセールス代表を持っており、すべての代表は営業部に所属しています。 employeeType属性を使用して、営業部門のすべてのマネージャーのためにセールス代表のサブセットを作成します。 ユーザーが昇進し、employeeTypeがマネージャーに設定され、部門がセールスに設定されると、自動的に動的グループに含まれます。
事前条件
LDAPディレクトリフィルターまたは動的ユーザーグループを構成する前に、次のことを確認してください:
既存のLDAPディレクトリ統合がCMAで構成されています
ディレクトリサービスの設定を変更する権限を持つCato管理者です
既知の制限事項
LDAPディレクトリフィルターは、ユーザーのみをインポートします。 LDAPユーザーグループはインポートされません。
各アカウントは、すべての動的グループにわたって最大10の固有のLDAP属性をサポートします。
異なる値で同じ属性を再利用する場合(例:memberOf=Admin、memberOf=Finance)は、1つの属性としてカウントされます。
それぞれのアカウントは最大50の動的ユーザーグループをサポートします
動的グループは、LDAPからのネストされたグループメンバーシップをサポートしていません。
LDAPクエリフィルターを使用してユーザーをインポート
通常のグループ選択または新しいLDAPクエリフィルターを使用してユーザーをインポートすることができます。 ディレクトリからの属性に基づいて自動的にユーザーをグループ化する動的ユーザーグループも定義できます。
注:
LDAPクエリ言語はCatoによって開発されたものではありません。 組織の要件に合ったクエリを作成および検証する責任は、あなたにあります。

LDAPディレクトリフィルターを構成するには:
ナビゲーションメニューから、アクセス > ディレクトリサービス を選択します。
既存のLDAP構成を選択するか、新規をクリックして作成します。
フィルター下の フィルターメソッドフィールド で、LDAPクエリ を選択します。
クエリ フィールドにベンダーのディレクトリプレフィックスとLDAP属性を使用してLDAPクエリを入力します。 クエリは、ベンダー固有の有効なプレフィックスで始める必要があります。
Azure: (&(objectCategory=person)(objectClass=user))
OKTA + OpenLDAP: (&(objectClass=inetOrgPerson))
JumpCloud + OneLogin: (&(objectClass=person))
以下にいくつかのクエリフィルターの例を示します。
保存 をクリックします。
クエリフィルターの例
以下は、使用できるいくつかの異なるフィルター例です。 詳細については、LDAPベンダーのドキュメントを参照してください。
特定のグループからユーザーを取得(Azure)
次の例では、memberOf属性を使用して特定のグループからユーザーをインポートし、Azure用にフォーマットされています:
(&(objectCategory=person)(objectClass=user)(memberOf=CN=Developers,OU=Groups,DC=catonetworks,DC=com))二つのグループからユーザーを取得(Okta)
次の例では、二つのグループから全てのユーザーをインポートし、Okta用にフォーマットされています:
(&(objectClass=inetOrgPerson)(memberOf=CN=Admins,OU=Groups,DC=catonetworks,DC=com)(memberOf=CN=VPNUsers,OU=Groups,DC=catonetworks,DC=com))どちらかの二つのグループからユーザーを取得(Jumpcloud)
次の例は、定義された二つのグループのどちらかに属している全てのユーザーをインポートし、Jumpcloud用にフォーマットされています:
(&(objectClass=person)(|(memberOf=CN=Admins,OU=Groups,DC=catonetworks,DC=com)(memberOf=CN=VPNUsers,OU=Groups,DC=catonetworks,DC=com)))動的グループの構成
ユーザーグループの選択またはLDAPフィルターのどちらかを使用してユーザーをインポートした後、LDAP属性に基づいて動的グループを作成できます。

動的グループを構成するには:
ナビゲーションメニューから、アクセス > ディレクトリサービス を選択します。
既存のLDAP構成を選択するか、新規をクリックして作成します。
動的グループ:の下に、グループの名前を入力し、クエリを定義します。
動的グループにはプレフィックスは必要ありません。
LDAPクエリフィルタを定義した場合、動的グループはそのフィルターのサブセットです。 それ以外の場合、動的グループはすべてのユーザーのサブセットです。
保存 をクリックします。
例
以下は、動的グループを定義するための例です:
単一の属性を使用して動的グループを定義する
(department=Finance)(title=*Manager)AND演算子を使用して複数の属性で動的グループを定義する:
(&(department=Sales)(title=Executive*))OR演算子を使用して複数の属性で動的グループを定義する:
(|(appRole=Admin)(appRole=Support))
フィルタークエリと動的グループのトラブルシューティング
以下は、発生する可能性のあるエラーメッセージとその説明です。
グループDNフィルタまたはLDAPクエリフィルタのいずれかを定義できます
グループフィルタとLDAPクエリフィルタの両方が定義されている場合に表示されます。 いずれか一方、またはどちらも定義できますが、両方は定義できません。
LDAPクエリフィルタが無効です。 エラーは '<ERROR MESSAGE FROM SDK>'です
いくつかの理由で表示され、個々のエラーメッセージがさらなる情報を提供します。 例:文字列 '(&(objectClass=group)(cn=*)' を解析できませんでした。 閉じ括弧が欠落している場合にこのメッセージが表示されます。
詳細については、ベンダー固有のLDAPドキュメントを参照してください。
LDAPクエリフィルタに必要なユーザーオブジェクトフィルタが欠落しています
必要なobjectClass属性を含めなかった場合に表示されます。
LDAPクエリフィルタに非対応のオブジェクトフィルタが含まれています
非対応の属性(例:ユーザーではなくグループ)にフィルタを含めた場合に表示されます。
動的グループには、必要なLDAP属性が多すぎます(デフォルト属性以外に最大10を許可)。
すべてのリクエスト属性の合計が10以上の場合に表示されます(デフォルトで取得するものに加えて)。
動的グループが多すぎます(最大50)。
アカウント内の動的グループが最大50を超えた場合に表示されます
動的グループ名 '<グループ名>' は既に存在します
グループ名が一意でない場合に表示されます。
動的グループ '<グループ名>' には無効なLDAPクエリ構文があります
動的グループのLDAP構文が不正な場合に表示されます。 詳細については、ベンダー固有のLDAPドキュメントを参照してください。
動的グループ '<グループ名>' には自動的に適用されるユーザーオブジェクト属性が含まれており、動的グループクエリに含めないでください
デフォルトでCatoによって適用される属性がLDAPクエリ構文に含まれている場合に表示されます。