Configuración de identidades administradas de recursos de Azure en una VM de Azure mediante llamadas a la API RESTConfigure Managed identities for Azure resources on an Azure VM using REST API calls

Managed Identities for Azure Resources es una característica de Azure Active Directory.Managed identities for Azure resources is a feature of Azure Active Directory. Cada servicio de Azure compatible con Managed Identities for Azure Resources está sujeto a su propia escala de tiempo.Each of the Azure services that support managed identities for Azure resources are subject to their own timeline. Asegúrese de revisar el estado de disponibilidad de las identidades administradas para el recurso y los problemas conocidos antes de comenzar.Make sure you review the availability status of managed identities for your resource and known issues before you begin.

Las identidades administradas de los recursos de Azure proporcionan a los servicios de Azure una identidad del sistema administrada automáticamente en Azure Active Directory.Managed identities for Azure resources provides Azure services with an automatically managed system identity in Azure Active Directory. Puede usar esta identidad para autenticar a cualquier servicio que admita la autenticación de Azure AD, sin necesidad de tener credenciales en el código.You can use this identity to authenticate to any service that supports Azure AD authentication, without having credentials in your code.

En este artículo, mediante CURL para llamar al punto de conexión REST de Azure Resource Manager, aprenderá a realizar las siguientes operaciones de identidades administradas de recursos de Azure en una VM de Azure:In this article, using CURL to make calls to the Azure Resource Manager REST endpoint, you learn how to perform the following managed identities for Azure resources operations on an Azure VM:

  • Habilitar y deshabilitar la identidad administrada asignada por el sistema en una VM de AzureEnable and disable the system-assigned managed identity on an Azure VM
  • Agregar y quitar una identidad administrada asignada por el usuario en una VM de AzureAdd and remove a user-assigned managed identity on an Azure VM

PrerrequisitosPrerequisites

Uso de Azure Cloud ShellUse Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Para iniciar Azure Cloud Shell:To start Azure Cloud Shell:

OpciónOption Ejemplo o vínculoExample/Link
Seleccione Pruébelo en la esquina superior derecha de un bloque de código.Select Try It in the upper-right corner of a code block. Solo con seleccionar Pruébelo no se copia automáticamente el código en Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Ejemplo de Probarlo para Azure Cloud Shell
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell en una nueva ventanaLaunch Cloud Shell in a new window
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Botón Cloud Shell en Azure Portal

Para ejecutar el código de este artículo en Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie Cloud Shell.Start Cloud Shell.

  2. Seleccione el botón Copiar de un bloque de código para copiar el código.Select the Copy button on a code block to copy the code.

  3. Pegue el código en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Seleccione Entrar para ejecutar el código.Select Enter to run the code.

Identidad administrada asignada por el sistemaSystem-assigned managed identity

En esta sección, aprenderá a habilitar y deshabilitar una identidad administrada asignada por el sistema en una máquina virtual de Azure mediante CURL para llamar al punto de conexión de REST de Azure Resource Manager.In this section, you learn how to enable and disable system-assigned managed identity on an Azure VM using CURL to make calls to the Azure Resource Manager REST endpoint.

Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM de AzureEnable system-assigned managed identity during creation of an Azure VM

Para crear una máquina virtual de Azure que tenga habilitada la identidad administrada asignada por el sistema, la cuenta debe tener la asignación de roles Colaborador de la máquina Virtual.To create an Azure VM with the system-assigned managed identity enabled,your account needs the Virtual Machine Contributor role assignment. No se requiere ninguna otra asignación de roles de directorio de Azure AD.No additional Azure AD directory role assignments are required.

  1. Cree un grupo de recursos para contener e implementar la máquina virtual y sus recursos relacionados, con az group create.Create a resource group for containment and deployment of your VM and its related resources, using az group create. Puede omitir este paso si ya tiene un grupo de recursos que le gustaría usar en su lugar:You can skip this step if you already have resource group you would like to use instead:

    az group create --name myResourceGroup --location westus
    
  2. Cree una interfaz de red para la máquina virtual:Create a network interface for your VM:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  4. Cree una máquina virtual con CURL para llamar al punto de conexión REST de Azure Resource Manager.Create a VM using CURL to call the Azure Resource Manager REST endpoint. En el ejemplo siguiente, se crea una máquina virtual denominada myVM con una identidad administrada asignada por el sistema, como ha identificado en el cuerpo de la solicitud el valor "identity":{"type":"SystemAssigned"}.The following example creates a VM named myVM with a system-assigned managed identity, as identified in the request body by the value "identity":{"type":"SystemAssigned"}. Reemplace <ACCESS TOKEN> por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor <SUBSCRIPTION ID> según sea apropiado para su entorno.Replace <ACCESS TOKEN> with the value you received in the previous step when you requested a Bearer access token and the <SUBSCRIPTION ID> value as appropriate for your environment.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"Standard_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

      {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"Standard_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }  
    

Habilitación de la identidad asignada por el sistema en una máquina virtual de Azure existenteEnable system-assigned identity on an existing Azure VM

Para habilitar una identidad administrada asignada por el sistema en una máquina virtual que en un principio se aprovisionó sin dicha identidad, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.To enable system-assigned managed identity on a VM that was originally provisioned without it, your account needs the Virtual Machine Contributor role assignment. No se requiere ninguna otra asignación de roles de directorio de Azure AD.No additional Azure AD directory role assignments are required.

  1. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  2. Use el comando CURL siguiente para llamar al punto de conexión REST de Azure Resource Manager para habilitar la identidad administrada asignada por el sistema en la máquina virtual, como se identifica en el cuerpo de la solicitud por el valor {"identity":{"type":"SystemAssigned"} para una máquina virtual denominada myVM.Use the following CURL command to call the Azure Resource Manager REST endpoint to enable system-assigned managed identity on your VM as identified in the request body by the value {"identity":{"type":"SystemAssigned"} for a VM named myVM. Reemplace <ACCESS TOKEN> por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor <SUBSCRIPTION ID> según sea apropiado para su entorno.Replace <ACCESS TOKEN> with the value you received in the previous step when you requested a Bearer access token and the <SUBSCRIPTION ID> value as appropriate for your environment.

    Importante

    Para asegurarse de que no elimina ninguna de las identidades administradas asignadas por el usuario que están asignadas a la máquina virtual, necesita enumerar las identidades administradas asignadas por el usuario mediante este comando CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>".To ensure you don't delete any existing user-assigned managed identities that are assigned to the VM, you need to list the user-assigned managed identities by using this CURL command: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Si tiene asignadas identidades administradas asignadas por el usuario a la máquina virtual como se identifica en el valor identity de la respuesta, vaya al paso 3 que muestra cómo conservar las identidades administradas asignadas por el usuario mientras se habilita la identidad administrada asignada por el sistema en la máquina virtual.If you have any user-assigned managed identities assigned to the VM as identified in the identity value in the response, skip to step 3 that shows you how to retain user-assigned managed identities while enabling system-assigned managed identity on your VM.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {  
        "identity":{  
           "type":"SystemAssigned"
        }
     }
    
  3. Para habilitar la identidad administrada asignada por el sistema en una máquina virtual con identidades administradas existentes asignadas por el usuario, debe agregar SystemAssigned al valor type.To enable system-assigned managed identity on a VM with existing user-assigned managed identities, you need to add SystemAssigned to the type value.

    Por ejemplo, si la máquina virtual tiene asignadas las identidades administradas asignadas por el usuario ID1 y ID2, y desea agregar una identidad administrada asignada por el sistema a dicha máquina virtual, utilice la siguiente llamada CURL.For example, if your VM has the user-assigned managed identities ID1 and ID2 assigned to it, and you would like to add system-assigned managed identity to the VM, use the following CURL call. Reemplace <ACCESS TOKEN> y <SUBSCRIPTION ID> por los valores adecuados para su entorno.Replace <ACCESS TOKEN> and <SUBSCRIPTION ID> with values appropriate to your environment.

    La versión de API 2018-06-01 almacena las identidades administradas asignadas por el usuario en el valor userAssignedIdentities en un formato de diccionario, en contraposición con el valor identityIds en formato de matriz que se usaba en la versión 2017-12-01 de la API.API version 2018-06-01 stores user-assigned managed identities in the userAssignedIdentities value in a dictionary format as opposed to the identityIds value in an array format used in API version 2017-12-01.

    VERSIÓN DE API 2018-06-01API VERSION 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {  
        "identity":{  
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{  
              "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{  
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{  
    
              }
           }
        }
     }
    

    VERSIÓN DE API 2017-12-01API VERSION 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {  
        "identity":{  
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[  
              "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Deshabilitación de una identidad administrada asignada por el sistema de una VM de AzureDisable system-assigned managed identity from an Azure VM

Para deshabilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.To disable system-assigned managed identity on a VM, your account needs the Virtual Machine Contributor role assignment. No se requiere ninguna otra asignación de roles de directorio de Azure AD.No additional Azure AD directory role assignments are required.

  1. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  2. Actualice la máquina virtual mediante CURL para llamar al punto de conexión REST de Azure Resource Manager para deshabilitar la identidad administrada asignada por el sistema.Update the VM using CURL to call the Azure Resource Manager REST endpoint to disable system-assigned managed identity. En el ejemplo siguiente, se deshabilita una identidad administrada asignada por el sistema en el cuerpo de la solicitud por el valor {"identity":{"type":"None"}} desde una máquina virtual denominada myVM.The following example disables system-assigned managed identity as identified in the request body by the value {"identity":{"type":"None"}} from a VM named myVM. Reemplace <ACCESS TOKEN> por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor <SUBSCRIPTION ID> según sea apropiado para su entorno.Replace <ACCESS TOKEN> with the value you received in the previous step when you requested a Bearer access token and the <SUBSCRIPTION ID> value as appropriate for your environment.

    Importante

    Para asegurarse de que no elimina ninguna de las identidades administradas asignadas por el usuario que están asignadas a la máquina virtual, necesita enumerar las identidades administradas asignadas por el usuario mediante este comando CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>".To ensure you don't delete any existing user-assigned managed identities that are assigned to the VM, you need to list the user-assigned managed identities by using this CURL command: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Si tiene asignadas identidades administradas asignadas por el usuario a la máquina virtual como se identifica en el valor identity de la respuesta, vaya al paso 3 que muestra cómo conservar las identidades administradas asignadas por el usuario mientras se deshabilita la identidad administrada asignada por el sistema en la máquina virtual.If you have any user-assigned managed identities assigned to the VM as identified in the identity value in the response, skip to step 3 that shows you how to retain user-assigned managed identities while disabling system-assigned managed identity on your VM.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {  
        "identity":{  
           "type":"None"
        }
     }
    

    Para quitar la identidad administrada asignada por el sistema de una máquina virtual que tiene identidades administradas asignadas por el usuario, quite SystemAssigned del valor {"identity":{"type:" "}} mientras mantiene el valor UserAssigned y los valores de diccionario userAssignedIdentities, si está utilizando la versión de API 2018-06-01.To remove system-assigned managed identity from a virtual machine that has user-assigned managed identities, remove SystemAssigned from the {"identity":{"type:" "}} value while keeping the UserAssigned value and the userAssignedIdentities dictionary values if you are using API version 2018-06-01. Si está usando la versión de API 2017-12-01 o versiones anteriores, mantenga la matriz identityIds.If you are using API version 2017-12-01 or earlier, keep the identityIds array.

Identidad administrada asignada por el usuarioUser-assigned managed identity

En esta sección, aprenderá a agregar y a quitar una identidad administrada asignada por el usuario en una máquina virtual de Azure mediante CURL para llamar al punto de conexión de REST de Azure Resource Manager.In this section, you learn how to add and remove user-assigned managed identity on an Azure VM using CURL to make calls to the Azure Resource Manager REST endpoint.

Asignación de una identidad administrada asignada por el usuario durante la creación de una VM de AzureAssign a user-assigned managed identity during the creation of an Azure VM

Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas.To assign a user-assigned identity to a VM, your account needs the Virtual Machine Contributor and Managed Identity Operator role assignments. No se requiere ninguna otra asignación de roles de directorio de Azure AD.No additional Azure AD directory role assignments are required.

  1. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  2. Cree una interfaz de red para la máquina virtual:Create a network interface for your VM:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  4. Cree una identidad asignada por el usuario mediante las instrucciones que se encuentran aquí: Creación de una identidad administrada asignada por el usuario.Create a user-assigned managed identity using the instructions found here: Create a user-assigned managed identity.

  5. Cree una máquina virtual con CURL para llamar al punto de conexión REST de Azure Resource Manager.Create a VM using CURL to call the Azure Resource Manager REST endpoint. En el ejemplo siguiente se crea una máquina virtual denominada myVM en el grupo de recursos myResourceGroup con una identidad administrada asignada por el usuario ID1, como se identificó en el cuerpo de la solicitud por el valor "identity":{"type":"UserAssigned"}.The following example creates a VM named myVM in the resource group myResourceGroup with a user-assigned managed identity ID1, as identified in the request body by the value "identity":{"type":"UserAssigned"}. Reemplace <ACCESS TOKEN> por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor <SUBSCRIPTION ID> según sea apropiado para su entorno.Replace <ACCESS TOKEN> with the value you received in the previous step when you requested a Bearer access token and the <SUBSCRIPTION ID> value as appropriate for your environment.

    VERSIÓN DE API 2018-06-01API VERSION 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"Standard_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {  
        "location":"westus",
        "name":"myVM",
        "identity":{  
           "type":"UserAssigned",
           "identityIds":[  
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{  
           "hardwareProfile":{  
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{  
              "imageReference":{  
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{  
                 "caching":"ReadWrite",
                 "managedDisk":{  
                    "storageAccountType":"Standard_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[  
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{  
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{  
              "networkInterfaces":[  
                 {  
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{  
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    
    

    VERSIÓN DE API 2017-12-01API VERSION 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"Standard_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"Standard_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    

Asignación de una identidad administrada asignada por el usuario a una VM de Azure existenteAssign a user-assigned managed identity to an existing Azure VM

Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas.To assign a user-assigned identity to a VM, your account needs the Virtual Machine Contributor and Managed Identity Operator role assignments. No se requiere ninguna otra asignación de roles de directorio de Azure AD.No additional Azure AD directory role assignments are required.

  1. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  2. Cree una identidad administrada asignada por el usuario mediante las instrucciones que se encuentran aquí: Creación de una identidad administrada asignada por el usuario.Create a user-assigned managed identity using the instructions found here, Create a user-assigned managed identity.

  3. Para asegurarse de que no elimina las identidades administradas asignadas por el usuario o por el sistema que están asignadas a la máquina virtual, necesita enumerar los tipos de identidades asignados a la máquina virtual mediante el comando CURL siguiente.To ensure you don't delete existing user or system-assigned managed identities that are assigned to the VM, you need to list the identity types assigned to the VM by using the following CURL command. Si ha administrado identidades asignadas al conjunto de escalado de máquinas virtuales, se enumeran en el valor identity.If you have managed identities assigned to the virtual machine scale set, they are listed under in the identity value.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Si tiene identidades administradas asignadas por el usuario o por el sistema asignadas a la máquina virtual como se identifica en el valor identity de la respuesta, vaya al paso 5, en el que se muestra cómo conservar la identidad administrada asignada por el sistema mientras se agrega una identidad administrada asignada por el usuario en la máquina virtual.If you have any user or system-assigned managed identities assigned to the VM as identified in the identity value in the response, skip to step 5 that shows you how to retain the system-assigned managed identity while adding a user-assigned managed identity on your VM.

  4. Si no tiene ninguna identidad administrada asignada por el usuario en la máquina virtual, use el siguiente comando CURL para llamar al punto de conexión REST de Azure Resource Manager para asignar la primera identidad administrada asignada por el usuario a la máquina virtual.If you don't have any user-assigned managed identities assigned to your VM, use the following CURL command to call the Azure Resource Manager REST endpoint to assign the first user-assigned managed identity to the VM.

    En los ejemplos siguientes se asigna una identidad administrada asignada por el usuario, ID1, a una máquina virtual denominada myVM en el grupo de recursos myResourceGroup.The following examples assigns a user-assigned managed identity, ID1 to a VM named myVM in the resource group myResourceGroup. Reemplace <ACCESS TOKEN> por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor <SUBSCRIPTION ID> según sea apropiado para su entorno.Replace <ACCESS TOKEN> with the value you received in the previous step when you requested a Bearer access token and the <SUBSCRIPTION ID> value as appropriate for your environment.

    VERSIÓN DE API 2018-06-01API VERSION 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    VERSIÓN DE API 2017-12-01API VERSION 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Si dispone ya de una identidad asignada por el usuario o por el sistema asignada a la máquina virtual:If you have an existing user-assigned or system-assigned managed identity assigned to your VM:

    VERSIÓN DE API 2018-06-01API VERSION 2018-06-01

    Agregue la identidad administrada asignada por el usuario al valor de diccionario userAssignedIdentities.Add the user-assigned managed identity to the userAssignedIdentities dictionary value.

    Por ejemplo, si tiene una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario ID1 actualmente asignadas a la máquina virtual y quiere agregarles la identidad administrada asignada por el usuario ID2:For example, if you have system-assigned managed identity and the user-assigned managed identity ID1 currently assigned to your VM and would like to add the user-assigned managed identity ID2 to it:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    VERSIÓN DE API 2017-12-01API VERSION 2017-12-01

    Conserve las identidades administradas asignadas por el usuario y que le gustaría mantener en el valor de matriz identityIds al tiempo que agrega la nueva identidad administrada asignada por el usuario.Retain the user-assigned managed identities you would like to keep in the identityIds array value while adding the new user-assigned managed identity.

    Por ejemplo, si tiene una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario ID1 actualmente asignadas a la máquina virtual y quiere agregarles la identidad administrada asignada por el usuario ID2:For example, if you have system-assigned managed identity and the user-assigned managed identity ID1 currently assigned to your VM and would like to add the user-assigned managed identity ID2 to it:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Eliminación de una identidad administrada asignada por el usuario de una VM de AzureRemove a user-assigned managed identity from an Azure VM

Para quitar una identidad asignada por un usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.To remove a user-assigned identity to a VM, your account needs the Virtual Machine Contributor role assignment.

  1. Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.Retrieve a Bearer access token, which you will use in the next step in the Authorization header to create your VM with a system-assigned managed identity.

    az account get-access-token
    
  2. Para asegurarse de que no elimina ninguna identidad administrada asignada por el usuario o por el sistema que está asignada a la máquina virtual y de que no quita la identidad administrada asignada por el sistema, necesita enumerar las identidades administradas mediante el comando CURL siguiente:To ensure you don't delete any existing user-assigned managed identities that you would like to keep assigned to the VM or remove the system-assigned managed identity, you need to list the managed identities by using the following CURL command:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Si ha administrado identidades asignadas a la máquina virtual, se enumeran en la respuesta del valor identity.If you have managed identities assigned to the VM, they are listed in the response in the identity value.

    Por ejemplo, si tiene identidades administradas asignadas por el usuario ID1 y ID2 asignadas a la máquina virtual, y solo desea mantener ID1 asignada y conservar la identidad asignada por el sistema:For example, if you have user-assigned managed identities ID1 and ID2 assigned to your VM, and you only want to keep ID1 assigned and retain the system-assigned identity:

    VERSIÓN DE API 2018-06-01API VERSION 2018-06-01

    Agregue null a la identidad administrada asignada por el usuario que quiere quitar:Add null to the user-assigned managed identity you would like to remove:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    VERSIÓN DE API 2017-12-01API VERSION 2017-12-01

    Conserve solo las identidades administradas asignadas por el usuario que le gustaría mantener en la matriz identityIds:Retain only the user-assigned managed identity(s) you would like to keep in the identityIds array:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Encabezados de solicitudRequest headers

    Encabezado de solicitudRequest header DescripciónDescription
    Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
    AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

    Cuerpo de la solicitudRequest body

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

Si la máquina virtual tiene identidades administradas asignadas tanto por el sistema como por el usuario, puede quitar todas las identidades administradas asignadas por el usuario si cambia para usar solo las identidades administradas asignadas por el sistema mediante el siguiente comando:If your VM has both system-assigned and user-assigned managed identities, you can remove all the user-assigned managed identities by switching to use only system-assigned managed identity using the following command:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Encabezados de solicitudRequest headers

Encabezado de solicitudRequest header DescripciónDescription
Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

Cuerpo de la solicitudRequest body

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Si la máquina virtual solo tiene identidades administradas asignadas por el usuario y desea quitarlas todas, utilice el comando siguiente:If your VM has only user-assigned managed identities and you would like to remove them all, use the following command:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Encabezados de solicitudRequest headers

Encabezado de solicitudRequest header DescripciónDescription
Content-TypeContent-Type Necesario.Required. Establézcalo en application/json.Set to application/json.
AutorizaciónAuthorization Necesario.Required. Establézcalo en un token de acceso Bearer válido.Set to a valid Bearer access token.

Cuerpo de la solicitudRequest body

{
   "identity":{
      "type":"None"
   }
}

Pasos siguientesNext steps

Para obtener información sobre cómo crear, enumerar o eliminar identidades administradas asignadas por el usuario mediante REST, consulte:For information on how to create, list, or delete user-assigned managed identities using REST see: