Compartir vía


Tutorial: Uso de las identidades administradas asignadas por el sistema de una máquina virtual para acceder a Azure Resource Manager

En este inicio rápido, se muestra cómo usar una identidad administrada asignada por el sistema como identidad de una máquina virtual (VM) para acceder a la API de Azure Resource Manager. Azure administra automáticamente las identidades administradas para recursos de Azure, que le permiten autenticar los servicios que admiten la autenticación de Microsoft Entra sin necesidad de insertar credenciales en el código.

Las identidades administradas para recursos de Azure es una característica de Microsoft Entra ID. Cada servicio de Azure compatible con Managed Identities for Azure Resources está sujeto a su propia escala de tiempo. Asegúrese de revisar el estado de disponibilidad de las identidades administradas para el recurso y los problemas conocidos antes de comenzar.

Aprenderá a:

  • Concesión a una máquina virtual de acceso a un grupo de recursos en Azure Resource Manager
  • Obtención de un token de acceso mediante una identidad de máquina virtual y su uso para llamar a Azure Resource Manager

Uso de las identidades administradas asignadas por el sistema de una máquina virtual Windows para acceder a Resource Manager

Sugerencia

Los pasos de este artículo podrían variar ligeramente en función del portal desde donde comienza.

En este tutorial se explica cómo crear una identidad asignada por el sistema, asignarla a una máquina virtual (VM) Windows y, a continuación, usar esa identidad para acceder a la API de Azure Resource Manager. Azure administra automáticamente las identidades de servicio administradas. Estas identidades permiten autenticarse en servicios que admiten la autenticación de Microsoft Entra, sin necesidad de incluir credenciales en el código.

Aprenderá a:

  • Conceda a la máquina virtual acceso a Azure Resource Manager.
  • Obtenga un token de acceso mediante la identidad administrada asignada por el sistema de la máquina virtual para acceder a Resource Manager.
  1. Inicie sesión en Azure Portal con su cuenta de administrador.

  2. Vaya a la pestaña Grupos de recursos.

  3. Seleccione el grupo de recursos al que desea conceder acceso a la identidad administrada de la máquina virtual.

  4. En el panel izquierdo, seleccione Control de acceso (IAM).

  5. Seleccione Agregar y, luego, Agregar asignación de roles.

  6. En la pestaña Rol, seleccione Lector. Este rol permite ver todo recursos, pero no realizar cambios.

  7. En la pestaña Miembros, en la opción Asignar acceso a, seleccione Identidad administrada, luego seleccione + Seleccionar miembros.

  8. Asegúrese de que la suscripción adecuada aparece en la lista desplegable Suscripción. En Grupo de recursos, seleccione Todos los grupos de recursos.

  9. En la lista desplegable Administrar identidad, seleccione Máquina virtual.

  10. En Seleccionar, elija la máquina virtual en la lista desplegable y seleccione Guardar.

    Captura de pantalla que muestra cómo agregar el rol de lector a la identidad administrada.

Obtención de un token de acceso

Use la identidad administrada asignada por el sistema de la máquina virtual para llamar a Resource Manager y obtener un token de acceso.

Para completar estos pasos, necesitará un cliente SSH. Si usa Windows, puede usar el cliente SSH en el Subsistema de Windows para 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.

  1. En el portal, vaya a la máquina virtual Linux y, en Información general, seleccione Conectar.
  2. Conéctese a la máquina virtual con el cliente SSH que elija.
  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.   La solicitud de curl para el token de acceso está a continuación.
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 debe coincidir exactamente con el que espera Microsoft Entra ID. En el caso del identificador de recurso de Resource Manager, debe incluir la barra diagonal final en el URI.

La respuesta incluye el token de acceso que necesita para acceder a Azure Resource Manager.

Respuesta:

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

Use este token de acceso para acceder a Azure Resource Manager; por ejemplo, para leer los detalles del grupo de recursos al que ha concedido previamente acceso a esta máquina virtual. Reemplace los valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP> y <ACCESS-TOKEN> con los que creó anteriormente.

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".

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:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Uso de una identidad administrada asignada por el sistema de una máquina virtual Linux para acceder a un grupo de recursos en el administrador de recursos

Sugerencia

Los pasos de este artículo podrían variar ligeramente en función del portal desde donde comienza.

En este tutorial se explica cómo crear una identidad asignada por el sistema, asignarla a una máquina virtual Linux y, a continuación, utilizar esa identidad para acceder a la API de Azure Resource Manager. Azure administra automáticamente las identidades de servicio administradas. Estas identidades permiten autenticarse en servicios que admiten la autenticación de Microsoft Entra, sin necesidad de incluir credenciales en el código.

Aprenderá a:

  • Conceda a la máquina virtual acceso al administrador de recursos de Azure.
  • Obtenga un token de acceso mediante la identidad administrada asignada por el sistema de la máquina virtual para acceder al administrador de recursos.
  1. Inicie sesión en Azure Portal con su cuenta de administrador.

  2. Vaya a la pestaña Grupos de recursos.

  3. Seleccione el grupo de recursos al que desea conceder acceso a la identidad administrada de la máquina virtual.

  4. En el panel izquierdo, seleccione Control de acceso (IAM).

  5. Seleccione Agregar y, luego, Agregar asignación de roles.

  6. En la pestaña Rol, seleccione Lector. Este rol permite ver todo recursos, pero no realizar cambios.

  7. En la pestaña Miembros, en la opción Asignar acceso a, seleccione Identidad administrada y, luego, seleccione + Seleccionar miembros.

  8. Asegúrese de que la suscripción adecuada aparece en la lista desplegable Suscripción. En Grupo de recursos, seleccione Todos los grupos de recursos.

  9. En la lista desplegable Administrar identidad, seleccione Máquina virtual.

  10. En la opción Seleccionar, elija la máquina virtual en la lista desplegable y seleccione Guardar.

    Captura de pantalla que muestra cómo agregar el rol de lector a la identidad administrada.

Obtención de un token de acceso

Use la identidad administrada asignada por el sistema de la máquina virtual para llamar al administrador de recursos y obtener un token de acceso.

Para completar estos pasos, necesitará un cliente SSH. Si usa Windows, puede usar el cliente SSH en el Subsistema de Windows para 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.

  1. En Azure Portal, vaya a la máquina virtual Linux.
  2. En Información general, seleccione Conectar.
  3. Conéctese a la máquina virtual con el cliente SSH que elija.
  4. 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 el administrador de recursos de Azure.   La solicitud de curl para el token de acceso está a continuación.
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 debe coincidir exactamente con el que espera Microsoft Entra ID. En el caso del identificador de recurso de administrador de recursos, debe incluir la barra diagonal final en el URI.

La respuesta incluye el token de acceso que necesita para acceder al administrador de recursos de Azure.

Respuesta:

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

Use este token de acceso para acceder al administrador de recursos de Azure. Por ejemplo, para leer los detalles del grupo de recursos al que previamente concedió acceso a la máquina virtual. Reemplace los valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP> y <ACCESS-TOKEN> con los que creó anteriormente.

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 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:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Pasos siguientes

En este inicio rápido, ha aprendido a usar una identidad administrada asignada por el sistema en una máquina virtual para acceder a la API de Azure Resource Manager. Para más información sobre Azure Resource Manager, consulte: