Integration details
A&AI webservices resources and traversal are integrated with AAF through the Cadi filter. The request workflow looks as follows:
Image Modified
- The request is authenticated in AAFTODO: the request should be authorized in the
- futureThe request is authorized through a permission in AAF (see section: A&AI permissions)
- If the request passes all the checks (authentication and in the future authorization), it is forwarded to the A&AI servlet which handles the web services.
...
Users have roles assigned and each role has permissions.
A&AI permissions
...
There will be a separate permission for traversal and resources web services. Let's call them these permissions org.onap.aai.resources.access and org.onap.aai.traversal. access. For now we will not distinguish between different objects we could affect, so the instance will always be "*" meaning everything. Actions will be mapped to HTTP verbs - GET, PUT, POST, DELETE, PATCH.
For a seemless transition to AAF, the first roles we use for our clients will be called org.onap.aai.resources._alland org.onap.aai.traversal.all and will contain all read and write permissions for A&AI web services. This role _advanced and org.onap.aai.resources_readonly and org.onap.aai.traversal_basic. These roles will be assigned to all users/applications which access A&AI web services.
Role name | Meaning |
---|
org.onap.aai.resources_all | read + write access to the resources web service |
org.onap.aai.resources_readonly | read-only access to the resources web service |
org.onap.aai.traversal_advanced | applications may issue basic and advanced queries in the traversal web service |
org.onap.aai.traversal_basic | applications may issue only basic queries in the traversal web service |
Role org.onap.aai.traversal_advanced |
---|
Permission type | instances | action |
---|
org.onap.aai.traversal | * | advanced |
|
Role org.onap.aai.resources |
---|
.access_all |
---|
Permission type | instances | action |
---|
org.onap.aai.resources | * | get | org.onap.aai.resources |
|
.access | * | put | org.onap.aai.resources |
|
.access | * | post | org.onap.aai.resources |
|
.access | * | delete | org.onap.aai.resources |
|
.accessRole org.onap.aai.resources_readonly |
---|
Permission type | instances | action |
---|
org.onap.aai. |
|
traversal.accessRole org.onap.aai.traversal |
---|
.access* | put | _basic |
---|
Permission type | instances | action |
---|
org.onap.aai.traversal | * | basic |
|
A&AI webservice AAF role and permission script
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | AAF role permission setup |
---|
|
#resources read-write role
role create org.onap.aai.resources_all
perm create org.onap.aai.resources * get org.onap.aai.resources_all
perm create org.onap.aai.resources * put org.onap.aai. |
...
resources_all
perm create org.onap.aai.resources * post org.onap.aai.resources_all
perm create org.onap.aai.resources * patch org.onap.aai.resources_all
perm create org.onap.aai.resources * delete org.onap.aai.resources_all
#resources read-only role
role create org.onap.aai.resources_readonly
perm create org.onap.aai.resources * get org.onap.aai.resources_readonly
#traversal basic role
role create org.onap.aai.traversal |
...
_basic
perm create org.onap.aai.traversal * basic org.onap.aai.traversal |
...
_basic
#traversal advanced role
role create org.onap.aai.traversal_advanced
perm create org.onap.aai.traversal * advanced org.onap.aai.traversal_advanced
#adding users to roles
user role add aai@aai.onap.org org.onap.aai.traversal_advanced
user role add so@so.onap.org org.onap.aai.traversal_advanced
user role add sdnc@sdnc.onap.org org.onap.aai.traversal_advanced
user role add dcae@dcae.onap.org org.onap.aai.traversal_advanced
user role add policy@policy.onap.org org.onap.aai.traversal_advanced
user role add sdc@sdc.onap.org org.onap.aai.traversal_advanced
user role add vid@vid.onap.org org.onap.aai.traversal_advanced
user role add appc@appc.onap.org org.onap.aai.traversal_advanced
user role add oof@oof.onap.org org.onap.aai.traversal_advanced
user role add pomba@pomba.onap.org org.onap.aai.traversal_advanced
user role add vfc@vfc.onap.org org.onap.aai.traversal_advanced
user role add demo@people.osaaf.org org.onap.aai.traversal_basic
user role add aai@aai.onap.org org.onap.aai.resources_all
user role add so@so.onap.org org.onap.aai.resources_all
user role add sdnc@sdnc.onap.org org.onap.aai.resources_all
user role add dcae@dcae.onap.org org.onap.aai.resources_all
user role add policy@policy.onap.org org.onap.aai.resources_all
user role add sdc@sdc.onap.org org.onap.aai.resources_all
user role add vid@vid.onap.org org.onap.aai.resources_all
user role add appc@appc.onap.org org.onap.aai.resources_all
user role add oof@oof.onap.org org.onap.aai.resources_all
user role add pomba@pomba.onap.org org.onap.aai.resources_all
user role add vfc@vfc.onap.org org.onap.aai.resources_all
user role add demo@people.osaaf.org org.onap.aai.resources_readonly
|
Open questions