Bug 1092744 (ovirt-aaa-sso) - [RFE][AAA] Introduce uniform login services
Summary: [RFE][AAA] Introduce uniform login services
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: ovirt-aaa-sso
Product: ovirt-engine
Classification: oVirt
Component: RFEs
Version: ---
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-4.0.0-beta
: 4.0.0
Assignee: Ravi Nori
QA Contact: Gonza
URL:
Whiteboard:
Depends On: 956226 975730 1019921 1164300 1164302 1285883 1285885 1285887
Blocks: 1037844 1104107 1425415
TreeView+ depends on / blocked
 
Reported: 2014-04-29 21:17 UTC by Alon Bar-Lev
Modified: 2019-04-28 13:34 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
With this release, a single sign on module has been added that authenticates the user once, and allows access to both the Administration Portal and User Portal. Signing off from one portal closes the session on SSO and the user is logged out of all portals.
Clone Of:
Environment:
Last Closed: 2016-08-01 12:29:22 UTC
oVirt Team: Infra
rule-engine: ovirt-4.0.0+
grafuls: testing_plan_complete+
mgoldboi: planning_ack+
oourfali: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 35148 0 master MERGED core : Introduce engine_sessions table and DAO Never
oVirt gerrit 35361 0 master MERGED core : Persist engine session on login and delete on logout Never
oVirt gerrit 35362 0 master MERGED core : Modify MLA to use engine session info Never
oVirt gerrit 35893 0 master MERGED aaa: remove user/group sync Never
oVirt gerrit 36119 0 master MERGED aaa : Add engine sso Never
oVirt gerrit 36619 0 master MERGED aaa: Modify webadmin and userportal to use enginesso for authentication Never
oVirt gerrit 40154 0 master ABANDONED aaa: Remove Authn from backend 2016-02-14 01:55:16 UTC
oVirt gerrit 40445 0 master MERGED aaa: Add SSO UI for Changing expired user passwd 2016-03-04 17:13:37 UTC
oVirt gerrit 40672 0 master MERGED aaa: Modify welcome screen to show user name and options as menu Never
oVirt gerrit 47781 0 master MERGED aaa: Pass authRecord for login on behalf Never
oVirt gerrit 49587 0 master ABANDONED engine : During upgrade if SSO client exists re-register it 2015-12-16 15:06:20 UTC
oVirt gerrit 51470 0 master MERGED aaa: Add Authz search to SSO 2016-03-04 20:16:43 UTC
oVirt gerrit 51679 0 master ABANDONED aaa: Remove Authz searches from queries 2016-01-22 15:45:52 UTC
oVirt gerrit 52442 0 master ABANDONED aaa: Adds user roles to token info 2016-07-24 01:56:04 UTC
oVirt gerrit 53143 0 master ABANDONED aaa: Add Global Roles actions to sso 2016-08-14 01:56:08 UTC
oVirt gerrit 53144 0 master ABANDONED aaa: Add engine ssoadmin 2017-01-15 01:56:09 UTC
oVirt gerrit 55020 0 master MERGED aaa: Localize SSO errors and messages 2016-04-15 16:29:56 UTC
oVirt gerrit 55031 0 master MERGED aaa: Add service to invoke SSO Logout 2016-04-20 09:51:11 UTC
oVirt gerrit 56050 0 master MERGED engine : Add filter to skip initializing authz extensions 2016-04-18 06:54:44 UTC
oVirt gerrit 56154 0 master ABANDONED engine : Add support to cache authz searches 2016-10-02 01:59:02 UTC
oVirt gerrit 56410 0 master MERGED engine : Change SSO classes to CamelCase 2016-04-25 15:01:22 UTC
oVirt gerrit 56411 0 master ABANDONED engine : Add ip to hostname redirection filter 2016-08-03 12:30:09 UTC
oVirt gerrit 56430 0 master MERGED engine : Change GetEngineSessionIdForSSOToken to public query 2016-04-21 07:59:28 UTC

Description Alon Bar-Lev 2014-04-29 21:17:48 UTC
CURRENT IMPLEMENTATION

Each webapp has its own login services, the shared bit is the j2ee session id.

Client side login implementation exists at client side at webadmin and userportal.

Single signon with jasper is incomplete, as no role transfer exist, so admin user should access the jasper directly.

API supports only subset of authentication mechanisms.

PROBLEMS IN CURRENT IMPLEMENTATION

Logic of login is distributed among several applications.

Implementation of challenges, password change is to be duplicated as well.

Accessing services on different servers is not supported as the j2ee session id cannot be shared.

Multiple identity in case of the Jasper interaction.

NEW IMPLEMENTATION

Single service webapp to perform authentication and authorization. All applications will interact with this service to perform authentication using either backend request or http redirect.

If no good reason, implementation should be based on saml[1], there are java implementations[2], we can use these if are doing at least 80% of the implementation and we use at least 80% of their implementation.

Authn and Authz should be done within the service, passing the entire principal record into application.

The webapp implementation can be implemented as negotiate authn, this means that we should split the extension list into each application.

REQUIREMENTS

1. Modify the jasper filter to be able to set roles.
2. Add roles to users:
a. Login to application X
b. Jasper admin

WISH

Limit the usage of users and groups table within engine, rely solely on the information obtained during login.

Move authz sync code to aaa service, or better remove it completely.

[1] http://en.wikipedia.org/wiki/SAML_2.0
[2] https://wiki.shibboleth.net/confluence/display/OpenSAML/Home

Comment 1 Itamar Heim 2014-09-29 07:43:27 UTC
while the current SSO for VM isn't a great solution, we need to find a way to allow kerberos only to webadmin (and API), while allowing non kerberized login to user portal for the SSO to continue working.
not sure if this RFE prevents this.

Comment 2 Oved Ourfali 2014-09-29 11:00:04 UTC
(In reply to Itamar Heim from comment #1)
> while the current SSO for VM isn't a great solution, we need to find a way
> to allow kerberos only to webadmin (and API), while allowing non kerberized
> login to user portal for the SSO to continue working.
> not sure if this RFE prevents this.

Are there plans to improve that to be supported in the spice level rather than via the engine? Or any other plans to make it in a better way?

Comment 3 Itamar Heim 2015-05-06 14:40:24 UTC
(In reply to Oved Ourfali from comment #2)
> (In reply to Itamar Heim from comment #1)
> > while the current SSO for VM isn't a great solution, we need to find a way
> > to allow kerberos only to webadmin (and API), while allowing non kerberized
> > login to user portal for the SSO to continue working.
> > not sure if this RFE prevents this.
> 
> Are there plans to improve that to be supported in the spice level rather
> than via the engine? Or any other plans to make it in a better way?

please discuss with michal and david blechter

Comment 4 Moran Goldboim 2015-07-20 13:11:01 UTC
moving to 4.0, wasn't delivered feature freeze

Comment 5 Red Hat Bugzilla Rules Engine 2015-10-19 11:03:19 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 7 Mike McCune 2016-03-28 23:29:58 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 8 Sandro Bonazzola 2016-05-02 09:57:58 UTC
Moving from 4.0 alpha to 4.0 beta since 4.0 alpha has been already released and bug is not ON_QA.

Comment 9 Gonza 2016-07-18 09:32:31 UTC
Verified with:
rhevm-4.0.0.5-0.1.el7ev.noarch


Note You need to log in before you can comment on or make changes to this bug.