[ 
https://issues.apache.org/jira/browse/RANGER-5749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eoin McDonnell updated RANGER-5749:
-----------------------------------
    Description: 
Ranger Admin currently allows a user to have an unlimited number of concurrent 
UI sessions. Customers who need tighter session control (for example, one 
active session per user) cannot configure this today.

Proposal:
1. Add a Ranger Admin configuration (for example 
ranger.session.limit.concurrency) for the maximum number of concurrent UI 
sessions per user.
2. Default should preserve current behavior (unlimited / no limit).
3. When the limit is exceeded, expire the oldest session so the new login 
succeeds (same behavior as CM).
4. Apply the limit to UI logins. Plugin policy/tag/role download and similar 
service calls should not consume a user's session quota.
5. Add tests for the limit=1 case (second login expires the first session).

Primary code areas:
 - security-admin/.../security-applicationContext.xml (Spring 
session-management)
 - security-admin/.../RangerAuthSuccessHandler.java
 - security-admin/.../SessionMgr.java
 - security-admin/.../RangerHttpSessionListener.java

 

  was:
Ranger Admin currently allows a user to have an unlimited number of concurrent 
UI sessions. Customers who need tighter session control (for example, one 
active session per user) cannot configure this today.

Cloudera Manager already provides this behavior via session_limit_concurrency: 
if the limit is 1, a second login from another browser expires the first 
session immediately.

Proposal:
1. Add a Ranger Admin configuration (for example 
ranger.session.limit.concurrency) for the maximum number of concurrent UI 
sessions per user.
2. Default should preserve current behavior (unlimited / no limit).
3. When the limit is exceeded, expire the oldest session so the new login 
succeeds (same behavior as CM).
4. Apply the limit to UI logins. Plugin policy/tag/role download and similar 
service calls should not consume a user's session quota.
5. Add tests for the limit=1 case (second login expires the first session).

Primary code areas:
- security-admin/.../security-applicationContext.xml (Spring session-management)
- security-admin/.../RangerAuthSuccessHandler.java
- security-admin/.../SessionMgr.java
- security-admin/.../RangerHttpSessionListener.java

Related Cloudera ticket: https://cloudera.atlassian.net/browse/OPSAPS-71109


> Add configurable concurrent session limit for Ranger Admin UI logins
> --------------------------------------------------------------------
>
>                 Key: RANGER-5749
>                 URL: https://issues.apache.org/jira/browse/RANGER-5749
>             Project: Ranger
>          Issue Type: Improvement
>          Components: admin
>            Reporter: Eoin McDonnell
>            Assignee: Eoin McDonnell
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Ranger Admin currently allows a user to have an unlimited number of 
> concurrent UI sessions. Customers who need tighter session control (for 
> example, one active session per user) cannot configure this today.
> Proposal:
> 1. Add a Ranger Admin configuration (for example 
> ranger.session.limit.concurrency) for the maximum number of concurrent UI 
> sessions per user.
> 2. Default should preserve current behavior (unlimited / no limit).
> 3. When the limit is exceeded, expire the oldest session so the new login 
> succeeds (same behavior as CM).
> 4. Apply the limit to UI logins. Plugin policy/tag/role download and similar 
> service calls should not consume a user's session quota.
> 5. Add tests for the limit=1 case (second login expires the first session).
> Primary code areas:
>  - security-admin/.../security-applicationContext.xml (Spring 
> session-management)
>  - security-admin/.../RangerAuthSuccessHandler.java
>  - security-admin/.../SessionMgr.java
>  - security-admin/.../RangerHttpSessionListener.java
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to