3. Key Vault Credential¶
Confirm the data-plane path¶
In Cirro, follow the diagnostics VM to its system-assigned managed identity,
then inspect the role assignments that apply at the Key Vault scope. Confirm
that the identity has both of these data-plane roles on cocoamankv:
Key Vault Certificate UserKey Vault Secrets User
Request a token for the Azure Key Vault audience through the same authorized VM path used in the previous section. Verify that its tenant and object claims represent the VM managed identity before using it.
Enumerate vault objects¶
Use the instructor-provided Cirro Azure CLI extension while listing the vault's certificates and secrets. Confirm that the extension is active and note its database path:
If the instructor directs you to create a separate artifact for this stage, set its path before running the Key Vault list commands:
After the authorized list operations, check the captured row counts:
az cirro status
sqlite3 key-vault-data.db \
"SELECT item_type, COUNT(*) FROM keyVaultItems GROUP BY item_type;"
Ingest key-vault-data.db with the same cirro graph ingest workflow used for
the management-plane databases, then refresh CirroDash. Confirm that Key Vault
item nodes now appear before beginning credential correlation.
The vault contains a large decoy population. Do not select a credential based on a convincing name, and do not download every secret value. Instead, correlate metadata from both planes:
- Find the
svc-global-readerapplication and service principal in the Entra evidence. - Confirm which tenant-wide directory role the service principal holds.
- Inspect the application's certificate key credential.
- Match its public key or thumbprint to one certificate in the vault.
- Resolve that certificate to its same-named backing secret.
Create a CirroDash table card for the correlation query demonstrated by the instructor. Return the certificate name, public identifier or thumbprint, backing-secret name, and associated application in separate columns so the matching evidence is visible in one result.
Every Key Vault certificate with an exportable private key has a same-named
secret containing its PKCS#12 material. Retrieve only the backing secret for
the certificate you correlated to svc-global-reader.
Handle credential material locally
Keep the token, backing secret, certificate, and private key inside the authorized workshop environment. Do not paste them into online decoders, shared notes, chat systems, or source control.
Explain the graph extension¶
Your evidence should support a path with relationships equivalent to:
Managed Identity --HAS_DATA_PLANE_ROLE--> Key Vault
Key Vault --CONTAINS--> Certificate
Certificate --HAS_BACKING_SECRET--> Secret
Certificate --CREDENTIAL_FOR--> svc-global-reader
Checkpoint
You have completed this section when you can identify the one vault
certificate registered to svc-global-reader, retrieve only its
same-named backing secret, and explain how data-plane evidence reconnects
the graph to an Entra identity.