Hello @Andrew Cuncannan (Admin)
I tried to reproduce the same issue as an owner and got successful replicating it.
When a Key Vault is set to RBAC permission model, management plane operations (e.g., updating settings) and data plane operations (like set secret) are both governed by RBAC roles, but not all built-in roles (including Owner) grant data plane access to secrets, keys, or certificates.
The user has the Owner role at the Key Vault scope, which does grant full management rights but not necessarily data plane permissions on secrets unless explicitly included.
While Owner allows role assignments and management, it does not include Microsoft.KeyVault/vaults/secrets/set unless Key Vault RBAC rules are explicitly extended for data plane actions.
Which means, we must explicitly assign the user one of these roles for data plane secret access:
- Key Vault Secrets Officer (preferred)
- Key Vault Administrator (broadest)
I added Key Vault Secrets Officer role to my owner account and was successfully able to add a secret in Key Vault.
To add this role, please navigate to Subscriptions > Select the required subscription > Access Control (IAM) and click on Add (navigate to page 5 in roles) and add it to the owner/user who wants to create the secret.
You can do this with CLI as below-
az role assignment create \
--assignee <user-object-id-or-upn> \
--role "Key Vault Secrets Officer" \
--scope /subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>
Then navigate back to Key Vault and check the access if the new role is propagated for the user. If yes, navigate to secrets tab and try creating the secret and it should be successful.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer or if given action plan did not work, please click "Comment".