|
This page describes the way Crowd handles nested groups, i.e. groups which contain other groups as members and groups which are members of other groups. On this page:
Summary of Nested Groups in CrowdSome user directories allow you to define a group as a member of another group. Groups in such a structure are called 'nested groups'. In Crowd, you can map any group to an application, including a group which contains other groups. Currently, nested groups are supported for LDAP directory connectors only. You can enable or disable support for nested groups on each LDAP directory individually. For more information, refer to Configuring an LDAP Directory Connector. Here's the effect on authorisation and presentation of group members to integrated applications:
The rest of this page describes the above functionality in more detail. Definition of Nested GroupsA 'nested group' is a group which is a member of another group. If you are using groups to manage permissions, you can create nested groups to allow inheritance of permissions from one group to its sub-groups. In an LDAP directory, a nested group is defined as a child group entry whose DN (Distinguished Name) is referenced by an attribute contained within a parent group entry.
member=CN=John Smith,OU=Users,OU=OrgUnitA,DC=sub,DC=domain member=CN=Group Two,OU=OrgUnitBGroups,OU=OrgUnitB,DC=sub,DC=domain Supported Directory TypesIn Crowd 1.4, nested groups are supported for LDAP directory connectors only. Nested groups are not supported for internal directories, delegated authentication directories or custom directory connectors.
|
| Recommendation: Enable External User Management If you have JIRA, Confluence, Bamboo, FishEye or Crucible connected to Crowd, and you have nested groups in your directory, we recommend that you turn on external user management, via the administration screen of the integrated application. This will avoid confusion in the user-management screens of the integrated application, since these applications do not understand the concept of nested groups. |
Use Case: Application Adds a User to a Group
If an integrated application adds a user to a flattened group, the user is added to the named group and not to any of its sub-groups.
Use Case: Application Removes a User from a Group
If an integrated application attempts to remove a user from a flattened group, Crowd will do the following:
- If the user is a member of the top group in the hierarchy (tree) of groups contained in the flattened list (e.g. confluence-users), Crowd will remove the user.
- Otherwise, Crowd will return an error stating that the user is not a direct member of the group.
Further Notes on Crowd's Processing
- Crowd handles circular/cyclical references — For example, 'group1' is a member of 'group2', 'group2' is a member of 'group3', and 'group3' is in turn a member of 'group1'.
- Crowd ignores members which are not users or groups — Group members might be computers, printers, etc.
- Crowd gracefully handles unreachable groups — There may be references to groups or members that Crowd cannot enumerate. This might be because the referenced group no longer exists, or the LDAP group structure is not entirely consistent. Crowd will ignore such groups and print a warning to the log file.
RELATED TOPICS
Using the Group Browser and Role Browser
Adding a Group or Role
Viewing Members of a Group
Adding a Sub-Group
Removing a Sub-Group
Crowd Documentation

Add Comment