} ]
e.g. [ { "uri": "\/aai\/v13\/cloud-infrastructure\/cloud-regions$", "permissions": [ "org\.onap\.osaaf\.resources\.access\|rest\|read" ] }, { "uri": "\/aai\/v13\/cloud-infrastructure\/cloud-regions\/cloud-region\/[^\/]+[\/][^\/]+$*", "permissions": [ "org\.onap\.osaaf\.resources\.access|clouds|read", "org\.onap\.osaaf\.auth\.resources\.access|tenants|read" ]
}, { "uri": "\/aai\/v13\/cloud-infrastructure\/cloud-regions\/cloud-region\/[^\/]+[\/][^\/]+\/tenants\/tenant/[^\/]+\/vservers\/vserver\/[^\/]+$", "permissions": [ "org\.onap\.osaaf\.auth\.resources\.access\|clouds\|read", "org\.onap\.osaaf\.auth\.resources\.access\|tenants\|read", "org\.onap\.osaaf\.auth\.resources\.access\|vservers\|read" ]
} ]
The current implementation of side car security relies on AAF & use of the CADI filter. In order to use an alternative authorization service provider it will be necessary to modify the Reverse Proxy side car filter chain. The first change necessary is replacement of the CADI filter. The replacing filter will be responsible for extracting the credentials from the incoming request, contacting the alternative authorization service to return the authorizations/permissions and passing the authorizations through to the ReverseProxyAuthorization filter. The ReverseProxyAuthorization filter is next in the filter chain. Currently authorizations are passed with the HttpServletRequestWrapper derived CADIWrap object. If it is desirable to not have a dependency on the CADI libraries then a new object derived from HTTPServletRequestWrapper can be used or alternatively authorizations could be passed as an attribute set on the HTTPServletRequest. If either of these two options are chosen then the ReverseProxyAuthorization filter with need altering to use the new object or to retrieve authorizations from the request attribute. Finally the auth/uri-authorization.json file will need revising to match the new format and list of permissions for the URI requests.