Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

[dev.icinga.com #985] Support for Active Directory / LDAP groups #239

Closed
icinga-migration opened this issue Nov 9, 2010 · 27 comments
Closed

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/985

Created by tgelf on 2010-11-09 20:54:47 +00:00

Assignee: (none)
Status: New
Target Version: Backlog
Last Update: 2015-08-12 14:44:03 +00:00 (in Redmine)


Icinga-Web allows to login with your AD credentials, but it isn't able to map and/or use AD / LDAP groups.

@icinga-migration
Copy link
Author

Updated by pdeneu on 2011-03-21 13:00:46 +00:00

Would be very nice.

@icinga-migration
Copy link
Author

Updated by bschmidt on 2011-03-21 13:01:42 +00:00

any new status on this?

@icinga-migration
Copy link
Author

Updated by AndreasD on 2011-04-21 09:07:20 +00:00

requesting this too.

@icinga-migration
Copy link
Author

Updated by Anonymous on 2011-04-21 11:24:17 +00:00

Who is still using AD? eDirectory FTW! :-)

@icinga-migration
Copy link
Author

Updated by tuxifier on 2011-07-07 11:04:34 +00:00

would need this, too - any news when it'll be put on the roadmap?

@icinga-migration
Copy link
Author

Updated by wpreston on 2011-08-24 07:59:05 +00:00

this would be a really useful feature for large corporate setups

@icinga-migration
Copy link
Author

Updated by bschmidt on 2011-09-16 20:25:11 +00:00

once more - please implement this!

@icinga-migration
Copy link
Author

Updated by clown007 on 2011-09-17 10:19:08 +00:00

We use apache with ldap Groups und autocreate User in web-icinga.

@icinga-migration
Copy link
Author

Updated by tgelf on 2011-09-17 12:44:20 +00:00

That's what probably most of us are already doing. But that's not what this feature-request was all about. What all of us would strongly appreciate is the possibility of mapping IcingaWeb groups to AD (LDAP) Groups. Example given:

  • There is a 'Network' and a 'SysOp' group in my AD
  • 'Network' is allowed to see the 'Switches' and 'Servers' hostgroups in IcingaWeb
  • 'SysOp' is allowed to see only the 'Servers' hostgroup
  • If someone moves 'John Doe' from 'Network' to 'Sysop' in our AD, I do not want to do any single click in IcingaWeb. He shall automagically gain his new permissions.

Nothing else. That's an essential feature for deployments in not-so-small companies.

Cheers,
Thomas

@icinga-migration
Copy link
Author

Updated by wpreston on 2011-09-19 11:45:21 +00:00

apache ldap group restrictions can't offer the fine-grained access control that larger companies require.

This feature is essential - and there should to be some sort of mapping mechanism between AD/LDAP groups and Icinga-Web groups because of the group name size limitations in Icinga-Web.

@icinga-migration
Copy link
Author

Updated by berk on 2011-09-26 13:44:13 +00:00

  • Target Version set to 1.7

@icinga-migration
Copy link
Author

Updated by berk on 2011-09-26 13:44:46 +00:00

will be implemented using group providers in version 1.7 (combined with new admin/dialog layout)

@icinga-migration
Copy link
Author

Updated by berk on 2011-09-26 13:45:23 +00:00

  • Assigned to set to mhein

@icinga-migration
Copy link
Author

Updated by berk on 2011-09-26 13:45:44 +00:00

  • Category set to Usermanagement

@icinga-migration
Copy link
Author

Updated by christian.hanzal on 2011-10-27 15:00:22 +00:00

+1 We would need this Feature too!

@icinga-migration
Copy link
Author

Updated by jerico on 2011-11-15 14:31:29 +00:00

From my view this can be done. Have implemented already several times. Just not documented till now. Have implemented AD Group support in the following way. For each AD Group you have created you have to create the group in Icinga-Web manually and add for each group a ldap authentication block in the following way:

<ae:parameter name="msad-ldap1">
<ae:parameter name="auth_module">AppKit</ae:parameter>
<ae:parameter name="auth_provider">Auth.Provider.LDAP</ae:parameter>
<ae:parameter name="auth_enable">true</ae:parameter>
<ae:parameter name="auth_authoritative">true</ae:parameter>
<ae:parameter name="auth_create">true</ae:parameter>
<ae:parameter name="auth_update">true</ae:parameter>
<ae:parameter name="auth_groups">tec_admin</ae:parameter>

<ae:parameter name="auth_map">
<ae:parameter name="user_firstname">givenName</ae:parameter>
<ae:parameter name="user_lastname">sn</ae:parameter>
<ae:parameter name="user_email">mail</ae:parameter>
</ae:parameter>

<ae:parameter name="ldap_dsn">ldap://10.10.10.10</ae:parameter>
<ae:parameter name="ldap_basedn">DC=foo,DC=intra,DC=com</ae:parameter>
<ae:parameter name="ldap_binddn">ldapuser@foo.intra</ae:parameter>
<ae:parameter name="ldap_bindpw"><![CDATA[secred]]></ae:parameter>
<ae:parameter name="ldap_userattr">sAMAccountName</ae:parameter>
<ae:parameter name="ldap_filter_user"><![CDATA[(&(sAMAccountName=USERNAME)(memberOf=CN=Icinga Admins,CN=Users,DC=foo,DC=intra))]]></ae:parameter>
</ae:parameter>

Key for the success is the parameter name="auth_groups">tec_admin and the ldap_filter_user which makes a filter on UID and the According User Group in the AD.

The user will be created automatically in Icinga-Web according to the Group it belongs.

Hope this helps, if somebody needs more infos or something is missing you can contact me per mail: erich@schommarz.com.

@icinga-migration
Copy link
Author

Updated by tgelf on 2011-11-16 09:58:37 +00:00

Thank you jerico for explaining this, this is in fact how I'm doing it if there are less than a few groups to be handled. However it is not a viable solution for the initial feature request at all. Many of my Icinga-Web setups have 20+ groups. It is a mess to manually create them in XML and also click-create the same groups in Icinga-Web.

Of course, this is a task that can be scripted - and I've already done so. I've gone even farther: I created scripts creating Icinga-Web users, groups, permissions and also the related Icinga-Contacts in the LConf LDAP tree in sync with external sources. But even that is not how it shall be done.

And your solution has another problem: it will fail once you have users moving from one group to another one in the AD tree as explained in my last comment here about one month ago.

Said all this I'm looking thrustfully forward to seeing a serious AD/LDAP group implementation in Icinga-Web 1.7 ;-)

@icinga-migration
Copy link
Author

Updated by mhein on 2012-02-06 16:23:24 +00:00

  • Subject changed from Support for Active Directory groups to Support for Active Directory / LDAP groups
  • Target Version deleted 1.7

@icinga-migration
Copy link
Author

Updated by tgelf on 2012-09-04 06:28:09 +00:00

Any chance we can have this for 1.8?

@icinga-migration
Copy link
Author

Updated by wpreston on 2012-09-04 08:42:07 +00:00

tgelf wrote:

Any chance we can have this for 1.8?

These Enterprise features like AD Sync and Single Sign On would be very nice...

I currently have a synchronization script that maps roles to groups with DNs. Perhaps we should combine our scripts?

@icinga-migration
Copy link
Author

Updated by tgelf on 2012-09-04 08:47:04 +00:00

wpreston wrote:

I currently have a synchronization script that maps roles to groups with DNs. Perhaps we should combine our scripts?

We could do so. Nonetheless I'd prefer an out-of-the-box support for LDAP-based groups, or at least some kind of "mapping" like it takes place for user accounts. If we present a "workaround script" I fear someone could have the idea to close this issue as "resolved" ;-)

Cheers,
Thomas

@icinga-migration
Copy link
Author

Updated by wpreston on 2012-09-04 08:59:10 +00:00

tgelf wrote:

If we present a "workaround script" I fear someone could have the idea to close this issue as "resolved" ;-)

That is a valid point, however I need the script to import all the icinga-web users as Icinga Contacts into LConf anyway. Since we aren't going to get this feature anytime soon, the least we can do is help out everyone else who has this issue :-)

@icinga-migration
Copy link
Author

Updated by pdeneu on 2012-09-07 08:06:33 +00:00

I'm not an php developer in deep but i think this could not be so hard or not?
At login time apache/php has to talk with the defined ldap server(s) and should read out the user/group assignment. In Icinga-Web we need a ldapbrowser with which we can map ldap-groups to principals. And every time a user with groupmembership, to such a ldap group, does a login it will get right permissions.

@icinga-migration
Copy link
Author

Updated by fr3ddie on 2012-11-26 11:39:23 +00:00

This one just to signal this feature is a "must" for enterprise deployments: if I have an enterprise system that integrates multiple applications with A2 ("authorization") needs, I need to use LDAP to design an authorization model for all my applications in just one "place". Currently this only, partially, works with MS AD (with an "hack") but it doesn't work at all using, for example, OpenLDAP.

@icinga-migration
Copy link
Author

Updated by blindzero on 2014-01-15 10:04:06 +00:00

Anything new on this? This is quite a must-have to be enterprise ready (other tools have these features)!
It can't be that we have to create these parts manually...

@icinga-migration
Copy link
Author

Updated by tgelf on 2014-01-15 16:12:05 +00:00

blindzero wrote:

Anything new on this? This is quite a must-have to be enterprise ready (other tools have these features)!
It can't be that we have to create these parts manually...

I guess we will not see this feature in 1.x. Icinga Web 2 should be stable within 3 months and provide this out of the box.

Best,
Thomas

@icinga-migration
Copy link
Author

Updated by elippmann on 2015-08-12 14:44:03 +00:00

  • Assigned to deleted mhein
  • Target Version set to Backlog

@dnsmichi dnsmichi removed this from the Backlog milestone Dec 19, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants