authelia: a user outside a rule's group is denied instead of falling through to one_factor
authelia takes the first matching rule, and a rule with a `subject` does not match a subject outside it. The swarm domain's and the bao UI's `group:admins` rules had nothing after them, so an account in no group skipped them and landed on `default_policy = one_factor`: any authenticated account reached the swarm UI, its `/api/` (by cookie or by bearer) and the bao UI. Each of the two group rules is now an `operatorsOnly` pair: the group allow, then a subject-less `deny` for the same domain, the shape `collectorOnly` already gives the collector's metrics rules. `default_policy` stays `one_factor`, which the forge and chat rely on. module-eval-swarm-otel-identity gains two cases on `allLocal`: an account in no group is refused the swarm domain (four paths) and the bao UI while `group:admins` passes and the forge stays open; and a predicate, `autheliaSubjectRulesClosed` in lib.nix, holds over the rendered list: every subject-scoped allow is closed by a later subject-less `deny` on its domain with no subject-less allow in between, and nothing follows a domain-wide `deny` on its domain. Fixes #5120
This commit is contained in:
parent
b99ce2b572
commit
4a9acd1d0c
4 changed files with 194 additions and 15 deletions
|
|
@ -379,8 +379,8 @@ reader and to a certificate — so there is no separate option to pin.
|
|||
**This is the step that separates "protected" from "locked out."** The
|
||||
vhost's `auth_request` asks authelia _"is there a session"_; the rule
|
||||
that makes it mean _"is this an operator"_ is an `access_control` entry
|
||||
requiring `group:admins`. An account without that group authenticates
|
||||
fine and still gets bounced.
|
||||
requiring `group:admins`, followed by a `deny` for everyone else. An
|
||||
account without that group authenticates fine and still gets bounced.
|
||||
|
||||
```sh
|
||||
swarmctl user add <you> --email <you>@example.com --group admins
|
||||
|
|
|
|||
Loading…
Reference in a new issue