goharbor/harbor · error · *errors.Error

FORBIDDEN

FORBIDDEN

Error message

only admins(system and project) can access permissions

What it means

Error "only admins(system and project) can access permissions" thrown in goharbor/harbor.

Source

Thrown at src/server/v2.0/handler/permissions.go:71

	}

	var isSystemAdmin bool
	var isProjectAdmin bool

	if secCtx.IsSysAdmin() {
		isSystemAdmin = true
	} else {
		if sc, ok := secCtx.(*local.SecurityContext); ok {
			user := sc.User()
			var err error
			isProjectAdmin, err = p.mc.IsProjectAdmin(ctx, *user)
			if err != nil {
				return p.SendError(ctx, err)
			}
		}
	}
	if !isSystemAdmin && !isProjectAdmin {
		return p.SendError(ctx, errors.ForbiddenError(errors.New("only admins(system and project) can access permissions")))
	}

	provider := rbac.GetPermissionProvider()
	sysPermissions := make([]*types.Policy, 0)
	proPermissions := provider.GetPermissions(rbac.ScopeProject)
	if isSystemAdmin {
		// project admin cannot see the system level permissions
		sysPermissions = provider.GetPermissions(rbac.ScopeSystem)
	}

	return permissions.NewGetPermissionsOK().WithPayload(p.convertPermissions(sysPermissions, proPermissions))
}

func (p *permissionsAPI) convertPermissions(system, project []*types.Policy) *models.Permissions {
	res := &models.Permissions{}
	if len(system) > 0 {
		var sysPermission []*models.Permission
		for _, item := range system {

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/v2.0/handler/permissions.go:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/879788ef1af0abf0. Report an issue: GitHub.