An Azure service that is used to provision Windows and Linux virtual machines.
Hello Patrick Foley
This behavior is by design when using Azure Compute Gallery (SIG) image versions with Confidential VM security.
Although the image definition security type is set to confidential VM supported, custom security Profile.uefisettings are not persisted on the image version for Confidential VMs. During image version creation, the REST API may temporarily accept the uefisettings payload, but once the image version reaches the Succeeded state, the platform drops this configuration internally. As a result, any VM created from that image boots using the default Microsoft/Canonical UEFI trust chain, and custom DB keys are ignored.
This matches what you are observing:
- PUT on the image version includes security Profile.uefisettings
- GET on the finalized image version no longer shows uefisettings
- The VM boots with the stock UKI instead of the re‑signed components
At this time, Azure does not support persisting custom Secure Boot UEFI keys on Compute Gallery image versions for Confidential VMs, even though the image definition security type is marked as supported.
Actions to perform
Use Trusted Launch :
If persisting custom UEFI DB keys is a requirement:
- Create the image definition with security type set to Trustedlaunchsupported or Trusted Launch and confidentail VM support
- Apply security Profile.uefisettings at image version creation time using the REST API
- Deploy VMs using Trusted Launch (Secure Boot + vTPM)
This is the only documented and supported path for custom UEFI key persistence today.
https://learn.microsoft.com/en-us/azure/virtual-machines/trusted-launch-secure-boot-custom-uefi
Confidential VM
If you must stay on Confidential VM security:
- Use default Microsoft‑signed boot components
- Custom DB/DBX/KEK keys cannot be persisted via Compute Gallery
- This is a current platform limitation, not a configuration issue
Thanks,
Manish.