FREE STUDY NOTES · SC-500

Key Vault access: control plane vs data plane, RBAC vs access policies

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.

The control plane covers the vault as an Azure resource and is authorised by Azure RBAC, with roles such as Owner, Key Vault Contributor, User Access Administrator and Key Vault Reader. The data plane covers keys, secrets and certificates under either the access policy model or the Azure RBAC model with Key Vault data roles. A crossed-out arrow shows that control-plane roles such as Owner and Key Vault Contributor get no data access themselves; a note adds that under the access policy model either can grant itself data access by writing an access policy, while under the Azure RBAC model access policies are ignored.
Figure 3.1: Key Vault’s control plane and data plane are authorised separately

The two data-plane permission models

Built-in roles by plane

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

Choosing a role: scope and least privilege

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.

Get the whole book

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.

Amazon.co.ukKindle: coming soonPaperback: coming soon
Amazon.comKindle: coming soonPaperback: coming soon

Publishing soon on Amazon in Kindle and paperback editions.

About the book · Free SC-500 glossary · All SC-500 study notes

More SC-500 study notes