[AAA-205] Eliminate blueprint from aaa-shiro Created: 03/Nov/20  Updated: 28/Jan/24

Status: Confirmed
Project: aaa
Component/s: General
Affects Version/s: None
Fix Version/s: 0.20.0, 0.19.2

Type: Task Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Relates
relates to AAA-206 Eliminate blueprint from aaa-cert Confirmed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
AAA-207 Convert H2 datastore to a OSGi DS com... Sub-task Resolved Robert Varga  
AAA-209 Convert IdmLight to OSGi DS Sub-task Resolved Tomas Cere  
AAA-210 Convert ODLAuthenticator into a compo... Sub-task Resolved Tomas Cere  
AAA-251 Expose WebContextSecurer through OSGi DS Sub-task Resolved Robert Varga  
Epic Link: Eliminate Blueprint

 Description   

aaa-shiro is a monolithic block of a container. It should be split up into multiple OSGi DS components.



 Comments   
Comment by Robert Varga [ 14/Feb/23 ]

There are two remaining components here:

  1. aaa-datastore-config.xml things, which specify how the datastore should be set up. There are two parts to this:
    1. The fact we should use H2Datastore. This feels like we should just use whatever advertizes itself as IIDMStore, though.
    2. The lifecycle policy, time-to-live and time-to-wait, which feels like something common to all uses of IIDMStore
  2. aaa-app-config.xml things, which relate to the actual policy. There are mutliple parts to this:
    1. ldapRealm configuration, commented out by default
    2. ODLActiveDirectoryRealm, commented out
    3. jdbcRealm, commented out
    4. mdsalRealm, commented out
    5. moonAuthRealm, commented out
    6. keystoneAuthRelam, commented out
    7. tokenAuthRealm, active by default, and the only one referenced
    8. url policy, which has four parts:
      1. global policy, as expressed by /**
      2. (what I suspect is) neutron access policy, as expressed by /**/v1/**
      3. AAA configuration policy, as expressed by /**/config/aaa/**. This I suspect is meant to cover RESTCONF modification of AAA configuration – and that is broken by RFC8040 URL format for a looooong time
      4. Access to controller's sal-cluster-admin, as expressed by /**/operations/cluster-admin**. This also is tightly bound to how RESTCONF URLs work

This points out at least 10 more subtasks to deal with the individual cases.

The 1.* cases seem like an easy first pick.

The 2.* cases really feel like a missing modeling indirection. While the versatility of aaa-app-config:string-pair is awesome for expressing any Shiro configuration the tie-in to what the OpenDaylight components provide/require is lackluster at best. The realms seam to be easy (pending further analysis), but the URL policy part should really follow the whiteboard pattern, which needs to be reflect in code – they clearly are things that plug into AAA.

Generated at Wed Feb 07 19:08:55 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.