-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reject if
#141
Comments
I like the idea, but maybe the name is a bit confusing. Are there alternative ways to express it? |
What about |
i have opened a poll: https://framapiaf.org/@clementd/110616658721525331 |
This was referenced May 12, 2024
the new samples are available in #161 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, authorization logic can be described with two mechanisms:
check
s (andcheck all
): when present, a check must be satisfied for the authorization to go through.check
mandates that at least one combination of facts match the predicates and satisfy the expressions, whilecheck all
mandates that at least one combination of facts match the predicates, and that all combination of facts that match the predicates, satisfy the expressions.allow
/deny
): those are tried in order, and the first one to match determines is the request is allowed or not (as long as all checks are satisfied).So
check
s are there to ensure that a condition holds, not matter what, while policies are useful to try several conditions one after the other.One missing bit is being able to ensure that a condition does not hold, no matter what. This kind of logic is used in AWS policies for instance: if a deny policy matches, authorization will fail, regardless of all other policies.
This behaviour can be done in biscuit by putting deny policies first, so that no allow policies has the chance to bypass the check of deny policies, but this is a bit fragile. In some cases,
check all
can also be used to this effect.reject if
The next biscuit version could introduce a new
check
kind, that makes authorization fail if it matches. This would allow us to have autonomous exclusion checks.open questions
reject if
was the version favoured by people https://framapiaf.org/@clementd/110616658721525331check all
also have a negative version as well?The text was updated successfully, but these errors were encountered: