How to prevent group from deploy to environment but allow same to redeploy? In our pipeline, the dev team will do multiple releases to their own test environment, when they are satisfied, they will queue a release for test. This signifies to our QA team that the devs are ready for QA to begin their testing.  QA approves the queued build, kicking off the automation process of deploying the artifacts into their environment. 

Next, QA does their testing and puts in work items for bug that arise. The dev team then makes code changes and repeat the cycle until QA approves a release.  The release will then go to 3rd party compliance testing before being packaged up to go onto remote devices.

We would like to prevent the QA team from deploying to test when a build hasn't yet been queued by the dev team. However, we want our QA to be able to re-deploy any build that the dev team had previously queued, without requiring the dev team to queue the build.

This is all in the VSTS release environment.
You can add a post deployment aprroval to the dev environment that the dev team has to approve.
And then you can add a pre deployment approval to the QA environment that the QA team has to approve.

Then a release will be automatically triggered for the QA environment after the dev team has approved the post deployment approval on the dev environment. But it will not deploy to the QA environment until the QA team has approved the pre-deployment approval.

Additionally, the QA team can re-release any previous release to the QA environment at will by going back to the release and clicking redeploy.