【问题标题】:How do I import Active Directory users into JIRA only from specific groups?如何仅从特定组将 Active Directory 用户导入 JIRA?
【发布时间】:2013-01-24 12:42:20
【问题描述】:

首先需要注意的是 - 我实际上不知道我想做的事情是否可行,特别是因为我不精通 LDAP/Active Directory 或 JIRA。

我正在尝试将我闪亮的新 JIRA 安装与我现有的活动目录集成。我想要做的是设置一些特定的 JIRA 组(例如在 London\Security Groups\JIRA* 中),然后让 JIRA 只导入具有这些组成员身份的用户。但是,在 JIRA 的目录设置页面中,我不明白如何执行此操作。这似乎表明我可以导入用户组,但不能导入用户来自组。

我错过了什么? (除了 AD 的专家级知识!)

更新

在我的域下,我的组织结构是这样的:

London\Users

伦敦\安全组\JIRA

在后一个组织单元下,我有一个名为“jira-users”的安全组。前者包含所有用户。

到目前为止,我已经尝试了以下查询,但都没有奏效:

(均以&(objectCategory=Person)(sAMAccountName=*)"为前缀)

memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local

memberof=CN=JIRA,ou=London,ou=Security Groups,dc=mycompany,dc=local

(仅以&(objectCategory=Person)" 为前缀)

memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local

已完成

有效的查询是这样的:

memberof=CN=jira-users,OU=JIRA,OU=Security Groups,OU=London,DC=mycompany,DC=local

我没有意识到对于逻辑上从左到右,London\Security Groups\JIRA 的文件夹结构,组织单位需要以相反的顺序列出。

进一步更新

这仅在出于某种原因使用 DirectorySearcher 类时才有效,例如

DirectoryEntry rootEntry = new DirectoryEntry("LDAP://dc=mycompany,dc=local");
DirectorySearcher srch = new DirectorySearcher(rootEntry);
srch.SearchScope = SearchScope.Subtree;
srch.Filter = "(&(objectCategory=Person)(sAMAccountName=*)(memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local))";
SearchResultCollection results = srch.FindAll();

这在 LDAP 资源管理器 tool 中不起作用,随后在 JIRA 本身中也不起作用。

上次更新

所以...对于 JIRA,您需要颠倒顺序并删除通配符。最后的工作查询是:

(&(objectCategory=Person)(memberof=CN=jira-users,OU=JIRA,OU=Security Groups,OU=London,DC=mycomapny,DC=local))

【问题讨论】:

  • 尝试删除 (sAMAccountName=*) 部分。这是不需要的,我只是在某处读到这种类型的查询中不允许使用通配符。
  • 我相信 MS AD 带有某种 LDAP 检查器工具,您可以在其中访问该安全组并找出其确切的 DN。这可能有助于确定您的查询是否正确。如果您还没有这样做,您还应该确保您使用的绑定帐户具有适当的权限。
  • 考虑到“LDAP 检查员”的谷歌搜索结果是这篇文章,我不知道在哪里可以找到这样的东西。
  • 使用 (sAMAccountName=*) 但没有 memberof 查询我得到 132 个结果。没有两者,我什么都得不到。

标签: active-directory ldap jira


【解决方案1】:

当您设置用户目录时,请查看用户架构设置。您应该看到一个“用户对象过滤器”字段。在那里你应该能够添加这样的东西:

(memberOf=cn=jira-users,ou=London,dc=mydomain,dc=com)

这将允许您根据特定的 LDAP 组进行过滤。当然,您需要编辑上面的值以反映您自己的环境。

【讨论】:

  • 这似乎至少将用户过滤到无……这是一些进步。我不确定参数应该是什么。目前我有 (memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=company,dc=com),但它没有返回任何东西。该组的 ou 路径(不管它叫什么)是 London\Security Groups\JIRA,但用户都在 London\Users 下。我都试过了,似乎都没有。我误解了一些基本的东西吗?
  • 我的示例假设一个名为 jira-users 的安全组。可以试试 (memberOf=cn=JIRA,ou=London,dc=mydomain,dc=com),当然也可以把 mydomain 和 com 换成自己的域名吧?
  • 完成。安全组 称为 jira-users。查询仍然不起作用。
  • 根据你告诉我的,我认为你上面的第一个应该工作。 (memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local)。只是为了让我们清楚,请告诉我您正在用 your 域的值替换字符串“mydomain”和“local”。
  • 天啊,OU 参数弄错了。这是什么,反向抛光? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多