Use la CLI de Azure para emitir un token de Microsoft Entra y llamar a las API REST de Azure DevOps. Dado que los tokens de acceso de Entra solo duran una hora, son ideales para operaciones puntuales y breves. Puede usar la CLI de Azure para adquirir un token de usuario para usted mismo o en nombre de una entidad de servicio.
Prerrequisitos
Categoría |
Requisitos |
Inquilino y suscripción de Entra |
Asegúrese de que la suscripción está asociada al inquilino conectado a la organización de Azure DevOps a la que intenta acceder. Si no conoce su entidad o el identificador de suscripción, puede encontrarlo en el portal de Azure. |
CLI de Azure |
Descargue e instale la CLI de Azure. |
Aplicación Entra |
(Si se autentica para una entidad de servicio) Cree la aplicación Entra y tenga listo el identificador de cliente de la aplicación y el secreto de cliente. |
Adquisición de un token Entra para uno mismo
Inicie sesión en la CLI de Azure con el comando az login
y siga las instrucciones en pantalla.
Establezca la suscripción correcta para el usuario que ha iniciado sesión con estos comandos de Bash. Asegúrese de que el identificador de suscripción de Azure está asociado al inquilino conectado a la organización de Azure DevOps a la que intenta acceder. Si no conoce su identificador de suscripción, puede encontrarlo en Azure Portal.
az account set -s <subscription-id>
Genera un token de acceso de ID de Microsoft Entra con el comando az account get-access-token
mediante el identificador de recurso de Azure DevOps: 499b84ac-1321-427f-aa17-267ca6975798
.
az account get-access-token \
--resource 499b84ac-1321-427f-aa17-267ca6975798 \
--query "accessToken" \
-o tsv
Inicie sesión en Azure PowerShell con el comando Connect-AzAccount
y siga las instrucciones en pantalla.
Establezca la suscripción correcta para el usuario que ha iniciado sesión con estos comandos de PowerShell. Asegúrese de que el identificador de suscripción de Azure está asociado al inquilino conectado a la organización de Azure DevOps a la que intenta acceder. Si no conoce su identificador de suscripción, puede encontrarlo en Azure Portal.
Set-AzContext -Subscription <subscriptionID>
Genera un token de acceso de ID de Microsoft Entra con el comando Get-AzAccessToken
mediante el identificador de recurso de Azure DevOps: 499b84ac-1321-427f-aa17-267ca6975798
.
Get-AzAccessToken -ResourceUrl '499b84ac-1321-427f-aa17-267ca6975798'
Adquisición de un token para un principal de servicio
- Inicie sesión en la CLI de Azure como entidad de servicio mediante el comando
az devops login
.
- Siga las instrucciones en pantalla y termine de iniciar sesión.
# To authenticate a service principal with a password or cert:
az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>
# To authenticate a managed identity:
az login --identity
- Para establecer la suscripción correcta para la entidad de servicio que ha iniciado sesión, escriba el comando :
az account set -s <subscription-id>
- Genere un token de acceso de Microsoft Entra ID con el
az account get-access-token
identificador de recurso de Azure DevOps: 499b84ac-1321-427f-aa17-267ca6975798
.
$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
Nota:
Use el identificador de aplicación de Azure DevOps, no nuestro URI de recursos, para generar tokens.
- Ahora, puede utilizar
az cli
comandos como de costumbre. Vamos a intentar llamar a una API de Azure DevOps pasándolo en los encabezados como un token Bearer
.
$apiVersion = "7.1-preview.1"
$uri = "https://dev.azure.com/${yourOrgname}/_apis/projects?api-version=${apiVersion}"
$headers = @{
Accept = "application/json"
Authorization = "Bearer $accessToken"
}
Invoke-RestMethod -Uri $uri -Headers $headers -Method Get | Select-Object -ExpandProperty value ` | Select-Object id, name