Autenticación con Azure Repos
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
La selección del método de autenticación adecuado es fundamental para el acceso seguro a los repositorios de Git de Azure Repos y Azure DevOps Server. Tanto si trabaja desde un símbolo del sistema como si usa un cliente de Git que admite HTTPS o SSH, es importante elegir credenciales que no solo proporcionen el acceso necesario, sino que también limiten el ámbito a lo que se necesita para las tareas.
Revoque siempre las credenciales cuando ya no sean necesarias para mantener la seguridad de los repositorios. Este enfoque garantiza que tiene la flexibilidad de trabajar con el código de forma segura y eficaz, a la vez que lo protege contra el acceso no autorizado.
Mecanismos de autenticación
Tokens de OAuth de Microsoft Entra
Use Microsoft Entra para generar tokens y acceder a las API de REST. Los tokens de Microsoft Entra se pueden usar siempre que se usen tokens de acceso personal. Esta es una sugerencia útil sobre cómo obtener un token de acceso único desde la CLI de Azure para llamar a git fetch:
$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}
Sugerencia
Considere el Administrador de Credenciales de Git (GCM) para evitar tener que introducir tus credenciales cada vez. Use GCM con el tipo de credencial predeterminado como Oauth
para generar tokens de Microsoft Entra.
Tokens de acceso personal
Tokens de acceso personal (PAT) proporcionar acceso a Azure DevOps sin usar el nombre de usuario y la contraseña directamente. Estos tokens expiran y permiten restringir el ámbito de los datos a los que pueden acceder.
Use PAT para autenticarse si no tiene claves SSH configuradas en el sistema o necesita limitar los permisos concedidos por la credencial.
Las interacciones de Git requieren un nombre de usuario, que puede ser cualquier cosa excepto una cadena vacía. Para usar un PAT con autenticación básica de HTTP, Base64-encode
tu $MyPat
como se muestra en el siguiente bloque de código.
En PowerShell, escriba el código siguiente.
$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue
git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Sugerencia
Si usa PAT periódicamente, examine el administrador de credenciales de Git (GCM) en su lugar para evitar escribir las credenciales cada vez. Mejor aún, explore el uso de GCM con el tipo de credencial predeterminado como Oauth
para generar tokens de Microsoft Entra en lugar de PAT siempre que sea posible.
Claves SSH
La autenticación de claves con SSH funciona mediante un par de claves pública y privada que se crea en el equipo. Asocie la clave pública a su nombre de usuario desde la web. Azure DevOps cifrará los datos enviados con esa clave cuando trabaje con Git. Debe descifrar los datos del equipo con la clave privada, que nunca se comparte o envía por la red.
SSH es una excelente opción si ya lo ha configurado en el sistema; tan solo tiene que agregar una clave pública a Azure DevOps y clonar los repositorios mediante SSH. Es posible que se prefiera SSH para aquellos en Linux, macOS o Windows que ejecutan Git para Windows que no pueden usar administradores de credenciales de Git o tokens de acceso personal para la autenticación HTTPS.
Para más información, consulte Configuración de SSH con Azure DevOps.
Uso del Administrador de credenciales de Git para generar tokens
Use el administrador de credenciales de Git (GCM) para evitar escribir las credenciales cada vez y mantener el token más seguro al acceder a Azure Repos. Inicie sesión en el portal web, genere un token y, después, use el token como contraseña al conectarse a Azure Repos. Los tokens o PAT de Microsoft Entra se generan a petición cuando tiene instalado y guardado localmente el administrador de credenciales para su uso con la línea de comandos de Git u otro cliente.
Repositorios existentes
Quitar el origen existente: Si anteriormente agregó el origen mediante un nombre de usuario, quítelo ejecutando el siguiente comando:
git remote remove origin
Autenticar con un PAT: Si encuentra problemas con la autenticación estándar, ejecute el siguiente comando para autenticarse a través de la línea de comandos:
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>
git push -u origin --all
El
path to git repo = /_git/do
se refiere a la estructura de la ruta de la URL utilizada en Azure DevOps para repositorios de Git. El segmento/_git/
indica que está accediendo a un repositorio de Git y debe reemplazardo
por el nombre real del repositorio. Por ejemplo, si el repositorio se denominamy-repo
, la ruta de acceso sería "/_git/my-repo
".clonar repositorio: Si usa Git y necesita autenticarse, ejecute el siguiente comando:
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}
Reemplace
{organization}
por el nombre de la organización de Azure DevOps y{repository}
por el nombre del repositorio.