Comparteix a través de


Conectar con Azure mediante una conexión de servicio de Azure Resource Manager

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Puede usar una conexión de servicio de Azure Resource Manager para conectarse a recursos de Azure, como Azure Key Vault. Si usa una conexión de servicio de Azure Resource Manager, podrá usar un proceso para implementarlo en un recurso de Azure, como una aplicación de App Service sin autenticarse cada vez.

Tiene varias opciones de autenticación para conectarse a Azure mediante conexiones de servicio de Azure Resource Manager:

  • Entidad de servicio con federación de identidades de carga de trabajo
  • Entidad de servicio con secreto
  • Identidad administrada asignada por el sistema
  • Perfil público

La conexión de servicio usa una entidad de servicio para autenticarse con recursos de Azure.

Crear una conexión de servicio de Azure Resource Manager mediante la federación de identidades de carga de trabajo

La federación de identidades de carga de trabajo usa OpenID Connect (OIDC) para autenticarse con recursos protegidos de Microsoft Entra sin utilizar secretos. Puede crear automáticamente la federación de identidades de carga de trabajo para la autenticación o crearla manualmente.

Se recomienda usar este método si se cumplen todos los siguientes criterios en su caso:

  • Tiene el rol Propietario para la suscripción de Azure.
  • No se está conectando a Azure Stack ni a los entornos de Azure US Government .
  • Las tareas de extensiones de Marketplace que usa se han actualizado para admitir la federación de identidades de carga de trabajo.

Creación de una conexión de servicio con la federación de identidades de carga de trabajo (automática)

Con esta selección, Azure DevOps consulta automáticamente la suscripción, el grupo de administración o el área de trabajo de Machine Learning a la que desea conectarse y crea una federación de identidades de carga de trabajo para la autenticación.

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla que muestra cómo elegir la selección de Azure Resource Manager.

  3. Seleccione Federación de identidades de carga de trabajo (automática) y Siguiente.

    Captura de pantalla de la selección del método de autenticación de federación de identidad de carga de trabajo (automática).

  4. Seleccione un nivel de ámbito. Seleccione Suscripción, Grupo de administración o Área de trabajo de Machine Learning. Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Un área de trabajo de Machine Learning es un lugar para crear artefactos de aprendizaje automático.

    • En el ámbito Suscripción , escriba los parámetros siguientes:

      Parámetro Descripción
      Suscripción Necesario. seleccione la suscripción de Azure.
      Grupo de recursos Necesario. Escriba el nombre de la suscripción de Azure.
    • En el ámbito Grupo de administración, seleccione el grupo de administración de Azure.

    • En el ámbito del área de trabajo de Machine Learning , escriba los parámetros siguientes:

      Parámetro Descripción
      Suscripción Necesario. seleccione la suscripción de Azure.
      Grupo de recursos Necesario. Seleccione el grupo de recursos que contiene el área de trabajo.
      Área de trabajo de Machine Learning Necesario. Seleccione el área de trabajo de Azure Machine Learning.
  5. Escriba un Nombre de conexión de servicio.

  6. Opcionalmente, escriba una descripción para la conexión de servicio.

  7. Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.

  8. Seleccione Guardar.

Una vez creada la nueva conexión de servicio, copie el nombre de conexión y péguelo en el código como valor de azureSubscription.

Para realizar la implementación en un recurso de Azure específico, la tarea necesita más datos sobre ese recurso. Vaya al recurso en el Azure Portal y copie los datos en el código. Por ejemplo, para implementar una aplicación web, copie el nombre de la aplicación App Service de Azure y péguelo en el código como valor de WebAppName.

Creación de una conexión de servicio con la federación de identidades de carga de trabajo (manual)

Use esta opción para crear manualmente una conexión de servicio que use una federación de identidad de carga de trabajo existente para la autenticación.

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla de la selección del método de autenticación de federación de identidad de carga de trabajo (manual).

  3. Seleccione Federación de identidades de carga de trabajo (manual) y Siguiente.

    Captura de pantalla que muestra la selección de un tipo de conexión del servicio de identidad de carga de trabajo.

  4. En el paso 1: Aspectos básicos:

    1. Escriba un nombre de conexión de servicio.
    2. Si lo desea, escriba una descripción.
    3. Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.
    4. Seleccione Siguiente.
  5. En el paso 2: Detalles de la entidad de servicio:

    Paso 2: Los detalles de la entidad de servicio contienen los parámetros siguientes. Puede escribir o seleccionar los parámetros siguientes:

    Parámetro Descripción
    Emisor Necesario. DevOps crea automáticamente la dirección URL del emisor.
    Identificador del firmante Necesario. DevOps crea automáticamente el identificador del firmante.
    Entorno Necesario. Elija un entorno de nube al que conectarse. Si selecciona Azure Stack, escriba la dirección URL del entorno, que es algo parecido a https://management.local.azurestack.external.
    1. Seleccione el nivel de ámbito. Seleccione Suscripción, Grupo de administración o Área de trabajo de Machine Learning. Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Un área de trabajo de Machine Learning es un lugar para crear artefactos de aprendizaje automático.

      • En el ámbito Suscripción , escriba los parámetros siguientes:

        Parámetro Descripción
        Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
        Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
      • En el ámbito grupo de administración, escriba los parámetros siguientes:

        Parámetro Descripción
        Id. de grupo de administración Necesario. Escriba el identificador del grupo de administración de Azure.
        Nombre del grupo de administración Necesario. Escriba el nombre del grupo de administración de Azure.
      • En el ámbito del área de trabajo de Machine Learning , escriba los parámetros siguientes:

        Parámetro Descripción
        Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
        Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
        Grupo de recursos Necesario. Seleccione el grupo de recursos que contiene el área de trabajo.
        Nombre del área de trabajo de ML Necesario. Escriba el nombre del área de trabajo de Azure Machine Learning existente.
        Ubicación del área de trabajo de ML Necesario. Escriba la ubicación del área de trabajo de Azure Machine Learning existente.
    2. En la sección Autenticación , escriba o seleccione los parámetros siguientes:

      Parámetro Descripción
      Id. de entidad de servicio Necesario. Escriba el identificador de la entidad de servicio.
      Id. de inquilino Necesario. Escriba el identificador de inquilino.
    3. En la sección Detalles, escriba los parámetros siguientes:

      Parámetro Descripción
      Nombre de la conexión Necesario. El nombre que usará para hacer referencia a esta conexión de servicio en las propiedades de la tarea. No el nombre de la suscripción de Azure.
      Descripción Opcional. Escriba una descripción de la conexión de servicio.
    4. En la sección Seguridad , seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.

    5. Seleccione Comprobar y guardar para validar y crear la conexión de servicio.

Una vez creada la nueva conexión de servicio, copie el nombre de conexión y péguelo en el código como valor de azureSubscription.

Para realizar la implementación en un recurso de Azure específico, la tarea necesita más datos sobre ese recurso. Vaya al recurso en el Azure Portal y copie los datos en el código. Por ejemplo, para implementar una aplicación web, copie el nombre de la aplicación App Service de Azure y péguelo en el código como valor de WebAppName.

Convertir una conexión de servicio de Azure Resource Manager existente para usar la federación de identidades de carga de trabajo

Puede convertir rápidamente una conexión de servicio de Azure Resource Manager existente para usar la federación de identidades de carga de trabajo como autenticación en lugar de una entidad de servicio. Puede usar la herramienta de conversión de conexión de servicio en Azure DevOps si la conexión de servicio cumple estos requisitos:

  • Azure DevOps creó originalmente la conexión de servicio. Si crea manualmente la conexión de servicio, no podrá convertirla con la herramienta de conversión en cuestión porque Azure DevOps no tiene los permisos para modificar sus propias credenciales.
  • Solo un proyecto usa la conexión de servicio. No se pueden convertir conexiones de servicio entre proyectos.

Cómo convertir una conexión de servicio:

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione la conexión de servicio que desee convertir para usar la identidad de carga de trabajo.

  3. Seleccione Convertir.

    Captura de pantalla que muestra la selección de convertir para credenciales federadas.

    Si tiene una credencial de entidad de servicio existente con un secreto expirado, verá otra opción para convertir.

    Captura de pantalla que muestra la opción de convertir para usar credenciales federadas cuando tiene un certificado expirado.

  4. Seleccione Convertir de nuevo para confirmar que desea crear una nueva conexión de servicio.

    Este proceso de conversión puede tardar unos minutos. Si desea revertir la conexión, deberá hacerlo en un plazo de siete días.

Convertir varias conexiones de servicio de Azure Resource Manager con un script

Utilice un script para actualizar varias conexiones de servicio a la vez para que ahora utilicen la federación de identidades de carga de trabajo para la autenticación.

Este script de PowerShell de ejemplo requiere dos parámetros: organización de Azure DevOps (ejemplo: https://dev.azure.com/fabrikam-tailspin) y proyecto de Azure DevOps (ejemplo: Space game web agent). A continuación, el script recupera las conexiones de servicio asociadas para el proyecto y la organización de Azure DevOps.

Al convertir conexiones de servicio para usar la federación de identidades de carga de trabajo, se le pedirá que confirme la actualización de cada conexión que aún no la usa. Tras la confirmación, el script actualiza estas conexiones de servicio a través de la API REST de Azure DevOps para usar la federación de identidades de carga de trabajo.

Para ejecutarse, el script necesita PowerShell 7.3 o posterior y la CLI de Azure. Guarde el script en un .ps1 archivo y ejecútelo mediante PowerShell 7.

#!/usr/bin/env pwsh
<# 
.SYNOPSIS 
    Convert multiple Azure Resource Manager service connection(s) to use Workload identity federation

.LINK
    https://aka.ms/azdo-rm-workload-identity-conversion

.EXAMPLE
    ./convert_azurerm_service_connection_to_oidc_simple.ps1 -Project <project> -OrganizationUrl https://dev.azure.com/<organization>
#> 

#Requires -Version 7.3

param ( 
    [parameter(Mandatory=$true,HelpMessage="Name of the Azure DevOps Project")]
    [string]
    [ValidateNotNullOrEmpty()]
    $Project,

    [parameter(Mandatory=$true,HelpMessage="Url of the Azure DevOps Organization")]
    [uri]
    [ValidateNotNullOrEmpty()]
    $OrganizationUrl
) 
$apiVersion = "7.1"
$PSNativeCommandArgumentPassing = "Standard" 

#-----------------------------------------------------------
# Log in to Azure
$azdoResource = "499b84ac-1321-427f-aa17-267ca6975798" # application id of Azure DevOps 
az login --allow-no-subscriptions --scope ${azdoResource}/.default
$OrganizationUrl = $OrganizationUrl.ToString().Trim('/')

#-----------------------------------------------------------
# Retrieve the service connection
$getApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints?authSchemes=ServicePrincipal&type=azurerm&includeFailed=false&includeDetails=true&api-version=${apiVersion}"
az rest --resource $azdoResource -u "${getApiUrl} " -m GET --query "sort_by(value[?authorization.scheme=='ServicePrincipal' && data.creationMode=='Automatic' && !(isShared && serviceEndpointProjectReferences[0].projectReference.name!='${Project}')],&name)" -o json `
        | Tee-Object -Variable rawResponse | ConvertFrom-Json | Tee-Object -Variable serviceEndpoints | Format-List | Out-String | Write-Debug
if (!$serviceEndpoints -or ($serviceEndpoints.count-eq 0)) {
    Write-Warning "No convertible service connections found"
    exit 1
}

foreach ($serviceEndpoint in $serviceEndpoints) {
    # Prompt user to confirm conversion
    $choices = @(
        [System.Management.Automation.Host.ChoiceDescription]::new("&Convert", "Converting service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Skip", "Skipping service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Exit", "Exit script")
    )
    $prompt = $serviceEndpoint.isShared ? "Convert shared service connection '$($serviceEndpoint.name)'?" : "Convert service connection '$($serviceEndpoint.name)'?"
    $decision = $Host.UI.PromptForChoice([string]::Empty, $prompt, $choices, $serviceEndpoint.isShared ? 1 : 0)

    if ($decision -eq 0) {

        Write-Host "$($choices[$decision].HelpMessage)"
    } elseif ($decision -eq 1) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        continue 
    } elseif ($decision -ge 2) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        exit 
    }

    # Prepare request body
    $serviceEndpoint.authorization.scheme = "WorkloadIdentityFederation"
    $serviceEndpoint.data.PSObject.Properties.Remove('revertSchemeDeadline')
    $serviceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    $serviceEndpoint | ConvertTo-Json -Depth 4 -Compress | Set-Variable serviceEndpointRequest
    $putApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints/$($serviceEndpoint.id)?operation=ConvertAuthenticationScheme&api-version=${apiVersion}"
    # Convert service connection
    az rest -u "${putApiUrl} " -m PUT -b $serviceEndpointRequest --headers content-type=application/json --resource $azdoResource -o json `
            | ConvertFrom-Json | Set-Variable updatedServiceEndpoint

    $updatedServiceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    if (!$updatedServiceEndpoint) {
        Write-Debug "Empty response"
        Write-Error "Failed to convert service connection '$($serviceEndpoint.name)'"
        exit 1
    }
    Write-Host "Successfully converted service connection '$($serviceEndpoint.name)'"
}

Revertir una conexión de servicio de Azure Resource Manager existente que usa un secreto de entidad de servicio

Puede revertir una conexión de servicio automática convertida con su secreto durante siete días. Después de siete días, cree manualmente un nuevo secreto.

Si crea y convierte manualmente la conexión de servicio, no podrá revertirla con la herramienta de conversión en cuestión porque Azure DevOps no tiene los permisos para modificar sus propias credenciales.

Cómo revertir una conexión de servicio:

  1. En el proyecto de Azure DevOps, vaya a Pipelines (Procesos)>Conexiones de servicio.

  2. Seleccione una conexión de servicio existente para revertirla.

  3. Seleccione Revertir conversión al esquema original.

    Captura de pantalla que muestra la selección de revertir para una credencial federada.

  4. Seleccione Revertir de nuevo para confirmar su elección.

Crear una conexión de servicio de Azure Resource Manager que usa un secreto de entidad de servicio

Puede configurar una conexión de servicio para autenticarse con recursos de Azure mediante un secreto de entidad de servicio. Este enfoque es útil cuando necesita limitar aún más los permisos de los recursos de Azure a los que los usuarios acceden a través de la conexión de servicio.

Puede optar por configurar la conexión de servicio de forma manual o automática. Se recomienda usar el enfoque automático si inició sesión como propietario de la organización de Azure Pipelines y la suscripción de Azure, y no es necesario limitar aún más los permisos para los recursos de Azure a los que los usuarios acceden a través de la conexión de servicio.

Se recomienda usar este método si se cumplen todos los siguientes criterios en su caso:

  • Ha iniciado sesión como propietario de la organización de Azure Pipelines y la suscripción de Azure.
  • No es necesario limitar aún más los permisos de los recursos de Azure a los que los usuarios acceden a través de la conexión de servicio.
  • No se va a conectar a Azure Stack ni a una nube de Azure Government.
  • No se va a conectar desde Azure DevOps Server 2019 o versiones anteriores de Team Foundation Server.

Cómo crear la conexión de servicio

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla que muestra la selección de Azure Resource Manager.

  3. Seleccione Entidad de servicio (automática) y Siguiente.

    Captura de pantalla que muestra la selección de un método de autenticación de entidad de servicio (automática).

  4. Seleccione el nivel Ámbito. Seleccione Suscripción, Grupo de administración o Área de trabajo de Machine Learning. Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Un área de trabajo de Machine Learning es un lugar para crear artefactos de aprendizaje automático.

    • En el ámbito Suscripción , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
    • En el ámbito Grupo de administración, escriba los parámetros siguientes y seleccione el grupo de administración de Azure.

    • En el ámbito del área de trabajo de Machine Learning , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
      Grupo de recursos Necesario. Seleccione el grupo de recursos que contiene el área de trabajo.
      Nombre del área de trabajo de ML Necesario. Escriba el nombre del área de trabajo de Azure Machine Learning existente.
      Ubicación del área de trabajo de ML Necesario. Escriba la ubicación del área de trabajo de Azure Machine Learning existente.
  5. Escriba un Nombre de conexión de servicio.

  6. Opcionalmente, escriba una descripción para la conexión de servicio.

  7. Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.

  8. Seleccione Guardar.

Una vez creada la nueva conexión de servicio:

  • Si usa el editor clásico, seleccione el nombre de conexión que asignó en la configuración de la suscripción de Azure para su proceso.
  • Si usa un archivo YAML, copie el nombre de conexión en el código como valor de azureSubscription.

Para hacer la implementación en un recurso específico de Azure, agregue más información sobre el recurso a la tarea:

  • Si usa el editor clásico, seleccione los datos para agregarlos a la tarea. Por ejemplo, seleccione el nombre del App Service.
  • Si usa un archivo YAML, acceda al recurso en el portal de Azure. Copie los datos que necesita y péguelos en el código de la tarea. Por ejemplo, para implementar una aplicación web, copie el nombre de la aplicación App Service y péguelo como valor de WebAppName en el YAML de la tarea.

Nota:

Al seguir este enfoque, Azure DevOps se conecta con Microsoft Entra ID y crea un registro de aplicación con un secreto válido durante tres meses. Cuando la conexión de servicio está cerca de expirar, Microsoft Entra ID muestra este mensaje: Pronto expirará un certificado o secreto. Cree uno nuevo. En este escenario, debe actualizar la conexión de servicio.

Para actualizar una conexión de servicio, en el portal de Azure DevOps, edite la conexión y luego seleccione Comprobar. Después de guardar los cambios, la conexión de servicio será válida durante otros tres meses.

Le recomendamos usar la federación de identidades de carga de trabajo en lugar de crear un secreto. Si usa la federación de identidades de carga de trabajo, no es necesario rotar los secretos y el registro de aplicaciones sigue su uso previsto. Para empezar a usar la federación de identidades de carga de trabajo, vaya a la página de detalles de conexión de servicio y seleccione Convertir. La conexión de servicio se convierte para usar la federación de identidades de carga de trabajo en lugar de un secreto. Para obtener más información, consulte Convertir una conexión de servicio de Azure Resource Manager existente para usar la federación de identidades de carga de trabajo.

Para obtener más información, consulte Solución de problemas de una conexión de servicio de Azure Resource Manager.

Si tiene problemas al usar este enfoque (por ejemplo, ninguna suscripción que se muestra en la lista desplegable) o si desea limitar los permisos de usuario, puede usar en su lugar una entidad de servicio o una máquina virtual con una identidad administrada.

Crear una conexión de servicio de Azure Resource Manager que usa una entidad de servicio existente

Si quiere usar un conjunto predefinido de permisos de acceso y aún no tiene una entidad de servicio definida para este fin, siga uno de estos tutoriales para crear una nueva entidad de servicio:

Para crear una conexión de servicio que use una entidad de servicio existente:

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla que muestra la selección de Azure Resource Manager.

  3. Seleccione Entidad de servicio (manual) y Siguiente.

    Captura de pantalla que muestra la selección de un método de autenticación de entidad de servicio (manual).

  4. En el cuadro de diálogo Nueva conexión de servicio de Azure, seleccione el entorno. Si selecciona Azure Stack, escriba la dirección URL del entorno, que es algo parecido a https://management.local.azurestack.external.

  5. Seleccione el nivel de ámbito. Seleccione Suscripción, Grupo de administración o Área de trabajo de Machine Learning. Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Un área de trabajo de Machine Learning es un lugar para crear artefactos de aprendizaje automático.

    • En el ámbito Suscripción , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
    • En el ámbito grupo de administración, escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de grupo de administración Necesario. Escriba el identificador del grupo de administración de Azure.
      Nombre del grupo de administración Necesario. Escriba el nombre del grupo de administración de Azure.
    • En el ámbito del área de trabajo de Machine Learning , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
      Grupo de recursos Necesario. Seleccione el grupo de recursos que contiene el área de trabajo.
      Nombre del área de trabajo de ML Necesario. Escriba el nombre del área de trabajo de Azure Machine Learning existente.
      Ubicación del área de trabajo de ML Necesario. Escriba la ubicación del área de trabajo de Azure Machine Learning existente.
  6. En la sección Autenticación , escriba o seleccione los parámetros siguientes:

    Parámetro Descripción
    Id. de entidad de servicio Necesario. Escriba el identificador de la entidad de servicio.
    Credential: Seleccione Clave de entidad de servicio o Certificado. Si seleccionó Clave de entidad de servicio, escriba la clave (contraseña). Si seleccionó Certificado, escriba el certificado.
    Id. de inquilino Necesario. Escriba el identificador de inquilino.
    Verify Seleccione esta opción para validar la configuración especificada.
  7. En la sección Detalles, escriba los parámetros siguientes:

    Parámetro Descripción
    Nombre de la conexión Necesario. El nombre que usará para hacer referencia a esta conexión de servicio en las propiedades de la tarea. No el nombre de la suscripción de Azure.
    Descripción Opcional. Escriba una descripción de la conexión de servicio.
    Seguridad Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.
  8. Seleccione Comprobar y guardar para validar y crear la conexión de servicio.

Una vez creada la nueva conexión de servicio:

  • Si usa la conexión de servicio en la interfaz de usuario, seleccione el nombre de la conexión que haya asignado en la configuración de suscripción de Azure en su proceso.
  • Si usa la conexión de servicio en un archivo YAML, copie el nombre de la conexión y péguelo en el código como valor de azureSubscription.

En caso necesario, modifique la entidad de servicio para exponer los permisos adecuados.

Para obtener más información sobre la autenticación mediante una entidad de servicio, consulte Uso del control de acceso basado en roles para administrar el acceso a los recursos de suscripción de Azure o el artículo de blog Automatizar una implementación de grupo de recursos de Azure mediante una entidad de servicio en Visual Studio.

Para obtener más información, consulte Solución de problemas de conexiones de servicio de Azure Resource Manager.

Creación de una conexión de servicio de Azure Resource Manager a una máquina virtual que usa una identidad administrada

Nota:

Para usar una identidad administrada para autenticarse, debe usar un agente autohospedado en una máquina virtual (VM) de Azure.

Puede configurar agentes autohospedados en máquinas virtuales de Azure para usar una identidad administrada de Azure en el identificador de Microsoft Entra. En este escenario, usará la identidad administrada asignada por el sistema (entidad de servicio) para conceder a los agentes acceso a cualquier recurso de Azure que admita el identificador de Microsoft Entra, como una instancia de Azure Key Vault.

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla que muestra la elección de un tipo de conexión de servicio.

  3. Seleccione Identidad administrada para el método de autenticación.

    Captura de pantalla que muestra cómo ir a la selección del método de autenticación de identidad de servicio administrado.

  4. En Entorno, seleccione el nombre del entorno (Opciones de nube de Azure, Azure Stack o administración pública).

  5. Seleccione el nivel Ámbito. Seleccione Suscripción, Grupo de administración o Área de trabajo de Machine Learning. Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Un área de trabajo de Machine Learning es un lugar para crear artefactos de aprendizaje automático.

    • En el ámbito Suscripción , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
    • En el ámbito grupo de administración, escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de grupo de administración Necesario. Escriba el identificador del grupo de administración de Azure.
      Nombre del grupo de administración Necesario. Escriba el nombre del grupo de administración de Azure.
    • En el ámbito del área de trabajo de Machine Learning , escriba los parámetros siguientes:

      Parámetro Descripción
      Id. de suscripción Necesario. Escriba el identificador de suscripción de Azure.
      Subscription Name Necesario. Escriba el nombre de la suscripción de Azure.
      Grupo de recursos Necesario. Seleccione el grupo de recursos que contiene el área de trabajo.
      Nombre del área de trabajo de ML Necesario. Escriba el nombre del área de trabajo de Azure Machine Learning existente.
      Ubicación del área de trabajo de ML Necesario. Escriba la ubicación del área de trabajo de Azure Machine Learning existente.
  6. Escriba el identificador de inquilino.

  7. Escriba el nombre de la conexión de servicio.

  8. Opcionalmente, escriba una descripción para la conexión de servicio.

  9. Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.

  10. Seleccione Guardar.

  11. Una vez creada la nueva conexión de servicio:

    • Si usa la conexión de servicio en la interfaz de usuario, seleccione el nombre de la conexión que haya asignado en la configuración de suscripción de Azure en su proceso.
    • Si usa la conexión de servicio en un archivo YAML, copie el nombre de la conexión en el código como valor de azureSubscription.
  12. Asegúrese de que la máquina virtual (agente) tenga los permisos adecuados.

    Por ejemplo, si el código necesita llamar a Azure Resource Manager, asigne a la máquina virtual el rol adecuado mediante el control de acceso basado en roles (RBAC) en Microsoft Entra ID.

    Para obtener más información, consulte ¿Cómo puedo usar identidades administradas para recursos de Azure? y Uso del control de acceso basado en roles para administrar el acceso a los recursos de suscripción de Azure.

Para obtener más información sobre el proceso, consulte Solución de problemas de conexiones de servicio de Azure Resource Manager.

Creación de una conexión de servicio mediante un perfil de publicación

Puede crear una conexión de servicio mediante un perfil de publicación. Puede usar un perfil de publicación para crear una conexión de servicio a un servicio App de Azure.

  1. En el proyecto de Azure DevOps, vaya a Configuración de proyecto>Conexiones de servicio.

    Para obtener más información, consultes Abrir la configuración de proyecto.

  2. Seleccione Nueva conexión de servicio y, a continuación, Seleccione Azure Resource Manager y Siguiente.

    Captura de pantalla de la selección de Azure Resource Manager.

  3. Seleccione Publicar perfil para el método de autenticación y seleccione Siguiente.

    Captura de pantalla de la selección del método de autenticación publicar perfil.

  4. Escriba los siguientes parámetros:

    Parámetro Descripción
    Suscripción Necesario. Seleccione una suscripción de Azure existente. Si no aparece ninguna suscripción o instancia de Azure, consulte Solucionar problemas de conexiones de servicio de Azure Resource Manager.
    WebApp Necesario. Escriba el nombre de la aplicación de App de Azure Service.
    Nombre de la conexión de servicio Necesario. El nombre que usará para hacer referencia a esta conexión de servicio en las propiedades de la tarea. No el nombre de la suscripción de Azure.
    Descripción Opcional. Descripción de la conexión de servicio.
  5. Seleccione Conceder permiso de acceso a todas las canalizaciones para permitir que todas las canalizaciones usen esta conexión de servicio. Si no selecciona esta opción, debe conceder manualmente acceso a cada canalización que use esta conexión de servicio.

  6. Seleccione Guardar.

Una vez creada la nueva conexión de servicio:

  • Si usa la conexión de servicio en la interfaz de usuario, seleccione el nombre de la conexión que haya asignado en la configuración de suscripción de Azure en su proceso.
  • Si usa la conexión de servicio en un archivo YAML, copie el nombre de la conexión y péguelo en el código como valor de azureSubscription.

Conexión a una nube de Azure Government

Para obtener información sobre cómo conectarse a una nube de Azure Government, consulte Conectarse a través de Azure Pipelines (Nube de Azure Government).

Conexión a Azure Stack

Para obtener más información sobre cómo conectarse a Azure Stack, lea estos artículos:

Ayuda y soporte técnico