Need support for OpenDirectory in LDAP driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Medium
|
Andrey Grebennikov |
Bug Description
It is necessary to support Apple OpenDirectory as the backend for Keystone Identity.
OpenDirectory uses a concept of POSIX groups, when the entities of users in the groups are represented as UIDs, not full DNs:
dn: cn=group1, cn=groups,
....
memberUid: user1
memberUid: user2
....
while in the driver of LDAP it is hardcoded that the entities could be only full DNs, like:
dn: cn=group1, cn=groups,
....
memberUid: uid=user1,
memberUid: uid=user2,
Because of this reason it is impossible to use groups in Keystone and we cannot assign the roles to the Keystone groups - Keystone doesn't recognize any user to be a part of any group. When it checks the roles, it searches for the direct user's assignments, and then for any groups which the user can be a member of. So by default the search returns nothing.
We have to have an additional parameter in the config where we specify the type of the entity in the groups - whether is it currently a dn or an id.
Changed in keystone: | |
assignee: | Alexander Makarov (amakarov) → Steve Martinelli (stevemar) |
Changed in keystone: | |
assignee: | Steve Martinelli (stevemar) → Alexander Makarov (amakarov) |
Changed in keystone: | |
assignee: | Alexander Makarov (amakarov) → Steve Martinelli (stevemar) |
Changed in keystone: | |
assignee: | Steve Martinelli (stevemar) → Brant Knudson (blk-u) |
Changed in keystone: | |
assignee: | Brant Knudson (blk-u) → Alexander Makarov (amakarov) |
Changed in keystone: | |
status: | Fix Released → In Progress |
assignee: | Alexander Makarov (amakarov) → Andrey Grebennikov (agrebennikov) |
Changed in keystone: | |
milestone: | mitaka-3 → mitaka-rc1 |
sounds like you created a work around for this? is that true? if so, can you post your patch here so others may look at the code and get a better feel for the problem.
overall, it sounds like it's solvable.