Hi @Ghassan Barghouti,
Firstly, the term applications in the resource permissions applies to apis in the Edge API URL, that’s a historical artifact.
Secondly, there appears to be an issue with maskconfigs and custom roles at the API Proxy level.
I created a custom role AllowMaskconfig and set the following permissions which did not work.
{
"resourcePermission": [
{ "path": "/maskconfigs", "permissions": [ "get", "put" ] },
{ "path": "/maskconfigs/*", "permissions": [ "get", "put", "delete" ] },
{ "path": "/applications/features-v1/maskconfigs", "permissions": [ "get", "put" ] },
{ "path": "/applications/features-v1/maskconfigs/*", "permissions": [ "get", "put", "delete" ] }
]
}
Then, I tried this, which did work.
{
"resourcePermission": [
{ "path": "/maskconfigs", "permissions": [ "get", "put" ] },
{ "path": "/maskconfigs/*", "permissions": [ "get", "put", "delete" ] },
{ "path": "/*/features-v1/maskconfigs", "permissions": [ "get", "put" ] },
{ "path": "/*/features-v1/maskconfigs/*", "permissions": [ "get", "put", "delete" ] }
]
}
If you assign this role to a user in the built-in User role, that user will now be able to create maskconfigs at the proxy level just for the features-v1 proxy. And if you change that path element to *, they can create maskconfigs for all proxies.
You can prevent access using a DisallowMaskconfig role with these permissions.
{
"resourcePermission": [
{ "path": "/maskconfigs", "permissions": [] },
{ "path": "/maskconfigs/*", "permissions": [] },
{ "path": "/*/*/maskconfigs", "permissions": [] },
{ "path": "/*/*/maskconfigs/*", "permissions": [] }
]
}
Always fun playing with custom roles!