Beheerde identiteiten voor Azure-resources op een Azure VM configureren met behulp van sjablonen

Beheerde identiteiten voor Azure-resources is een functie van Azure Active Directory. Voor alle Azure-services die beheerde identiteiten voor Azure-resources ondersteunen, geldt een eigen tijdlijn. Controleer de beschikbaarheidsstatus van beheerde identiteiten voor uw resource en eventuele bekende problemen voordat u begint.

Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde identiteit in Azure Active Directory. U kunt deze identiteit gebruiken voor verificatie bij alle services die Microsoft Azure AD-verificatie ondersteunen, zonder dat u aanmeldingsgegevens in uw code hoeft te hebben.

In dit artikel leert u, met behulp van de Azure Resource Manager-implementatiesjabloon, om de volgende beheerde identiteiten uit te voeren voor bewerkingen van Azure-resources op een Azure VM:

Vereisten

Azure Resource Manager-sjablonen

Net als Azure Portal en het uitvoeren van scripts, bieden Azure Resource Manager-sjablonen de mogelijkheid om nieuwe of gewijzigde resources gedefinieerd door een Azure-resourcegroep te implementeren. Er zijn verschillende opties beschikbaar voor het bewerken en implementeren van sjablonen, zowel lokaal als op basis van een portal, waaronder:

Welke optie u ook kiest, de sjabloonsyntaxis is dezelfde tijdens de eerste implementatie en herimplementatie. Het inschakelen van een door een systeem of gebruiker toegewezen beheerde identiteit op een nieuwe of bestaande virtuele machine gebeurt op dezelfde manier. Azure Resource Manager voert ook standaard een incrementele update uit naar implementaties.

Door het systeem toegewezen beheerde identiteit

In deze sectie gaat u een door het systeem toegewezen beheerde identiteit in- en uitschakelen met behulp van een Azure Resource Manager-sjabloon.

Door het systeem toegewezen beheerde identiteit inschakelen tijdens het maken van een Azure VM of een bestaande VM

Als u de door het systeem toegewezen beheerde identiteit op een VM wilt inschakelen, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machines. Er zijn geen aanvullende roltoewijzingen vereist voor de Azure AD-directory.

  1. Gebruik een account dat is gekoppeld aan het Azure-abonnement dat de virtuele machine bevat, of u zich nu lokaal aanmeldt of via Azure Portal.

  2. Als u de door het systeem toegewezen beheerde identiteit wilt inschakelen, laadt u de sjabloon in een editor, zoekt u de gewenste Microsoft.Compute/virtualMachines-resource op in de sectie resources en voegt u de eigenschap "identity" op hetzelfde niveau toe als de eigenschap "type": "Microsoft.Compute/virtualMachines". Gebruik de volgende syntaxis:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Wanneer u klaar bent, zijn de volgende secties toegevoegd aan de sectie resource van uw sjabloon en ziet deze er als volgt uit:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Een rol toewijzen aan de door het systeem toegewezen beheerde identiteit van de VM

Nadat u een door het systeem toegewezen beheerde identiteit op uw VM hebt ingeschakeld, wilt u deze mogelijk een rol verlenen, zoals Lezer-toegang tot de resourcegroep waarin deze is gemaakt. Gedetailleerde informatie over deze stap vindt u in het artikel Azure-rollen toewijzen met behulp van Azure Resource Manager sjablonen.

Een door het systeem toegewezen beheerde identiteit van een Azure VM uitschakelen

Als u de door het systeem toegewezen beheerde identiteit uit een VM wilt verwijderen, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machines. Er zijn geen aanvullende roltoewijzingen vereist voor de Azure AD-directory.

  1. Gebruik een account dat is gekoppeld aan het Azure-abonnement dat de virtuele machine bevat, of u zich nu lokaal aanmeldt of via Azure Portal.

  2. Laad de sjabloon in een editor en zoek de gewenste Microsoft.Compute/virtualMachines-resource op in de sectie resources. Als u een VM hebt die alleen een door het systeem toegewezen beheerde identiteit heeft, kunt u deze uitschakelen door het identiteitstype te wijzigen in None.

    Microsoft.Compute/virtualMachines API versie 01-06-2018

    Als uw virtuele machine zowel door het systeem als door de gebruiker toegewezen beheerde identiteiten heeft, verwijdert u SystemAssigned uit het identiteitstype en behoudt u UserAssigned samen met de woordenlijstwaarden userAssignedIdentities.

    Microsoft.Compute/virtualMachines API versie 01-06-2018

    Als uw apiVersion 2017-12-01 is en uw virtuele machine heeft zowel door het systeem als door de gebruiker toegewezen beheerde identiteiten, verwijdert u SystemAssigned uit het identiteitstype en behoudt u UserAssigned samen met de matrix identityIds van door de gebruiker toegewezen beheerde identiteiten.

In het volgende voorbeeld ziet u hoe u een door het systeem toegewezen beheerde identiteit verwijdert uit een VM zonder door de gebruiker toegewezen beheerde identiteiten:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Door een gebruiker toegewezen beheerde identiteit

In deze sectie wijst u een door het systeem toegewezen beheerde identiteit toe aan een Azure VM met behulp van Azure Resource Manager-sjabloon.

Notitie

Zie Een door de gebruiker toegewezen beheerde identiteit maken als u een door de gebruiker toegewezen beheerde identiteit wilt maken met behulp van een Azure Resource Manager-sjabloon.

Een door de gebruiker toegewezen beheerde identiteit toewijzen aan een Azure VM

Als u een door een gebruiker toegewezen identiteit wilt toewijzen aan een VM, moet uw account beschikken over de roltoewijzingen Inzender van de virtuele machine en Operator van de beheerde identiteit. Er zijn geen aanvullende roltoewijzingen vereist voor de Azure AD-directory.

  1. Voeg onder het element resources de volgende vermelding toe om een door de gebruiker toegewezen beheerde identiteit aan uw virtuele machine toe te wijzen. Vervang <USERASSIGNEDIDENTITY> door de naam van de door de gebruiker toegewezen beheerde identiteit die u hebt gemaakt.

    Microsoft.Compute/virtualMachines API versie 01-06-2018

    Als uw apiVersion 2018-06-01 is, worden uw door de gebruiker toegewezen beheerde identiteiten opgeslagen in de woordenlijstindeling userAssignedIdentities en moet de waarde <USERASSIGNEDIDENTITYNAME> worden opgeslagen in een variabele die is gedefinieerd in de sectie variables van uw sjabloon.

     {
         "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 versie 01-12-2017

    Als uw apiVersion 2017-12-01 is, worden uw door de gebruiker toegewezen beheerde identiteiten opgeslagen in de matrix identityIds en moet de waarde <USERASSIGNEDIDENTITYNAME> worden opgeslagen in een variabele die is gedefinieerd in de sectie variables van uw sjabloon.

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. Wanneer u klaar bent, zijn de volgende secties toegevoegd aan de sectie resource van uw sjabloon en ziet deze er als volgt uit:

    Microsoft.Compute/virtualMachines API versie 01-06-2018

      "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 versie 01-12-2017

    "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>'))]"
                 ]
             }
         }
    ]
    

De door de gebruiker toegewezen beheerde identiteit van een Azure VM verwijderen

Als u de door de gebruiker toegewezen identiteit uit een VM wilt verwijderen, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machine. Er zijn geen aanvullende roltoewijzingen vereist voor de Azure AD-directory.

  1. Gebruik een account dat is gekoppeld aan het Azure-abonnement dat de virtuele machine bevat, of u zich nu lokaal aanmeldt of via Azure Portal.

  2. Laad de sjabloon in een editor en zoek de gewenste Microsoft.Compute/virtualMachines-resource op in de sectie resources. Als u een VM hebt die alleen een door de gebruiker toegewezen beheerde identiteit heeft, kunt u deze uitschakelen door het identiteitstype te wijzigen in None.

    In het volgende voorbeeld ziet u hoe u alle door de gebruiker beheerde identiteiten verwijdert uit een VM zonder door het systeem toegewezen beheerde identiteiten:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

    Microsoft.Compute/virtualMachines API versie 01-06-2018

    Als u één door de gebruiker toegewezen beheerde identiteit uit een virtuele machine wilt verwijderen, verwijdert u deze uit de woordenlijst useraAssignedIdentities.

    Als u een door het systeem toegewezen beheerde identiteit hebt, bewaart u deze in de waarde type onder de waarde identity.

    Microsoft.Compute/virtualMachines API versie 01-12-2017

    Als u één door de gebruiker toegewezen beheerde identiteit uit een virtuele machine wilt verwijderen, verwijdert u deze uit de matrix identityIds.

    Als u een door het systeem toegewezen beheerde identiteit hebt, bewaart u deze in de waarde type onder de waarde identity.

Volgende stappen