diff --git a/pkg/cloudcommon/db/db_joint_dispatcher.go b/pkg/cloudcommon/db/db_joint_dispatcher.go index af7ccc1b4b..99db307868 100644 --- a/pkg/cloudcommon/db/db_joint_dispatcher.go +++ b/pkg/cloudcommon/db/db_joint_dispatcher.go @@ -154,7 +154,13 @@ func (dispatcher *DBJointModelDispatcher) Get(ctx context.Context, id1 string, i } func attachItems(dispatcher *DBJointModelDispatcher, master IStandaloneModel, slave IStandaloneModel, ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) (jsonutils.JSONObject, error) { - if !dispatcher.JointModelManager().AllowAttach(ctx, userCred, master, slave) { + var isAllow bool + if consts.IsRbacEnabled() { + isAllow = isObjectRbacAllowed(master.GetModelManager(), master, userCred, policy.PolicyActionPerform, "attach") + } else { + isAllow = dispatcher.JointModelManager().AllowAttach(ctx, userCred, master, slave) + } + if !isAllow { return nil, httperrors.NewForbiddenError("Not allow to attach") } ownerProjId, err := fetchOwnerProjectId(ctx, dispatcher.JointModelManager(), userCred, data) diff --git a/pkg/compute/guestdrivers/kvm.go b/pkg/compute/guestdrivers/kvm.go index c4b440b43f..1624d37548 100644 --- a/pkg/compute/guestdrivers/kvm.go +++ b/pkg/compute/guestdrivers/kvm.go @@ -313,7 +313,7 @@ func (self *SKVMGuestDriver) RequestGuestCreateAllDisks(ctx context.Context, gue } func (self *SKVMGuestDriver) RequestGuestHotAddIso(ctx context.Context, guest *models.SGuest, path string, task taskman.ITask) error { - return guest.StartSyncstatus(ctx, task.GetUserCred(), task.GetTaskId()) + return guest.StartSyncTask(ctx, task.GetUserCred(), false, task.GetTaskId()) } func (self *SKVMGuestDriver) RequestRebuildRootDisk(ctx context.Context, guest *models.SGuest, task taskman.ITask) error {