Skip to content

AZ-SKR-01: Key release policy is bound to attested, compliant confidential VMs

Property Value
Severity critical
Platform Azure confidential VMs
Lifecycle stage attest
Trust boundary inputs
Mode Passive: read-only cloud API calls.

What a failure enables

  • Workload keys released to an attacker-controlled VM

How to fix

  • Set a release policy whose every anyOf branch names Microsoft's shared regional MAA provider or your own provider (and pass it with --azure-attestation-provider), and requires x-ms-attestation-type (sevsnpvm/tdxvm) and x-ms-compliance-status = azure-compliant-cvm; mark it immutable.

After the fix, scan again: the check should report PASS.

Scan inputs

The untrust scan options this check reads:

Option Description
--azure-approved-attestation-authority MAA hosts you approve as release-policy authorities besides Microsoft's shared providers and --azure-attestation-provider (comma separated).
--azure-attestation-provider MAA provider name (in the resource group) or resource ID.
--azure-key Key whose release policy gates the workload.
--azure-key-vault Key Vault (name or host) holding the SKR key.
--azure-resource-group Resource group of the VM.
--azure-subscription Subscription ID.

Permissions

The cloud API calls this check makes, read from the scanner's source:

Cloud API call Permission Access
Azure arm.attestation_provider (GET attestation provider) Microsoft.Attestation/attestationProviders/read read
Azure arm.key (GET key (Key Vault data plane)) Microsoft.KeyVault/vaults/keys/read read

See Required permissions for every check on this platform.

Generated from untrust 1.3.0 (commit 7ef462d9a0c3).