Group ids are not validated after SAML2->groups mapping and federated token scoping

Bug #1290258 reported by Marek Denis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Fix Released
High
Marek Denis

Bug Description

During federated authentication dedicated mechanism called RuleProcessor maps SAML2 parameters into Keystone groups. It's done by matching certain rules added by cloud administrators. However, Keystone doesn't check whether resulting groups are present in the backend. this may lead to errors "mapping doesn't work as expected" due to a typo in the rule, or situations where group was deleted and admins are not aware of that fact.
The fix should include a function that checks whether all the groups are present in the backend and if not log a warning and remove nonexisting groups from the list. The same policy should be applied when scoping federated unsoped token.

Changed in keystone:
assignee: nobody → Marek Denis (marek-denis)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystone (master)

Fix proposed to branch: master
Review: https://review.openstack.org/79284

Changed in keystone:
status: New → In Progress
Dolph Mathews (dolph)
Changed in keystone:
milestone: none → icehouse-rc1
importance: Undecided → High
Changed in keystone:
assignee: Marek Denis (marek-denis) → David Stanek (dstanek)
Changed in keystone:
assignee: David Stanek (dstanek) → Marek Denis (marek-denis)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to keystone (master)

Reviewed: https://review.openstack.org/79284
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=cbb9e9acbbe6af566fdb9cb242c2aec70beacf61
Submitter: Jenkins
Branch: master

commit cbb9e9acbbe6af566fdb9cb242c2aec70beacf61
Author: Marek Denis <email address hidden>
Date: Thu Mar 6 16:21:16 2014 +0100

    Enforce groups presence for federated authn

    Check whether all the groups issued by the RuleProcessor are present in
    the backend. The request is rejected with an authentication error if no
    groups are issued. If any of the issued groups are not found in the
    backend, an unexpected error (500) is returned with a message explaining
    which group was not found. Also, this policy is applied when an unscoped
    token is being scoped.

    Change-Id: I8b843fc567892289fba4c04b7e8b1dfd63d1e9ca
    Closes-bug: #1290258

Changed in keystone:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in keystone:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in keystone:
milestone: icehouse-rc1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.