Konfigurera hanterade identiteter för Azure-resurser på en virtuell Azure-dator med hjälp av mallar
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 virtuell Azure-dator med hjälp av Azure Resource Manager-distributionsmallen:
Förutsättningar
- Om du inte känner till att använda Azure Resource Manager-distributionsmallen 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.
Azure Resource Manager-mallar
Precis som med Azure-portalen och skriptning kan du med Azure Resource Manager-mallar 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. Att aktivera en system- eller användartilldelad hanterad identitet 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 en systemtilldelad hanterad identitet med hjälp av en Azure Resource Manager-mall.
Aktivera systemtilldelad hanterad identitet när en virtuell Azure-dator skapas eller på en befintlig virtuell dator
För att aktivera systemtilldelad hanterad identitet på en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.
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 den virtuella datorn.
Om du vill aktivera systemtilldelad hanterad identitet läser du in mallen i ett redigeringsprogram, letar upp resursen
Microsoft.Compute/virtualMachines
av intresse iresources
avsnittet och lägger till"identity"
egenskapen på samma nivå som"type": "Microsoft.Compute/virtualMachines"
egenskapen. Använd följande syntax:"identity": { "type": "SystemAssigned" },
När du är klar bör följande avsnitt läggas till i avsnittet i mallen
resource
och se ut ungefär så här:"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
Tilldela en roll till den virtuella datorns systemtilldelade hanterade identitet
När du har aktiverat en systemtilldelad hanterad identitet på den virtuella datorn kanske du vill ge den en roll, till exempel Läsaråtkomst till resursgruppen där den skapades. Du hittar detaljerad information som hjälper dig med det här steget i artikeln Tilldela Azure-roller med hjälp av Azure Resource Manager-mallar .
Inaktivera en systemtilldelad hanterad identitet från en virtuell Azure-dator
Om du vill ta bort systemtilldelad hanterad identitet från en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.
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 den virtuella datorn.
Läs in mallen i ett redigeringsprogram och leta reda på resursen
Microsoft.Compute/virtualMachines
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/virtualMachines API version 2018-06-01
Om den virtuella datorn har både system- och användartilldelade hanterade identiteter tar du bort
SystemAssigned
från identitetstypen och hållerUserAssigned
dig tilluserAssignedIdentities
ordlistevärdena.Microsoft.Compute/virtualMachines API version 2018-06-01
Om din
apiVersion
är2017-12-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 matrisenidentityIds
för de användartilldelade hanterade identiteterna.
I följande exempel visas hur du tar bort en systemtilldelad hanterad identitet från en virtuell dator utan användartilldelade hanterade identiteter:
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
Användartilldelad hanterad identitet
I det här avsnittet tilldelar du en användartilldelad hanterad identitet till en virtuell Azure-dator 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 virtuell Azure-dator
För att tilldela en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningen Hanterad identitetsoperator . Inga andra microsoft Entra-katalogrolltilldelningar krävs.
Under elementet
resources
lägger du till följande post för att tilldela en användartilldelad hanterad identitet till den virtuella datorn. Ersätt<USERASSIGNEDIDENTITY>
med namnet på den användartilldelade hanterade identiteten som du skapade.Microsoft.Compute/virtualMachines API version 2018-06-01
Om är
apiVersion
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
.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachines API version 2017-12-01
Om är
apiVersion
2017-12-01
lagras dina användartilldelade hanterade identiteter i matrisenidentityIds
och<USERASSIGNEDIDENTITYNAME>
värdet måste lagras i en variabel som definierats i avsnittet i mallenvariables
.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
När du är klar bör följande avsnitt läggas till i avsnittet i mallen
resource
och se ut ungefär så här:Microsoft.Compute/virtualMachines API version 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } } ]
Microsoft.Compute/virtualMachines API version 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } } ]
Ta bort en användartilldelad hanterad identitet från en virtuell Azure-dator
Om du vill ta bort en användartilldelad identitet från en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.
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 den virtuella datorn.
Läs in mallen i ett redigeringsprogram och leta reda på resursen
Microsoft.Compute/virtualMachines
av intresse iresources
avsnittet. Om du har en virtuell dator 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:
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
Microsoft.Compute/virtualMachines API version 2018-06-01
Ta bort en enskild användartilldelad hanterad identitet från en virtuell dator genom att ta bort den
useraAssignedIdentities
från ordlistan.Om du har en systemtilldelad hanterad identitet behåller du den
type
i värdet under värdetidentity
.Microsoft.Compute/virtualMachines API version 2017-12-01
Om du vill ta bort en enskild användartilldelad hanterad identitet från en virtuell dator 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.