Auth - Add debugging to loading rules (#1420)
* Fix auth multi-rule edgecase * Add logging to auth rules Co-authored-by: Ben Toogood <ben@micro.mu>
This commit is contained in:
parent
42b6bf5bbf
commit
00e7804f96
@ -125,11 +125,10 @@ func (s *svc) Revoke(role string, res *auth.Resource) error {
|
|||||||
// Verify an account has access to a resource
|
// Verify an account has access to a resource
|
||||||
func (s *svc) Verify(acc *auth.Account, res *auth.Resource) error {
|
func (s *svc) Verify(acc *auth.Account, res *auth.Resource) error {
|
||||||
queries := [][]string{
|
queries := [][]string{
|
||||||
{res.Type, res.Name, res.Endpoint}, // check for specific role, e.g. service.foo.ListFoo:admin (role is checked in accessForRule)
|
{res.Type, res.Name, res.Endpoint}, // check for specific role, e.g. service.foo.ListFoo:admin (role is checked in accessForRule)
|
||||||
{res.Type, res.Name, res.Endpoint, "*"}, // check for wildcard role, e.g. service.foo.ListFoo:*
|
{res.Type, res.Name, "*"}, // check for wildcard endpoint, e.g. service.foo*
|
||||||
{res.Type, res.Name, "*"}, // check for wildcard endpoint, e.g. service.foo*
|
{res.Type, "*"}, // check for wildcard name, e.g. service.*
|
||||||
{res.Type, "*"}, // check for wildcard name, e.g. service.*
|
{"*"}, // check for wildcard type, e.g. *
|
||||||
{"*"}, // check for wildcard type, e.g. *
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// endpoint is a url which can have wildcard excludes, e.g.
|
// endpoint is a url which can have wildcard excludes, e.g.
|
||||||
@ -242,6 +241,7 @@ func (s *svc) listRules(filters ...string) []*rulePb.Rule {
|
|||||||
|
|
||||||
// loadRules retrieves the rules from the auth service
|
// loadRules retrieves the rules from the auth service
|
||||||
func (s *svc) loadRules() {
|
func (s *svc) loadRules() {
|
||||||
|
log.Infof("Loading rules from auth service\n")
|
||||||
rsp, err := s.rule.List(context.TODO(), &rulePb.ListRequest{})
|
rsp, err := s.rule.List(context.TODO(), &rulePb.ListRequest{})
|
||||||
s.Lock()
|
s.Lock()
|
||||||
defer s.Unlock()
|
defer s.Unlock()
|
||||||
@ -251,6 +251,7 @@ func (s *svc) loadRules() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Infof("Loaded %v rules from the auth service\n", len(rsp.Rules))
|
||||||
s.rules = rsp.Rules
|
s.rules = rsp.Rules
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user