Dela via


Använda Azure Policy för att tilldela hanterade identiteter (förhandsversion)

Azure Policy hjälper till att framtvinga organisationsstandarder och utvärdera efterlevnad i stor skala. Via instrumentpanelen för efterlevnad tillhandahåller Azure Policy en aggregerad vy som hjälper administratörer att utvärdera miljöns övergripande tillstånd. Du har möjlighet att öka detaljnivån till kornigheten per resurs per princip. Det hjälper också till att göra dina resurser kompatibla genom massreparation för befintliga resurser och automatisk reparation av nya resurser. Vanliga användningsfall för Azure Policy är att implementera styrning för:

  • Resurskonsekvens
  • Regelefterlevnad
  • Säkerhet
  • Kostnad
  • Hantering

Principdefinitioner för dessa vanliga användningsfall är redan tillgängliga i din Azure-miljö för att hjälpa dig att komma igång.

Azure Monitoring Agents kräver en hanterad identitet på de övervakade virtuella Azure-datorerna (VM). Det här dokumentet beskriver beteendet för en inbyggd Azure Policy från Microsoft som hjälper till att säkerställa att en hanterad identitet, som behövs för dessa scenarier, tilldelas till virtuella datorer i stor skala.

Det är möjligt att använda systemtilldelad hanterad identitet när den används i stor skala (till exempel för alla virtuella datorer i en prenumeration) vilket resulterar i ett stort antal identiteter som skapats (och tagits bort) i Microsoft Entra-ID. För att undvika den här typen av identiteter rekommenderar vi att du använder användartilldelade hanterade identiteter som kan skapas en gång och delas över flera virtuella datorer.

Principdefinition och information

När den körs vidtar principen följande åtgärder:

  1. Skapa, om inte, en ny inbyggd användartilldelad hanterad identitet i prenumerationen och varje Azure-region baserat på de virtuella datorer som ingår i principens omfång.
  2. När du har skapat det kan du låsa den användartilldelade hanterade identiteten så att den inte tas bort av misstag.
  3. Tilldela den inbyggda användartilldelade hanterade identiteten till virtuella datorer från prenumerationen och regionen baserat på de virtuella datorer som ingår i principens omfång.

Kommentar

Om den virtuella datorn har exakt 1 användartilldelad hanterad identitet som redan har tilldelats hoppar principen över den virtuella datorn för att tilldela den inbyggda identiteten. Detta är för att säkerställa att tilldelningen av principen inte bryter program som är beroende av standardbeteendet för tokenslutpunkten på IMDS.

Det finns två scenarier att använda principen:

  • Låt principen skapa och använda en "inbyggd" användartilldelad hanterad identitet.
  • Ta med din egen användartilldelade hanterade identitet.

Principen tar följande indataparametrar:

  • Bring-Your-Own-UAMI? – Ska principen skapa, om den inte finns, en ny användartilldelad hanterad identitet?
    • Om värdet är true måste du ange:
      • Namnet på den hanterade identiteten.
      • Resursgrupp som innehåller den hanterade identiteten.
    • Om värdet är falskt behövs inga ytterligare indata.
      • Principen skapar den användartilldelade hanterade identitet som krävs med namnet "inbyggd identitet" i en resursgrupp med namnet "built-in-identity-rg".
  • Begränsa bring-your-own-UAMI-to-subscription? – Om parametern Bring-Your-Own-UAMI är inställd på true, ska principen använda en centraliserad användartilldelad hanterad identitet eller använda en identitet för varje prenumeration?
    • Om värdet är true krävs inga ytterligare indata.
      • Principen använder en användartilldelad hanterad identitet per prenumeration.
    • Om värdet är falskt använder principen en enda centraliserad användartilldelad hanterad identitet som tillämpas på alla prenumerationer som omfattas av principtilldelningen. Du måste ange:
      • Resurs-ID för användartilldelad hanterad identitet

Använda principen

Skapa principtilldelningen

Principdefinitionen kan tilldelas till olika omfång i Azure – i hanteringsgruppsprenumerationen eller en specifik resursgrupp. Eftersom principer måste tillämpas hela tiden utförs tilldelningsåtgärden med hjälp av en hanterad identitet som är associerad med principtilldelningsobjektet. Principtilldelningsobjektet stöder både systemtilldelad och användartilldelad hanterad identitet. Joe kan till exempel skapa en användartilldelad hanterad identitet med namnet PolicyAssignmentMI. Den inbyggda principen skapar en användartilldelad hanterad identitet i varje prenumeration och i varje region med resurser som omfattas av principtilldelningen. De användartilldelade hanterade identiteterna som skapas av principen har följande resourceId-format:

/subscriptions/your-subscription-id/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-{location}

Till exempel:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-eastus

Nödvändig auktorisering

För att PolicyAssignmentMI-hanterad identitet ska kunna tilldela den inbyggda principen i det angivna omfånget behöver den följande behörigheter, uttryckt som en Rolltilldelning för Azure RBAC (Rollbaserad åtkomstkontroll i Azure):

Huvudkonto Roll/åtgärd Omfattning Syfte
PolicyAssigmentMI Operatör för hanterad identitet /subscription/subscription-id/resourceGroups/built-in-identity
ELLER
Bring-your-own-User-assinged-Managed-identitet
Krävs för att tilldela den inbyggda identiteten till virtuella datorer.
PolicyAssigmentMI Deltagare /subscription/subscription-id> Krävs för att skapa resursgruppen som innehåller den inbyggda hanterade identiteten i prenumerationen.
PolicyAssigmentMI Hanterad identitetsdeltagare /subscription/subscription-id/resourceGroups/built-in-identity Krävs för att skapa en ny användartilldelad hanterad identitet.
PolicyAssigmentMI Administratör för användaråtkomst /subscription/subscription-id/resourceGroups/built-in-identity
ELLER
Bring-your-own-User-assigned-Managed identity
Krävs för att ange ett lås på den användartilldelade hanterade identiteten som skapats av principen.

Eftersom principtilldelningsobjektet måste ha den här behörigheten i förväg kan PolicyAssignmentMI inte vara en systemtilldelad hanterad identitet för det här scenariot. Användaren som utför principtilldelningsaktiviteten måste i förväg auktorisera PolicyAssignmentMI i förväg med rolltilldelningarna ovan.

Som du ser är den resulterande minsta behörighetsrollen som krävs "deltagare" i prenumerationsomfånget.

Kända problem

Möjliga konkurrensvillkor med en annan distribution som ändrar identiteterna som tilldelats till en virtuell dator kan resultera i oväntade resultat.

Om det finns två eller flera parallella distributioner som uppdaterar samma virtuella dator och alla ändrar identitetskonfigurationen för den virtuella datorn är det möjligt att alla förväntade identiteter INTE tilldelas datorerna under specifika konkurrensförhållanden. Om principen i det här dokumentet till exempel uppdaterar de hanterade identiteterna för en virtuell dator och samtidigt en annan process också gör ändringar i avsnittet hanterade identiteter, är det inte garanterat att alla förväntade identiteter tilldelas korrekt till den virtuella datorn.

Nästa steg