Assign an existing User-Assigned Managed Identity to VM from another subscription using Azure Policy
Azure provides a comprehensive list of built-in policy definitions (grouped by the category property defined in the metadata) which are owned and maintained by Microsoft (where the azure-policy repository contains the direct representation of these).
Built-in policy definitions usually cover a specific scenario although some flexibility might be provided through parameters that can be configured. However, customers might have specific needs not covered by an available built-in policy definition and a custom policy definition might be needed.
As a rule of thumb, if there is a built-in policy definition that covers part of a scenario, a custom policy definition can be created based on it introducing the necessary modifications.
Let’s take into consideration the [Preview]: Assign Built-In User-Assigned Managed Identity to Virtual Machines built-in policy definition that creates and assigns a built-in user-assigned managed identity or assigns a pre-created user-assigned managed identity at scale to virtual machines. This currently provides the user-assigned managed identity name and resource group name as parameters expecting that it is on the same subscription as the virtual machine resource. However, in a scenario where the pre-created user-assigned managed identity exists in a different subscription from the virtual machine resource, a custom policy definition is required.
Before creating a custom policy, it is worth checking both the Azure Policy Samples as well as the Community Policy Repository to see whether a policy definition that matches your needs already exists. Coming back to the user-assigned managed identity assignment to virtual machines where the pre-created user-assigned managed identity exists in a different subscription from the virtual machine resource scenario, a custom policy definition is available here where the user assigned managed identity resource URI (which contains the subscription ID) is provided as a parameter.
Published on:
Learn moreRelated posts
Azure OpenAI Service: Complete Guide for Beginners
Introduction Artificial Intelligence is transforming how businesses build software, automate workflows and deliver personalised customer exper...
Find any commit in seconds: Commit Search comes to Azure DevOps
Great code has a long memory. The fix you shipped last quarter, the refactor that touched a dozen files, the one-line change that explained wh...
Using Azure OpenAI to Auto-Summarize Dataverse Case Notes – AI Integration + Dataverse CE
Why I Built This If you work in Dynamics 365 Customer Service or any Dataverse CE environment, you already know the pain: a single case can ac...
UPDATED: Azure outage affecting Windows Updates and related services
UPDATED 1:45 PM PST: Resolution efforts are complete at this time, and Windows services are expected to be back to normal. Notices related to ...