Konfigurera hanterade identiteter för Azure-resurser på en virtuell Azure-datorskala med hjälp av en mall
Hanterade identiteter för Azure-resurser är en funktion i Microsoft Entra-ID. Alla Azure-tjänster som stöder hanterade identiteter för Azure-resurser har sin egen tidslinje. Var noga med att kontrollera tillgänglighetsstatus för hanterade identiteter för din resurs och kända problem innan du börjar.
Hanterade identiteter för Azure-resurser ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID. Du kan använda den här identiteten för att autentisera mot alla tjänster som har stöd för Microsoft Entra-autentisering, utan att behöva ha några autentiseringsuppgifter i koden.
I den här artikeln får du lära dig hur du utför följande hanterade identiteter för Azure-resursåtgärder på en skalningsuppsättning för virtuella Azure-datorer med hjälp av Azure Resource Manager-distributionsmallen:
- Aktivera och inaktivera den systemtilldelade hanterade identiteten på en skalningsuppsättning för virtuella Azure-datorer
- Lägga till och ta bort en användartilldelad hanterad identitet på en skalningsuppsättning för virtuella Azure-datorer
Förutsättningar
Om du inte känner till hanterade identiteter för Azure-resurser kan du läsa översiktsavsnittet. Se till att granska skillnaden mellan en systemtilldelad och användartilldelad hanterad identitet.
Om du inte redan har ett Azure-konto registrerar du dig för ett kostnadsfritt konto innan du fortsätter.
För att kunna utföra hanteringsåtgärderna i den här artikeln behöver ditt konto följande rollbaserade åtkomstkontrolltilldelningar i Azure:
Kommentar
Inga ytterligare rolltilldelningar för Microsoft Entra-katalog krävs.
- Virtuell datordeltagare för att skapa en VM-skalningsuppsättning och aktivera och ta bort system och/eller användartilldelad hanterad identitet från en VM-skalningsuppsättning.
- Rollen Hanterad identitetsdeltagare för att skapa en användartilldelad hanterad identitet.
- Rollen Hanterad identitetsoperator för att tilldela och ta bort en användartilldelad hanterad identitet från och till en VM-skalningsuppsättning.
Azure Resource Manager-mallar
Precis som med Azure-portalen och skript ger Azure Resource Manager-mallar möjlighet att distribuera nya eller ändrade resurser som definierats av en Azure-resursgrupp. Det finns flera alternativ för mallredigering och distribution, både lokalt och portalbaserat, inklusive:
- Med hjälp av en anpassad mall från Azure Marketplace kan du skapa en mall från grunden eller basera den på en befintlig gemensam mall eller snabbstartsmall.
- Härled från en befintlig resursgrupp genom att exportera en mall från antingen den ursprungliga distributionen eller från distributionens aktuella tillstånd.
- Använda en lokal JSON-redigerare (till exempel VS Code) och sedan ladda upp och distribuera med hjälp av PowerShell eller CLI.
- Använda Visual Studio Azure Resource Group-projektet för att både skapa och distribuera en mall.
Oavsett vilket alternativ du väljer är mallsyntaxen densamma under den första distributionen och omdistributionen. Aktivering av hanterade identiteter för Azure-resurser på en ny eller befintlig virtuell dator görs på samma sätt. Som standard gör Azure Resource Manager också en inkrementell uppdatering av distributioner.
Systemtilldelad hanterad identitet
I det här avsnittet aktiverar och inaktiverar du den systemtilldelade hanterade identiteten med hjälp av en Azure Resource Manager-mall.
Aktivera systemtilldelad hanterad identitet när du skapar en vm-skalningsuppsättning eller en befintlig vm-skalningsuppsättning
Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller vm-skalningsuppsättningen.
Om du vill aktivera den systemtilldelade hanterade identiteten läser du in mallen i ett redigeringsprogram, letar upp resursen
Microsoft.Compute/virtualMachinesScaleSets
av intresse i resursavsnittet och lägger tillidentity
egenskapen på samma nivå som"type": "Microsoft.Compute/virtualMachinesScaleSets"
egenskapen. Använd följande syntax:"identity": { "type": "SystemAssigned" }
När du är klar bör följande avsnitt läggas till i resursavsnittet i mallen och bör likna exemplet nedan:
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", }, "properties": { //other resource provider properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Inaktivera en systemtilldelad hanterad identitet från en skalningsuppsättning för virtuella Azure-datorer
Om du har en VM-skalningsuppsättning som inte längre behöver en systemtilldelad hanterad identitet:
Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller vm-skalningsuppsättningen.
Läs in mallen i ett redigeringsprogram och leta reda på resursen
Microsoft.Compute/virtualMachineScaleSets
av intresse iresources
avsnittet. Om du har en virtuell dator som bara har en systemtilldelad hanterad identitet kan du inaktivera den genom att ändra identitetstypen tillNone
.Microsoft.Compute/virtualMachineScaleSets API version 2018-06-01
Om din apiVersion är
2018-06-01
och den virtuella datorn har både system- och användartilldelade hanterade identiteter tar du bortSystemAssigned
från identitetstypen och hållerUserAssigned
dig tillsammans med ordlistevärdena userAssignedIdentities.Microsoft.Compute/virtualMachineScaleSets API version 2018-06-01
Om din apiVersion är
2017-12-01
och vm-skalningsuppsättningen har både system- och användartilldelade hanterade identiteter tar du bortSystemAssigned
från identitetstypen och hållerUserAssigned
med matrisenidentityIds
för de användartilldelade hanterade identiteterna.I följande exempel visas hur du tar bort en systemtilldelad hanterad identitet från en VM-skalningsuppsättning utan användartilldelade hanterade identiteter:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Användartilldelad hanterad identitet
I det här avsnittet tilldelar du en användartilldelad hanterad identitet till en vm-skalningsuppsättning med hjälp av Azure Resource Manager-mallen.
Kommentar
Information om hur du skapar en användartilldelad hanterad identitet med hjälp av en Azure Resource Manager-mall finns i Skapa en användartilldelad hanterad identitet.
Tilldela en användartilldelad hanterad identitet till en VM-skalningsuppsättning
Under elementet
resources
lägger du till följande post för att tilldela en användartilldelad hanterad identitet till vm-skalningsuppsättningen. Ersätt<USERASSIGNEDIDENTITY>
med namnet på den användartilldelade hanterade identiteten som du skapade.Microsoft.Compute/virtualMachineScaleSets API version 2018-06-01
Om din apiVersion är
2018-06-01
lagras dina användartilldelade hanterade identiteter iuserAssignedIdentities
ordlisteformatet<USERASSIGNEDIDENTITYNAME>
och värdet måste lagras i en variabel som definierats i avsnittet i mallenvariables
.{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachineScaleSets API version 2017-12-01
Om din
apiVersion
är2017-12-01
eller tidigare lagras dina användartilldelade hanterade identiteter i matrisenidentityIds
och<USERASSIGNEDIDENTITYNAME>
värdet måste lagras i en variabel som definieras i avsnittet variabler i mallen.{ "name": "[variables('vmssName')]", "apiVersion": "2017-03-30", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]" ] } }
När du är klar bör mallen se ut ungefär så här:
Microsoft.Compute/virtualMachineScaleSets API version 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Microsoft.Compute/virtualMachines API version 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Ta bort användartilldelad hanterad identitet från en skalningsuppsättning för virtuella Azure-datorer
Om du har en VM-skalningsuppsättning som inte längre behöver en användartilldelad hanterad identitet:
Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller vm-skalningsuppsättningen.
Läs in mallen i ett redigeringsprogram och leta reda på resursen
Microsoft.Compute/virtualMachineScaleSets
av intresse iresources
avsnittet. Om du har en VM-skalningsuppsättning som bara har användartilldelad hanterad identitet kan du inaktivera den genom att ändra identitetstypen tillNone
.I följande exempel visas hur du tar bort alla användartilldelade hanterade identiteter från en virtuell dator utan systemtilldelade hanterade identiteter:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Microsoft.Compute/virtualMachineScaleSets API version 2018-06-01
Om du vill ta bort en enskild användartilldelad hanterad identitet från en VM-skalningsuppsättning tar du bort den
userAssignedIdentities
från ordlistan.Om du har en systemtilldelad identitet behåller du den
type
i värdet under värdetidentity
.Microsoft.Compute/virtualMachineScaleSets API version 2017-12-01
Om du vill ta bort en enskild användartilldelad hanterad identitet från en VM-skalningsuppsättning tar du bort den från matrisen
identityIds
.Om du har en systemtilldelad hanterad identitet behåller du den
type
i värdet under värdetidentity
.
Nästa steg
- Översikt över hanterade identiteter för Azure-resurser.