Uso de tokens de acceso personal
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Un token de acceso personal (PAT) sirve como contraseña alternativa para autenticarse en Azure DevOps. Este PAT le identifica y determina la accesibilidad y el ámbito de acceso. Por lo tanto, trate los PAT con el mismo nivel de precaución que las contraseñas.
Cuando se usan herramientas de Microsoft, la cuenta de Microsoft (MSA) o el identificador de Microsoft Entra es un método reconocido y compatible. Si usa herramientas que no admiten cuentas de Microsoft Entra o si no desea compartir sus credenciales principales con estas herramientas, los PAT pueden ser una alternativa adecuada. De lo contrario, recomendamos los tokens de Microsoft Entra en lugar de PAT siempre que sea posible.
Sugerencia
Se recomienda revisar nuestra guía de autenticación de para elegir el mecanismo de autenticación adecuado para sus necesidades. En esta página de nuestros documentos se ofrece orientación sobre escenarios comunes de PAT que podrían ser mejor atendidos por tokens de Microsoft Entra.
Puede administrar LOS PAT a través de los métodos siguientes:
- Interfaz de usuario (UI): A través de la configuración del usuario, como se detalla en este artículo.
- API de administración del ciclo de vida de PAT
- Administradores de credenciales de Git para las operaciones de Git. Los administradores de credenciales facilitan la administración de tokens. Sin una, los usuarios deben escribir sus credenciales cada vez.
Requisitos previos
- Permisos:
- Tener permiso para acceder y modificar la configuración del usuario en la que se administran los PAT.
- Comprobar permisos: para comprobar los permisos, realice cualquiera de los siguientes procesos en Azure DevOps:
- Vaya a su perfil y seleccione Configuración de>usuario Tokens de acceso personal. Si puede ver y administrar sus PAT aquí, tiene los permisos necesarios.
- Vaya al proyecto y seleccione Permisos de configuración>del proyecto. Busque su cuenta de usuario en la lista y compruebe los permisos asignados. Busque permisos relacionados con la administración de tokens o la configuración del usuario.
- Comprobar permisos: para comprobar los permisos, realice cualquiera de los siguientes procesos en Azure DevOps:
- Si su organización tiene directivas en vigor, es posible que un administrador de Azure DevOps tenga que concederle permisos específicos o agregarle a una lista de permitidos para crear y administrar PAT.
- Las PAT están conectadas a la cuenta de usuario que mintió el token. En función de las tareas que realice el PAT, es posible que necesite más permisos usted mismo.
- Tener permiso para acceder y modificar la configuración del usuario en la que se administran los PAT.
- Niveles de acceso: tenga al menos acceso básico.
- Procedimientos recomendados de seguridad: Familiarícese con procedimientos recomendados de seguridad para administrar PAT. Úselos solo cuando sea necesario y rotarlos siempre con regularidad.
Creación de un PAT
Inicie sesión en su organización (
https://dev.azure.com/{Your_Organization}
).En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.
Seleccione + New Token (+ Nuevo token).
Asigne un nombre al token, seleccione la organización en la que desea usar el token y, a continuación, establezca el token para que expire automáticamente después de un número establecido de días.
Seleccione los ámbitos de este token para autorizar las tareas específicas.
Por ejemplo, para crear un token para que un agente de compilación y versión se autentique en Azure DevOps, establezca el ámbito del token en Grupos de agentes (leer y administrar). Para leer eventos de registro de auditoría y administrar o eliminar secuencias, seleccione Leer registro de auditoría y, a continuación, seleccione Crear.
Nota:
Es posible que esté restringido a la creación de PAT de ámbito completo. Si es así, el administrador de Azure DevOps en el identificador de Microsoft Entra ha habilitado una directiva que le limita a un conjunto de ámbitos específico definido por el usuario. Para obtener más información, consulte Administración de PAT con directivas o Restricción de la creación de PAT de ámbito completo. Para un PAT definido de forma personalizada, el ámbito necesario para acceder a la API de gobernanza de componentes,
vso.governance
, no se puede seleccionar en la interfaz de usuario.Cuando haya terminado, copie el token y almacénelo en una ubicación segura. Para su seguridad, no se vuelve a mostrar.
Use el PAT en cualquier lugar donde se requieran las credenciales de usuario para la autenticación en Azure DevOps.
Importante
- Trate un PAT con la misma precaución que su contraseña y manténgalo confidencial.
- Inicie sesión con su nuevo PAT en un plazo de 90 días para las organizaciones respaldadas por microsoft Entra ID; de lo contrario, el PAT se vuelve inactivo. Para obtener más información, consulte Frecuencia de inicio de sesión de usuario para el acceso condicional.
Notificaciones
Durante la vida útil de un PAT, los usuarios reciben dos notificaciones: la primera en el momento de la creación y el segundo siete días antes de su expiración.
Después de crear un PAT, recibirá una notificación similar al ejemplo siguiente. Esta notificación sirve como confirmación de que el PAT se agregó correctamente a su organización.
En la imagen siguiente se muestra un ejemplo de la notificación de siete días antes de que expire el PAT.
Para obtener más información, consulte Configurar un servidor SMTP y personalizar el correo electrónico para las alertas y las solicitudes de comentarios.
Notificación inesperada
Si recibe una notificación pat inesperada, puede significar que un administrador o una herramienta crearon una PAT automáticamente. Aquí hay algunos ejemplos.
- Se crea un token denominado "git:
https://dev.azure.com/{Your_Organization}
on YourMachine" al conectarse a un repositorio de Git de Azure DevOps a través de git.exe. - Se crea un token denominado "Service Hooks: : App de Azure Service: : Deploy web app" cuando usted o un administrador configuran una implementación de aplicación web de App de Azure Service.
- Se crea un token denominado "WebAppLoadTestCDIntToken" cuando usted o un administrador configuran pruebas de carga web como parte de una canalización.
- Se crea un token denominado "Integración de Microsoft Teams" cuando se configura una extensión de mensajería de integración de Microsoft Teams.
Advertencia
- Revoque el PAT si sospecha que existe en error. Siga los pasos para revocar el PAT y cambiar la contraseña.
- Compruebe con el administrador si es un usuario de Microsoft Entra para ver si una ubicación o origen desconocidos ha accedido a su organización.
- Revise las preguntas más frecuentes sobre las comprobaciones pat accidentales en repositorios públicos de GitHub.
Usar un PAT
Su PAT actúa como identidad digital, de forma muy similar a una contraseña. Los PAT se pueden usar como una manera rápida de realizar solicitudes puntuales o crear prototipos de una aplicación localmente.
Importante
Cuando el código funciona, es un buen momento para cambiar de autenticación básica a Microsoft Entra OAuth. Los tokens de Microsoft Entra se pueden usar en cualquier lugar donde se use un PAT, a menos que se especifique a continuación.
Puede usar un PAT en el código para autenticar solicitudes de API REST y automatizar los flujos de trabajo. Para ello, incluya el PAT en el encabezado de autorización de las solicitudes HTTP.
Para proporcionar el PAT a través de un encabezado HTTP, primero conviértalo en una Base64
cadena. En el ejemplo siguiente se muestra cómo convertir a Base64
mediante C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
A continuación, se puede proporcionar la cadena resultante como un encabezado HTTP en el formato siguiente.
En el ejemplo siguiente se usa la clase HttpClient en C#.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Sugerencia
Al usar variables, agregue un $
al principio de la cadena, como en el ejemplo siguiente.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
$"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Puede encontrar algunos ejemplos más de cómo usar PAT en los siguientes artículos:
- Autenticación con los repositorios de Git
- Configuración de administradores de credenciales de Git (GCM) para conectarse con repositorios de Git
- Uso de NuGet en un equipo Mac
- Autenticación de clientes de informes
- Introducción a la CLI de Azure DevOps
Modificación de un PAT
Siga estos pasos para:
- Vuelva a generar un PAT para crear un nuevo token, que invalida el anterior.
- Amplíe un PAT para aumentar su período de validez.
- Modifique el ámbito de un PAT para cambiar sus permisos.
En la página principal, abra la configuración del usuario y, a continuación, seleccione Perfil.
En Seguridad, seleccione Tokens de acceso personal. Seleccione el token que desea modificar y, a continuación , Editar.
Edite el nombre del token, la expiración del token o el ámbito de acceso asociado al token y, a continuación, seleccione Guardar.
Revocar un PAT
Puede revocar un PAT en cualquier momento por estos y otros motivos:
- Revoque un PAT si sospecha que está en peligro.
- Revoque un PAT cuando ya no sea necesario.
- Revoque un PAT para aplicar directivas de seguridad o requisitos de cumplimiento.
En la página principal, abra la configuración del usuario y, a continuación, seleccione Perfil.
En Seguridad, seleccione Tokens de acceso personal. Seleccione el token para el que desea revocar el acceso y, a continuación, seleccione Revocar.
Seleccione Revocar en el cuadro de diálogo de confirmación.
Para obtener más información, consulte Revocación de PAT de usuario para administradores.
Cambios en el formato
A partir de julio de 2024, hemos cambiado significativamente el formato de los PAT emitidos por Azure DevOps. Estos cambios proporcionan más ventajas de seguridad y mejoran las herramientas de detección de secretos disponibles a través de nuestras herramientas de detección de PAT filtrados u ofertas de partners. Este nuevo formato PAT sigue el formato recomendado en todos los productos de Microsoft. La inclusión de bits más identificables mejora la tasa de detección de falsos positivos de estas herramientas de detección de secretos y nos permite mitigar las pérdidas detectadas más rápido.
Cambios clave:
- Aumento de la longitud del token: los nuevos tokens tienen ahora 84 caracteres, con 52 caracteres siendo datos aleatorios. Esta mayor longitud mejora la entropía general, lo que hace que los tokens sean más resistentes a posibles ataques por fuerza bruta.
- Firma fija: los tokens emitidos por nuestro servicio incluyen una firma fija
AZDO
en las posiciones 76-80.
Acción necesaria:
- Regenerar los PAT existentes: se recomienda encarecidamente volver a generar todos los PAT actualmente en uso para aprovechar estas mejoras de seguridad.
- Compatibilidad con el integrador: los integradores deben actualizar sus sistemas para adaptarse a las longitudes de token nuevas y existentes.
Importante
Ambos formatos siguen siendo válidos para el futuro previsible, pero animamos activamente a los clientes a realizar la transición al nuevo formato de 84 caracteres. A medida que aumenta la adopción del nuevo formato, consideramos la posibilidad de retirar el formato de 52 caracteres anterior y todos los tokens emitidos en ese estilo.
Procedimientos recomendados de PAT
Considerar alternativas
- En el caso de las solicitudes ad hoc, adquirir un token de Entra a través de la CLI de Azure que está activo durante una hora en lugar de generar un PAT de larga duración.
- Use administradores de credenciales, como administrador de credenciales de Git o administrador de credenciales de Azure Artifacts, siempre que sea posible para simplificar la administración de credenciales. Estas herramientas pueden tener opciones para usar tokens de Microsoft Entra como autenticación predeterminada en lugar de PAT.
Creación de PATs
- Al crear un PAT, no coloque ninguna información de identificación personal (PII) en el nombre de PAT. No cambie el nombre de la cadena de token PAT al nombre de su token.
- Si su PAT no necesita acceder a varias organizaciones, elija solo la organización a la que necesita acceder. Si tiene un flujo de trabajo que requiere un PAT para acceder a varias organizaciones, cree un PAT global independiente solo para ese flujo de trabajo.
- Elija solo los ámbitos necesarios para cada PAT. Si es posible, cree varias PAT para cada flujo de trabajo con menos ámbitos frente a una sola PAT de ámbito completo. Si el PAT solo necesita permisos de lectura, no proporcione permisos de escritura hasta que sea necesario.
- Mantenga una duración corta de los PAT (semanal es ideal, incluso menor sería mejor) y rótelos o vuelva a generarlos con regularidad. Hágalo en la interfaz de usuario o a través de las API de administración del ciclo de vida de PAT.
Administración de PAT
- SIEMPRE almacena tus PATs en una solución segura de administración de claves, como Azure KeyVault.
- Revoque los PAT cuando ya no sean necesarios. Los administradores de inquilinos pueden revocar PAT para los usuarios de su organización si el PAT está comprometido.
- Rote los PAT para usar el nuevo formato de PAT, lo que permite una mejor detección y revocación de secretos filtrados mediante nuestras herramientas propias.
Para administradores
- Los administradores de inquilinos pueden establecer directivas para restringir la creación de PAT globales, la creación de PAT con ámbito completo y la larga duración de PAT. También pueden habilitar directivas para revocar automáticamente los PAT filtrados detectados en repositorios públicos. Use estas directivas para mejorar la seguridad de su empresa.
Preguntas más frecuentes
P: ¿Por qué no puedo editar o volver a generar un PAT con ámbito en una sola organización?
R: Asegúrese de que ha iniciado sesión en la organización en la que está el ámbito de PAT. Puede ver todos los PAT mientras ha iniciado sesión en cualquier organización en el mismo identificador de Entra de Microsoft, pero solo puede editar tokens con ámbito de organización cuando haya iniciado sesión en la organización a la que se limita.
P: ¿Qué ocurre con un PAT si una cuenta de usuario está deshabilitada?
R: Cuando se quita un usuario de Azure DevOps, el PAT invalida en un plazo de 1 hora. Si su organización está conectada al identificador de Microsoft Entra, el PAT también invalida en el identificador de Microsoft Entra, ya que pertenece al usuario. Se recomienda rotar el PAT a otra cuenta de usuario o servicio para mantener los servicios en ejecución.
P: ¿Hay alguna manera de renovar un PAT a través de la API REST?
R: Sí, hay una manera de renovar, administrar y crear PAT mediante nuestras API de administración del ciclo de vida de PAT.
P: ¿Puedo usar PAT con todas las API REST de Azure DevOps?
R: No. Puede usar la autenticación básica con la mayoría de las API REST de Azure DevOps, pero las organizaciones y perfiles y las API de administración del ciclo de vida de PAT solo admiten Microsoft Entra OAuth. Para ver un ejemplo sobre cómo configurar una aplicación Entra para llamar a estas API, consulte la Documentación sobre administración de PAT mediante la API REST.
P: ¿Qué ocurre si se comprueba accidentalmente mi PAT en un repositorio público en GitHub?
R: Azure DevOps examina los PAT protegidos en repositorios públicos en GitHub. Cuando encontramos un token filtrado, enviamos inmediatamente una notificación por correo electrónico detallada al propietario del token y registramos un evento en el registro de auditoría de la organización de Azure DevOps. A menos que deshabilite la directiva Revocar automáticamente tokens de acceso personal filtrados, revocamos inmediatamente el PAT filtrado. Animamos a los usuarios afectados a mitigar el problema revocando el token filtrado y reemplazandolo por un nuevo token.
Para obtener más información, consulte Revocación automática de PAT filtradas.
P: ¿Puedo usar un token de acceso personal como ApiKey para publicar paquetes NuGet en una fuente de Azure Artifacts mediante la línea de comandos dotnet/nuget.exe?
R: No. Azure Artifacts no admite el paso de un token de acceso personal como ApiKey. Al usar un entorno de desarrollo local, se recomienda instalar el Proveedor de credenciales de Azure Artifacts para autenticarse con Azure Artifacts. Para obtener más información, vea los ejemplos siguientes: dotnet, NuGet.exe. Si desea publicar los paquetes mediante Azure Pipelines, use la tarea Autenticación de NuGet para autenticarse con el ejemplo de fuente.
P: ¿Por qué mi PAT detuvo el trabajo?
R: La autenticación pat requiere que inicie sesión periódicamente en Azure DevOps mediante el flujo de autenticación completo. Iniciar sesión una vez cada 30 días es suficiente para muchos usuarios, pero es posible que tenga que iniciar sesión con más frecuencia en función de la configuración de Microsoft Entra. Si el PAT deja de funcionar, intente iniciar sesión en su organización y complete el mensaje de autenticación completo. Si el PAT sigue sin funcionar, compruebe si ha expirado.
Algunas razones conocidas por las que los PAT podrían estar fallando:
- La habilitación de la autenticación básica de IIS invalida el uso de los PATs para Azure DevOps Server: consulte Uso de la autenticación básica de IIS con Azure DevOps localmente.
P: Cómo crear claves de acceso que no están vinculadas a una persona específica con fines de implementación?
R: En Azure DevOps, puede crear claves de acceso que no están vinculadas a una persona específica mediante entidades de servicio o Administrar identidades. Para más información, consulte Administración de conexiones de servicio, Uso de secretos de Azure Key Vault en Azure Pipelines.
::: moniker-end
Artículos relacionados
- Más información sobre la seguridad, la autenticación y la autorización
- Revisión de los permisos y el acceso predeterminados para Azure DevOps
- Administrar tokens de acceso personal (PAT) mediante la API REST
- Revocación de PAT de usuario (para administradores)
- Administración de entidades de servicio e identidades administradas en Azure DevOps
- Uso de directivas para administrar tokens de acceso personal para usuarios