S3 backend with different roles in different workspaces

Is there a way to use different roles in two different workspaces using the S3 remote state backend, without having to terraform init every time we switch between different workspaces? It looks like the role name is hardcoded into the .terraform/terraform.tfstate, meaning that the same role has to be used across every workspace.

It would be very nice to be able to have fine-grained access control over our production states, and in a multi-account AWS setup this requires that anyone with access to the staging state also has access to the production state.