Zanzana: revert cluster store for fixed roles (#100958)
* Zanzana: revert cluster store for fixed roles * update go workspace
This commit is contained in:
@@ -11,8 +11,6 @@ import (
|
||||
authzextv1 "github.com/grafana/grafana/pkg/services/authz/proto/v1"
|
||||
)
|
||||
|
||||
const ClusterNamespace = "cluster"
|
||||
|
||||
const (
|
||||
TypeUser string = "user"
|
||||
TypeServiceAccount string = "service-account"
|
||||
|
||||
@@ -78,11 +78,8 @@ func (s *Server) IsHealthy(ctx context.Context) (bool, error) {
|
||||
return err == nil, nil
|
||||
}
|
||||
|
||||
func (s *Server) getContextuals(ctx context.Context, subject string) (*openfgav1.ContextualTupleKeys, error) {
|
||||
contextuals, err := s.getGlobalAuthorizationContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
func (s *Server) getContextuals(subject string) (*openfgav1.ContextualTupleKeys, error) {
|
||||
contextuals := make([]*openfgav1.TupleKey, 0)
|
||||
|
||||
if strings.HasPrefix(subject, common.TypeRenderService+":") {
|
||||
contextuals = append(
|
||||
@@ -105,27 +102,3 @@ func (s *Server) getContextuals(ctx context.Context, subject string) (*openfgav1
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (s *Server) getGlobalAuthorizationContext(ctx context.Context) ([]*openfgav1.TupleKey, error) {
|
||||
const cacheKey = "global_authorization_context"
|
||||
cached, found := s.cache.Get(cacheKey)
|
||||
if found {
|
||||
return cached.([]*openfgav1.TupleKey), nil
|
||||
}
|
||||
|
||||
res, err := s.Read(ctx, &authzextv1.ReadRequest{
|
||||
Namespace: common.ClusterNamespace,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contextualTuples := make([]*openfgav1.TupleKey, 0, len(res.GetTuples()))
|
||||
tuples := common.ToOpenFGATuples(res.GetTuples())
|
||||
for _, t := range tuples {
|
||||
contextualTuples = append(contextualTuples, t.GetKey())
|
||||
}
|
||||
|
||||
s.cache.SetDefault(cacheKey, contextualTuples)
|
||||
return contextualTuples, nil
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ func (s *Server) BatchCheck(ctx context.Context, r *authzextv1.BatchCheckRequest
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contextuals, err := s.getContextuals(ctx, r.GetSubject())
|
||||
contextuals, err := s.getContextuals(r.GetSubject())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ func (s *Server) Check(ctx context.Context, r *authzv1.CheckRequest) (*authzv1.C
|
||||
|
||||
relation := common.VerbMapping[r.GetVerb()]
|
||||
|
||||
contextuals, err := s.getContextuals(ctx, r.GetSubject())
|
||||
contextuals, err := s.getContextuals(r.GetSubject())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ func (s *Server) List(ctx context.Context, r *authzv1.ListRequest) (*authzv1.Lis
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contextuals, err := s.getContextuals(ctx, r.GetSubject())
|
||||
contextuals, err := s.getContextuals(r.GetSubject())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
openfgav1 "github.com/openfga/api/proto/openfga/v1"
|
||||
|
||||
authlib "github.com/grafana/authlib/types"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/authz/zanzana/common"
|
||||
)
|
||||
|
||||
@@ -58,8 +59,6 @@ const (
|
||||
KindFolders string = "folders"
|
||||
)
|
||||
|
||||
var ClusterNamespace = common.ClusterNamespace
|
||||
|
||||
var (
|
||||
ToAuthzExtTupleKey = common.ToAuthzExtTupleKey
|
||||
ToAuthzExtTupleKeys = common.ToAuthzExtTupleKeys
|
||||
|
||||
Reference in New Issue
Block a user