Skip to content

Commit bd3beb8

Browse files
rbac ignore for superadmin and server version call commented (#5415)
1 parent f3d5ad1 commit bd3beb8

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

api/k8s/application/k8sApplicationRestHandler.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,15 @@ func (handler *K8sApplicationRestHandlerImpl) GetResourceList(w http.ResponseWri
964964
common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
965965
return
966966
}
967-
response, err := handler.k8sApplicationService.GetResourceList(r.Context(), token, &request, handler.verifyRbacForCluster)
967+
isSuperAdmin := false
968+
if ok := handler.enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionGet, "*"); ok {
969+
isSuperAdmin = true
970+
}
971+
clusterRbacFunc := handler.verifyRbacForCluster
972+
if isSuperAdmin {
973+
clusterRbacFunc = nil
974+
}
975+
response, err := handler.k8sApplicationService.GetResourceList(r.Context(), token, &request, clusterRbacFunc)
968976
if err != nil {
969977
handler.logger.Errorw("error in getting resource list", "err", err)
970978
if statusErr, ok := err.(*errors3.StatusError); ok && statusErr.Status().Code == 404 {

pkg/k8s/application/k8sApplicationService.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,9 @@ func (impl *K8sApplicationServiceImpl) GetResourceList(ctx context.Context, toke
674674
return resourceList, err
675675
}
676676
checkForResourceCallback := func(namespace, group, kind, resourceName string) bool {
677+
if validateResourceAccess == nil { // if resource validate rbac func is nil then allow
678+
return true
679+
}
677680
resourceIdentifier := resourceIdentifierCloned
678681
resourceIdentifier.Name = resourceName
679682
resourceIdentifier.Namespace = namespace
@@ -688,13 +691,15 @@ func (impl *K8sApplicationServiceImpl) GetResourceList(ctx context.Context, toke
688691
impl.logger.Errorw("error on parsing for k8s resource", "err", err)
689692
return resourceList, err
690693
}
691-
k8sServerVersion, err := impl.k8sCommonService.GetK8sServerVersion(clusterId)
692-
if err != nil {
693-
impl.logger.Errorw("error in getting k8s server version", "clusterId", clusterId, "err", err)
694-
// return nil, err
695-
} else {
696-
resourceList.ServerVersion = k8sServerVersion.String()
697-
}
694+
// Not used in FE side
695+
696+
//k8sServerVersion, err := impl.k8sCommonService.GetK8sServerVersion(clusterId)
697+
//if err != nil {
698+
// impl.logger.Errorw("error in getting k8s server version", "clusterId", clusterId, "err", err)
699+
// // return nil, err
700+
//} else {
701+
// resourceList.ServerVersion = k8sServerVersion.String()
702+
//}
698703
return resourceList, nil
699704
}
700705

0 commit comments

Comments
 (0)