Why control-plane roles can't read secrets, and which Key Vault role or access policy each task needs.
From Ultra Transcenders SC-500 by Tony Rough (publishing soon)
Every Key Vault operation belongs either to the control plane (the vault as an Azure resource) or to the data plane (the keys, secrets and certificates inside it). The two planes are authorised separately, and a role that is powerful on one can be powerless on the other. Figure 3.1 shows what each plane covers and why a control-plane role can’t read secrets.
Microsoft.KeyVault/*) covers creating, updating and deleting vaults, network settings, purge protection, resource access settings and setting access policies.| Role | Plane | Can do | Can’t do |
|---|---|---|---|
| Owner | Control | Everything on the control plane, including creating role assignments and changing network settings | No data actions, so it can’t create keys or secrets (it could only grant itself a data role) |
| User Access Administrator | Control | Create role assignments (delegate access) | Write vault properties such as network rules |
| Key Vault Contributor | Control | Create, update and delete vaults, change the firewall and VNet rules, set access policies | Read secret, key or certificate values; create role assignments |
| Network Contributor | Control | Manage network resources | Change a key vault’s own network settings |
| Key Vault Reader | Control/metadata | Read vault and object metadata | Read secret values, wrap/unwrap, make changes |
| Key Vault Administrator | Data | All data-plane operations | — |
| Key Vault Secrets Officer | Data | Create, update and delete secrets | — |
| Key Vault Secrets User | Data | Read secret contents only (least privilege for an app) | Create or change secrets |
| Key Vault Crypto Officer | Data | keys/*: full key management, including create and delete |
— |
| Key Vault Crypto User | Data | Key get/list plus encrypt, decrypt, sign, verify, wrap, unwrap | Create or delete keys |
| Key Vault Crypto Service Encryption User | Data | Key metadata read (get, list) plus wrap/unwrap only | Encrypt/decrypt, sign |
Common trap: Key Vault Crypto Officer for an identity that only needs get, list, wrap and unwrap - Crypto Officer can create and delete keys, which breaks least privilege; Key Vault Crypto Service Encryption User is the right role.
Common trap: only Owner can configure a vault’s network access - Key Vault Contributor’s control-plane rights include the firewall and virtual network settings.
Common trap: Key Vault Contributor can’t add access policies - it can set them; it simply gets no data access itself.
Common trap: a subscription Owner, or an administrator whose role is scoped to one key, can create keys, and Owner can create secrets - Owner has no data-plane access, and a key-scoped assignment covers that one key only.
This note is one section of Ultra Transcenders SC-500: Implementing End-to-End Security Controls for Cloud and AI Workloads, an independent study guide that explains every topic the exam covers by technology, with comparison tables, diagrams and the common traps, plus a glossary linked to Microsoft Learn.
Publishing soon on Amazon in Kindle and paperback editions.
About the book · Free SC-500 glossary · All SC-500 study notes
How PIM activation, approval, maximum duration and notifications work, and what each role setting controls.
How a Conditional Access policy is built and how multiple policies combine.
What Deny, Audit, Append, Modify and DeployIfNotExists do, and when you need a remediation task and managed identity.
Account keys, account and service SAS, user delegation SAS and Entra RBAC compared by scope and revocability.
Where each Azure SQL data protection feature works and who it protects data from.
How security admin rules are evaluated before NSGs, and when to use Allow, Deny or Always allow.
How JIT locks management ports and opens them on request, with the plan and permissions it needs.