Uso de las identidades administradas asignadas por el sistema de una máquina virtual Linux para acceder a Azure Resource ManagerUse a Linux VM system-assigned managed identity to access Azure Resource Manager

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.

En esta guía de inicio rápido, se muestra cómo usar una identidad asignada por el sistema para que una máquina virtual Linux acceda a la API de Azure Resource Manager.This quickstart shows you how to use a system-assigned identity for a Linux virtual machine (VM) to access the Azure Resource Manager API. Azure administra automáticamente Managed Identities for Azure Resources, que le permiten autenticar los servicios que admiten la autenticación de Azure AD sin necesidad de insertar credenciales en el código.Managed identities for Azure resources are automatically managed by Azure and enable you to authenticate to services that support Azure AD authentication without needing to insert credentials into your code. Aprenderá a:You learn how to:

  • Concesión a una máquina virtual de acceso a un grupo de recursos en Azure Resource ManagerGrant your VM access to a Resource Group in Azure Resource Manager
  • Obtención de un token de acceso mediante la identidad de máquina virtual y su uso para llamar a Azure Resource ManagerGet an access token using the VM identity and use it to call Azure Resource Manager

PrerrequisitosPrerequisites

Conceder accesoGrant access

Mediante Managed Identities for Azure Resources, el código puede obtener tokens de acceso para autenticarse en aquellos recursos que admitan la autenticación de Azure AD.Using managed identities for Azure resources, your code can get access tokens to authenticate to resources that support Azure AD authentication. La API de Azure Resource Manager es compatible con la autenticación de Azure AD.The Azure Resource Manager API supports Azure AD authentication. En primer lugar, es necesario conceder acceso a la identidad de esta máquina virtual a un recurso en Azure Resource Manager, en este caso, el grupo de recursos que contiene la máquina virtual.First, we need to grant this VM's identity access to a resource in Azure Resource Manager, in this case the Resource Group in which the VM is contained.

  1. Vaya a la pestaña de Grupos de recursos.Navigate to the tab for Resource Groups.

  2. Seleccione el Grupo de recursos específico que utilizó para la máquina virtual.Select the specific Resource Group you used for your virtual machine.

  3. Vaya a Control de acceso (IAM) en el panel izquierdo.Go to Access control(IAM) in the left panel.

  4. Haga clic para Agregar una nueva asignación de roles para la máquina virtual.Click to Add a new role assignment for your VM. En Rol, elija Lector.Choose Role as Reader.

  5. En la lista desplegable siguiente, Asigne acceso al recurso Máquina Virtual.In the next dropdown, Assign access to the resource Virtual Machine.

  6. A continuación, asegúrese de que la suscripción adecuada aparece en la lista desplegable Suscripción.Next, ensure the proper subscription is listed in the Subscription dropdown. Y en Grupo de recursos, seleccione Todos los grupos de recursos.And for Resource Group, select All resource groups.

  7. Por último, en Seleccionar, elija la máquina virtual Linux en la lista desplegable y haga clic en Guardar.Finally, in Select choose your Linux Virtual Machine in the dropdown and click Save.

    Texto alternativo de imagen

Obtención de un token de acceso mediante una identidad administrada asignada por el sistema de la máquina virtual y su uso para llamar a Resource ManagerGet an access token using the VM's system-assigned managed identity and use it to call Resource Manager

Para completar estos pasos, necesitará un cliente SSH.To complete these steps, you will need an SSH client. Si usa Windows, puede usar el cliente SSH en el Subsistema de Windows para Linux.If you are using Windows, you can use the SSH client in the Windows Subsystem for Linux. Si necesita ayuda para configurar las claves del cliente de SSH, consulte Uso de SSH con Windows en Azure o Creación y uso de un par de claves SSH pública y privada para máquinas virtuales Linux en Azure.If you need assistance configuring your SSH client's keys, see How to Use SSH keys with Windows on Azure, or How to create and use an SSH public and private key pair for Linux VMs in Azure.

  1. En el portal, vaya a la máquina virtual Linux y, en Información general, haga clic en Conectar.In the portal, navigate to your Linux VM and in the Overview, click Connect.

  2. Conéctese a la máquina virtual con el cliente SSH que elija.Connect to the VM with the SSH client of your choice.

  3. En la ventana del terminal, use curl para realizar una solicitud al punto de conexión local de Managed Identities for Azure Resources para obtener un token de acceso para Azure Resource Manager.In the terminal window, using curl, make a request to the local managed identities for Azure resources endpoint to get an access token for Azure Resource Manager.

    La solicitud de curl para el token de acceso está a continuación.The curl request for the access token is below.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true   
    

    Nota

    El valor del parámetro "resource" (parámetro) debe coincidir exactamente con el que Azure AD espera.The value of the “resource” parameter must be an exact match for what is expected by Azure AD.   En el caso del identificador de recurso de Resource Manager, debe incluir la barra diagonal final en el URI.In the case of the Resource Manager resource ID, you must include the trailing slash on the URI.

    La respuesta incluye el token de acceso que necesita para acceder a Azure Resource Manager.The response includes the access token you need to access Azure Resource Manager.

    Respuesta:Response:

    {"access_token":"eyJ0eXAiOi...",
    "refresh_token":"",
    "expires_in":"3599",
    "expires_on":"1504130527",
    "not_before":"1504126627",
    "resource":"https://management.azure.com",
    "token_type":"Bearer"} 
    

    Puede usar este token de acceso para acceder a Azure Resource Manager, por ejemplo, para leer los detalles del grupo de recursos al que previamente concedió acceso a la máquina virtual.You can use this access token to access Azure Resource Manager, for example to read the details of the Resource Group to which you previously granted this VM access. Reemplace los valores de <SUBSCRIPTION ID>, <RESOURCE GROUP> y <ACCESS TOKEN> con los que creó anteriormente.Replace the values of <SUBSCRIPTION ID>, <RESOURCE GROUP>, and <ACCESS TOKEN> with the ones you created earlier.

    Nota

    La dirección URL distingue mayúsculas de minúsculas, por lo tanto, asegúrese de que usa las mismas mayúsculas y minúsculas que al asignar el nombre al grupo de recursos, así como la "G" mayúscula de "resourceGroups".The URL is case-sensitive, so ensure if you are using the exact same case as you used earlier when you named the Resource Group, and the uppercase “G” in “resourceGroup”.

    curl https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS TOKEN>" 
    

    La respuesta devuelta con la información específica del grupo de recursos:The response back with the specific Resource Group information:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}} 
    

Pasos siguientesNext steps

En esta guía de inicio rápido, ha aprendido a usar una identidad administrada asignada por el sistema para acceder a la API de Azure Resource Manager.In this quickstart, you learned how to use a system-assigned managed identity to access the Azure Resource Manager API. Para obtener más información sobre Azure Resource Manager, vea:To learn more about Azure Resource Manager see: