-
Notifications
You must be signed in to change notification settings - Fork 18
Description
During the authorization panel on 2022-03-02, we discussed open by default client permissions being a security issue.
Currently, in ACP for example, an access mode can be granted without ever requiring a client to be matched. More specifically, the current axiom states:
An access mode MUST be granted over a resource if and only if in the set of policies mandating access over it:
- A satisfied policy allows it; and
- No satisfied policy denies it.
That is, an access mode could be granted without even matching an agent (whether via a specific WebID or via the acp:PublicAgent matcher).
One way to restrict client access for an agent could be to enforce it via claims in the access token, for example, via adding a set of trusted web apps to a WebID document. However, declaring trusted web apps in the WebID document comes with some privacy issues as discussed during the authorization panel on 2022-03-02.
Another solution could be, for example, to require at least one acp:agent (could be implicit for the owner agent) and acp:client match for an access mode to be granted. One downside of that approach is that it would increase complexity of ACP implementations and begs questions such as: Would an explicit match in a noneOf matcher count?
The logical follow up question to this might be: Which context attributes must be closed by default? Does this requirement apply at the ACP spec level or at the Solid-ACP level (maybe WAC?) or as a best current practice?
How would we enforce this requirement from a WAC/ACL perspective?
/cc @elf-pavlik @acoburn