本文提供有关如何使用LDAP查询语言过滤用户和创建动态群组的信息。
概概览
Cato允许您通过使用LDAP查询语言仅导入LDAP目录中的相关用户来优化用户管理。 使用LDAP目录过滤器,您可以定义精确的LDAP查询来控制哪些用户同步到Cato。 此外,您可以使用LDAP查询在CMA内将用户组织到动态群组中。 使用LDAP属性,您可以创建动态群组,作为原始过滤器或全部用户的子集。
使用目录服务页面,您可以将组织的LDAP目录与Cato集成并配置用户导入设置。
用例 - 查询过滤器
ABC公司与全职员工、承包商以及实习生合作。 在将用户导入CMA时,作为管理员,您只希望导入全职员工。 您为Azure LDAP实例创建以下查询过滤器,仅导入相关员工:
(&(objectCategory=person)(objectClass=user)(employeeType=full-time))
用例 - 动态群组
ABC公司在全国范围内有销售代表,他们都属于销售部门。 使用employeeType属性,您为销售部门的所有经理创建销售代表的子集。 当用户被提升并分配为employeeType Manager并将部门设置为销售时,他们会自动包含在动态群组中。
Prerequisites
在配置LDAP目录过滤器或动态用户群组之前,请确保:
您在CMA中已配置一个现有的LDAP目录集成
您是Cato管理员并拥有修改目录服务设置的权限
已知局限性
LDAP目录过滤器仅导入用户。 LDAP用户群组未导入。
每个账户最多支持10个独特的LDAP属性,适用于所有动态群组。
使用相同属性但不同值(例如,memberOf=Admin, memberOf=Finance)算作一个属性。
每个账户最多支持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时出现
动态群组名称'<GROUP_NAME>'已经存在
当群组名称不是唯一时出现。
动态群组'<GROUP_NAME>'的LDAP查询语法无效
当动态群组的LDAP语法不正确时出现。 请参阅供应商特定的LDAP文档以获取更多信息。
动态群组'<GROUP_NAME>'包含用户对象属性,这些属性已自动应用,不应包含在您的动态群组查询中
当LDAP查询语法包含Cato默认应用的属性时出现。