Uso de tokens de acceso personal

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Un token de acceso personal (PAT) actúa como una contraseña alternativa para autenticarse en Azure DevOps. Este PAT le identifica y determina la accesibilidad y el ámbito de acceso. Trate los PAT con el mismo nivel de precaución que las contraseñas.

Precaución

Evite el uso de PAT cuando haya disponible un método de autenticación más seguro. Los PAT conllevan riesgos de seguridad inherentes porque son credenciales de larga duración que se pueden filtrar, robar o usar incorrectamente. Utilice tokens de Microsoft Entra, identidades administradas o entidades de servicio siempre que sea posible.

Cuando se usan herramientas de Microsoft, se reconoce y se admite la cuenta de Microsoft o Microsoft Entra ID. Si usa herramientas que no admiten cuentas de Microsoft Entra o si prefiere no compartir sus credenciales principales, considere la posibilidad de usar PAT como método de autenticación alternativo.

Sugerencia

Puede usar la inteligencia artificial para ayudar con esta tarea más adelante en este artículo, o consulte Enable AI assistance with Azure DevOps MCP Server para empezar.

Requisitos previos

Categoría Requisitos
Permisos Permiso para acceder y modificar la configuración de usuario en la que se administran los PAT.
- Vaya a su perfil y seleccione Configuración del usuario> y Tokens de acceso personal. Si puede ver y administrar sus PAT aquí, tiene los permisos necesarios.
- Vaya a su proyecto y seleccione Configuración del proyecto>Permisos. 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.
- Si su organización tiene directivas en vigor, es posible que un administrador 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. Dependiendo de las tareas que realice el PAT, puede que tú mismo necesites más permisos.
Niveles de acceso Al menos acceso básico.
Tareas Usa los PAT solo cuando sea necesario y rótalos siempre con regularidad. Consulte la sección Procedimientos recomendados para usar PAT.

Creación de un PAT

Nota:

Los pasos y capturas de pantalla siguientes reflejan Azure DevOps Services. La experiencia de Azure DevOps Server puede variar ligeramente.

  1. Inicie sesión en su organización (https://dev.azure.com/{Your_Organization}).

  2. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.

    Captura de pantalla que muestra la opción Tokens de acceso personal en la configuración del usuario.

  3. Seleccione + New Token (+ Nuevo token).

    La captura de pantalla muestra el botón

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

    Captura de pantalla que muestra el cuadro de diálogo Crear un nuevo token de acceso personal con los campos nombre, organización y expiración.

  5. Seleccione los ámbitos de este token para autorizar las tareas específicas.

    Por ejemplo, para crear un token para que un agente de build y release pueda autenticarse 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.

    Captura de pantalla que muestra las opciones de selección de ámbito de un PAT.

    El administrador puede restringirle la creación de PAT de ámbito completo o limitarlo solo a los PAT de ámbito de empaquetado. Póngase en contacto con su administrador para que lo añadan a la lista de permitidos si necesita acceso a más permisos. Algunos ámbitos, por ejemplo, vso.governance, podrían no estar disponibles en la interfaz de usuario (UI) si no son para uso público generalizado.

  6. Cuando haya terminado, copie el token y almacénelo en una ubicación segura. Para su seguridad, no se vuelve a mostrar.

    Captura de pantalla que muestra el botón Copiar token al portapapeles con el valor PAT generado.

  1. Inicie sesión en el portal web de Azure DevOps Server (https://{server}/{collection} o http://{server}:{port}/tfs/{collection}).

  2. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.

    Captura de pantalla que muestra la opción Tokens de acceso personal en la configuración del usuario.

  3. Seleccione + New Token (+ Nuevo token).

    La captura de pantalla muestra el botón

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

    Captura de pantalla que muestra el cuadro de diálogo Crear un nuevo token de acceso personal con los campos nombre, organización y expiración.

  5. Seleccione los ámbitos de este token para autorizar las tareas específicas.

    Por ejemplo, para crear un token para que un agente de build y release pueda autenticarse 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.

    Captura de pantalla que muestra las opciones de selección de ámbito de un PAT.

    El administrador puede restringirle la creación de PAT de ámbito completo o limitarlo solo a los PAT de ámbito de empaquetado. Póngase en contacto con su administrador para que lo añadan a la lista de permitidos si necesita acceso a más permisos. Algunos ámbitos, por ejemplo, vso.governance, podrían no estar disponibles en la interfaz de usuario (UI) si no son para uso público generalizado.

  6. Cuando haya terminado, copie el token y almacénelo en una ubicación segura. Para su seguridad, no se vuelve a mostrar.

    Captura de pantalla que muestra el botón Copiar token al portapapeles con el valor PAT generado.

Puede usar el PAT en cualquier lugar en el que se requieran las credenciales de usuario para la autenticación en Azure DevOps. Recordar:

  • Trate un PAT con la misma precaución que su contraseña y manténgalo confidencial. No compartas PATs.
  • En el caso de las organizaciones respaldadas por Microsoft Entra ID, inicie sesión con el nuevo PAT en un plazo de 90 días o se vuelva inactivo. Para obtener más información, consulte Frecuencia de inicio de sesión del usuario para el acceso condicional.

Notificaciones

Durante la vida útil de un PAT, los usuarios reciben dos notificaciones: una cuando se crea el PAT y otra antes de que expire.

Después de crear un PAT, puede 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.

Captura de pantalla que muestra el correo electrónico de notificación creado por PAT.

Se envía un correo electrónico de notificación de expiración antes de que expire el token. Si su administrador le quitó la posibilidad de crear PAT en la organización, el correo electrónico indica que ya no podrá regenerar PAT. Póngase en contacto con el administrador de la colección de proyectos para que se le incluya en una lista de aceptación para los permisos continuos para la creación de PAT en esa organización.

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 creó un PAT para usted. Estos son algunos ejemplos:

  • Se crea un token denominado git: https://dev.azure.com/{yourorganization} 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: Azure App Service: Deploy web app cuando usted o un administrador configuran una implementación de aplicación web de Azure App 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 Microsoft Teams Integration cuando se configura una extensión de mensajería de integración de Microsoft Teams.

Si cree que la situación es grave:

Usar una PAT

Su PAT actúa como identidad digital, de forma muy similar a una contraseña. Use PAT como una manera rápida de realizar solicitudes únicas o crear prototipos de una aplicación localmente. Use un PAT en el código para autenticar solicitudes de API REST y automatizar flujos de trabajo mediante la inclusión del PAT en el encabezado de autorización de la solicitud.

Una vez que el código de la aplicación esté funcionando, cambie a Microsoft Entra OAuth para adquirir tokens para los usuarios de su aplicación o una entidad de servicio o una identidad administrada para adquirir tokens como una aplicación. No siga ejecutando aplicaciones o scripts con PAT a largo plazo. Puede usar Microsoft Entra tokens en cualquier lugar en el que se use una PAT.

Considere la posibilidad de solicitar un token de Microsoft Entra a través del CLI de Azure para las solicitudes no planeadas.

Para proporcionar el PAT a través de un encabezado HTTP, primero conviértalo en una Base64 cadena. A continuación, es necesario proporcionarlo como un encabezado HTTP en el formato siguiente:


Authorization: Basic BASE64_USERNAME_PAT_STRING

Modificación de un PAT

Para modificar un PAT, siga estos pasos:

  • Vuelva a generar un PAT para crear un nuevo token e invalide el token anterior.
  • Amplíe un PAT para aumentar su período de validez.
  • Cambie el ámbito de un PAT para cambiar sus permisos.
  1. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.

  2. Seleccione el token que desea modificar y, a continuación, seleccione Editar.

    Captura de pantalla que muestra el botón Editar resaltado para una entrada PAT.

  3. Edite el nombre del token, la expiración del token o el ámbito de acceso asociado al token y, a continuación, seleccione Guardar.

    Captura de pantalla que muestra el cuadro de diálogo Editar de un PAT con campos de nombre, expiración y ámbito.

Revocar un PAT

Revocar un PAT en cualquier momento por estos y otros motivos:

  • Vulneración de seguridad: Revoque un PAT inmediatamente si sospecha que se ha comprometido, filtrado o expuesto en registros o repositorios públicos.
  • Ya no es necesario: Revoque un PAT cuando finalice el proyecto, el servicio o la integración para los que creó.
  • Cumplimiento de políticas: Revoque un PAT para hacer cumplir las políticas de seguridad, los requisitos de cumplimiento o los calendarios de rotación de tokens de la organización.
  • Cambios de usuario: Revoque un PAT cuando un miembro del equipo deje la organización o cambie los roles y ya no necesite acceso.
  • Reducción del ámbito: Revoque y vuelva a crear un PAT con permisos reducidos cuando necesite limitar sus funcionalidades de acceso.
  • Mantenimiento normal: Revoque un PAT como parte de la higiene de seguridad rutinaria y la administración del ciclo de vida de tokens.

Para revocar un PAT, siga estos pasos:

  1. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.

  2. En Seguridad, seleccione Tokens de acceso personal. Seleccione el token para el que desea revocar el acceso y, a continuación, seleccione Revocar.

    Captura de pantalla que muestra la opción Revocar para un token seleccionado en la página Tokens de acceso personal.

  3. En el cuadro de diálogo Confirmación , seleccione Revocar.

    La captura de pantalla muestra el diálogo de confirmación para revocar un PAT.

¿Qué ocurre cuando un PAT expira o se revoca?

Cuando un PAT expira o se revoca, cualquier servicio o herramienta que use esa PAT pierde inmediatamente la autenticación a Azure DevOps. Comprender el impacto le ayuda a planear la rotación y a evitar interrupciones del servicio.

Impacto del servicio por escenario

Scenario Behavior Mensaje de error Timeline
Operaciones de Git (clonación, inserción, extracción) Error de autenticación; operaciones bloqueadas fatal: Authentication failed for '<url>' o 401 Unauthorized Inmediata
Azure Pipelines CI/CD Error en el trabajo de compilación o versión en el paso de autenticación Error: Personal access token (PAT) is invalid or expired Próxima ejecución de la canalización
Llamadas a la API REST Se produce un error en todas las solicitudes de API; se detiene la integración 401 Unauthorized o TF400813: Resource not available for anonymous access Inmediata
Azure Artifacts (NuGet, npm, Maven) Error al restaurar o publicar paquetes 401 Unauthorized o Credentials could not be authenticated Inmediata
Administrador de credenciales de Git Requiere volver a autenticar Se le pide al usuario que vuelva a iniciar sesión. Siguiente intento de autenticación
Secuencias de comandos y herramientas de automatización La ejecución falla debido a un error de autenticación Error específico de la herramienta (varía según la herramienta) Inmediata

Escala de tiempo de impacto

  1. A la hora de expiración (fecha especificada):

    • PAT se vuelve inactivo automáticamente
    • Todas las conexiones activas se quitan
    • Se produce un error en los nuevos intentos de autenticación
  2. En las horas posteriores a la expiración:

    • Los trabajos programados (canalizaciones, despliegues) fallan en la siguiente ejecución
    • Es posible que los usuarios interactivos no noten hasta que intenten la siguiente operación
  3. Después de la revocación (inmediato):

    • Todas las sesiones activas finalizan
    • Se rechazan todas las nuevas solicitudes que utilicen ese PAT

Estrategias de prevención proactivas

Para evitar interrupciones del servicio, siga estos procedimientos:

  • Regenerar temprano: cree una nueva PAT al menos 7 días antes de la expiración y, a continuación, pruebe y actualice todas las integraciones antes de que expire la antigua.
  • Automatización de la supervisión: use las API de administración del ciclo de vida de PAT para comprobar mediante programación las fechas de expiración.
  • Escalone los periodos de validez de los PAT: no deje que todos los PAT caduquen el mismo día. Rótelas trimestralmente en distintos intervalos.
  • Documente el uso de los PAT: mantenga una lista de dónde se usa cada PAT (canalización, script, integración) para poder actualizarlos durante la rotación.

Si un PAT expira inesperadamente

Si experimenta errores de autenticación, aquí se muestra cómo recuperar:

  1. Identificar el problema: compruebe si el PAT ha expirado revisando la página Tokens de acceso personal en la configuración del usuario o pida al administrador que compruebe el registro de auditoría.
  2. Crear un reemplazo: genere un nuevo PAT si los permisos permiten (consulte Crear un PAT).
  3. Actualizar todas las integraciones: reemplace el PAT anterior por el nuevo en:
    • Archivos de configuración de Git (.git/config)
    • Archivos YAML de pipeline
    • Agentes de construcción
    • Scripts e integraciones
    • Variables de entorno
  4. Probar la conectividad: ejecute una operación de prueba (p. ej., git clone, una llamada a la API) para comprobar que el nuevo PAT funciona.
  5. Revoque el PAT anterior: quítelo de su cuenta para reducir los riesgos de seguridad.

Para escenarios locales

En Azure DevOps Server, el comportamiento de expiración de PAT es el mismo, pero el impacto es local para el servidor y los servicios conectados.


Estrategia de rotación y renovación de PAT

La rotación periódica de las PAT reduce el riesgo de credenciales en peligro y le ayuda a cumplir las directivas de seguridad de la organización.

¿Por qué rotar los PAT?

  • Mitigación de infracciones: si un PAT se filtra, se pone en peligro o se roba, la limitación de su duración reduce la ventana de exposición.
  • Cumplimiento: muchos estándares de seguridad (SOC 2, ISO 27001, HIPAA) requieren rotación regular de credenciales.
  • Higiene: quita tokens sin usar o olvidados de su organización.
  • Auditabilidad: la rotación frecuente crea pistas de auditoría claras de los cambios de credenciales.

Aplique PAT de corta duración y establezca una estrategia de rotación basada en el tipo de PAT y el perfil de riesgo:

  • PAT personales: Rotar cada 90 días (como mínimo trimestralmente).
  • PAT de cuentas de servicio: Rotar cada 90 días con renovación automática siempre que sea posible para evitar interrupciones del servicio.
  • PAT con privilegios o de alto alcance (por ejemplo, utilizados para infraestructuras críticas): rotar cada 30 días para mayor seguridad.
  • Baja de empleados: revocar inmediatamente los PAT cuando un miembro del equipo experimente cualquiera de los siguientes cambios de estado:
    • Terminación o salida
    • Transferencia a otro equipo u organización
    • Permiso de ausencia
    • Cambio de rol o cambio de responsabilidad

Estrategia a largo plazo: Migración de PAT a autenticación más sólida

Microsoft recomienda reducir el uso de PAT en favor de métodos de autenticación más seguros y auditables. Siempre que sea posible, migre a:

  • tokens de Microsoft Entra: tiempo limitado, compatible con actualizaciones y auditables a través de Entra ID
  • Identidades administradas: para servicios hospedados Azure (App Service, Functions, Container Apps)
  • Entidades de servicio — Para escenarios entre inquilinos o ajenos a Azure
  • OAuth 2.0 con Microsoft Entra: para integraciones basadas en explorador y aplicaciones de terceros

Ventajas de la migración:

  • Superficie expuesta a ataques reducida: elimina las credenciales estáticas de larga duración.
  • Mejor auditabilidad: los registros de auditoría de Entra ID nativos realizan un seguimiento de cada autenticación
  • Ciclo de vida automatizado: los tokens expiran de forma predeterminada; no se requiere rotación manual
  • Compatibilidad con el acceso condicional: aplicar directivas de seguridad para toda la organización

Para obtener más información sobre las alternativas de autenticación, consulte autenticación de Microsoft Entra y entidades de servicio e identidades administradas.

Flujo de trabajo de rotación

Siga estos pasos para rotar un PAT sin interrumpir los servicios:

Paso 1: Crear el nuevo PAT

  1. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.
  2. Seleccione + New Token (+ Nuevo token).
  3. Escriba el mismo nombre que el token anterior (para facilitar el seguimiento).
  4. Establezca la expiración en 90 días a partir de hoy.
  5. Selecciona exactamente los mismos ámbitos que los del token anterior.
  6. Seleccione Crear y copie el nuevo token inmediatamente (no se mostrará de nuevo).

Paso 2: Probar el nuevo PAT

Antes de retirar el token de acceso personal anterior, compruebe que el nuevo funciona correctamente:

# For Git (replace with your URL and new PAT)
git clone https://<user>:<new-pat>@dev.azure.com/<org>/<project>/_git/<repo>

# For REST API
curl -u :<new-pat> https://dev.azure.com/<org>/_apis/projects

Paso 3: Actualizar todas las integraciones

Para cada servicio o herramienta que use el PAT anterior:

Integration Método de actualización
Credencial de Git Actualiza .git/config o Git Credential Manager
YAML del pipeline Actualizar la conexión de servicio o la referencia de variable
Script/herramienta Actualizar archivo de configuración o variable de entorno
Azure Artifacts Actualice nuget.config, .npmrc o el proveedor de credenciales
Agente de compilación Actualización de la configuración del agente a través de la interfaz de usuario web

Ejemplo: Actualización de una variable de canalización

# Before
- script: npm install
  env:
    NPM_TOKEN: $(old-pat-variable)

# After
- script: npm install
  env:
    NPM_TOKEN: $(new-pat-variable)

Paso 4: Comprobar la funcionalidad

Después de actualizar cada integración, pruóbelo:

  • Ejecute un trabajo de canalización.
  • Ejecute un script manualmente.
  • Intente una operación de Git.
  • Compruebe las llamadas API.

Paso 5: Revocar el PAT antiguo

Una vez actualizadas y probadas todas las integraciones, revoque el pat anterior:

  1. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.
  2. Seleccione el PAT antiguo.
  3. Seleccione Revocar y confirmar.

Escenario de rotación: baja de un miembro del equipo

Cuando un miembro del equipo deja:

  1. Acción inmediata (día de salida):

    • El administrador revoca todos sus PAT desde Configuración de la organización > Seguridad > Tokens de acceso personal
    • El administrador comprueba el registro de auditoría de los PAT creados por este usuario
    • Cualquier servicio que use su PAT deja de funcionar inmediatamente (como era de esperar)
  2. En un plazo de 1 semana:

    • Los equipos que usan el PAT de esa persona deben cambiar a una cuenta de servicio compartida o a un nuevo PAT
    • Actualización de todos los scripts, canalizaciones e integraciones
  3. En curso:

    • Revise semanalmente los registros de auditoría en busca de PAT huérfanos

Automatización de la rotación con PAT Lifecycle Management API

Para implementaciones a gran escala, rote los PAT de forma programática:

import requests
from datetime import datetime, timedelta

# 1. Get PAT metadata (using Entra token)
org_url = "https://dev.azure.com/myorg"
entra_token = "YOUR_ENTRA_TOKEN"

response = requests.get(
    f"{org_url}/_apis/tokens/pats",
    headers={"Authorization": f"Bearer {entra_token}"},
    params={"api-version": "7.1-preview.1"}
)
pats = response.json()["value"]

# 2. Find PATs expiring in 7 days
expiring_soon = [
    pat for pat in pats 
    if (datetime.fromisoformat(pat["expiresOn"].replace("Z", "+00:00")) 
        - datetime.now().astimezone()).days <= 7
]

# 3. Create new PATs for expiring ones
for old_pat in expiring_soon:
    new_pat_payload = {
        "displayName": old_pat["displayName"],
        "scope": old_pat["scope"],
        "targetAccounts": old_pat["targetAccounts"],
        "validFrom": datetime.now().isoformat(),
        "validTo": (datetime.now() + timedelta(days=90)).isoformat(),
    }
    
    # Create new PAT
    new_response = requests.post(
        f"{org_url}/_apis/tokens/pats",
        json=new_pat_payload,
        headers={"Authorization": f"Bearer {entra_token}"},
        params={"api-version": "7.1-preview.1"}
    )
    new_pat = new_response.json()
    print(f"Created new PAT: {new_pat['patToken']} (save securely)")
    
    # TODO: Update integrations with new PAT
    # TODO: Test new PAT
    # TODO: Revoke old PAT after verification

print(f"\nRotated {len(expiring_soon)} PATs")

Registro de auditoría: seguimiento de la creación y revocación de PAT

Los administradores de la organización y los equipos de seguridad deben supervisar la actividad de PAT para el cumplimiento, la solución de problemas y la detección de amenazas.

Dónde buscar registros de auditoría de PAT

  1. Vaya a su organización: https://dev.azure.com/<org>
  2. Seleccione Configuración de la organización.
  3. Seleccione Registro de auditoría.
  4. Use filtros para buscar eventos PAT.
  1. Vaya a su colección de proyectos de Azure DevOps Server.
  2. Seleccione Configuración de recopilación.
  3. Seleccione Registro de auditoría.
  4. Use filtros para buscar eventos PAT.

Filtrado de eventos PAT

En el registro de auditoría, filtre las actividades relacionadas con PAT:

Tipo de evento Descripción Indica
PatCreated Se creó un nuevo PAT Nueva credencial emitida
PatModified El ámbito o la expiración de un PAT han cambiado Credencial actualizada o renovada
PatRegenerated Se ha regenerado (rotado) un PAT existente Token antiguo invalidado, nuevo emitido
PatRevoked Se revocó un PAT Credencial invalidada (efecto inmediato)
PatInactiveRevoked Se revocó automáticamente una PAT por inactividad Se ha eliminado una credencial caducada

Lectura de entradas del registro de auditoría

Cada entrada del registro de auditoría contiene:

  • Marca de tiempo: cuando se produjo la acción
  • Usuario: Quién realizó la acción (o "Sistema" para la revocación automática)
  • Evento: Tipo de acción PAT
  • Detalles: Id. de PAT afectado, ámbito, organización (si está disponible)
  • Dirección IP: origen de la acción (para la investigación de amenazas)

Retención del registro de auditoría

  • Azure DevOps Services: registros de auditoría retenidos durante 90 días de forma predeterminada (los administradores pueden configurar esta configuración)
  • Azure DevOps Server: la directiva de retención varía según la configuración de SQL Server (normalmente de 1 a 2 años)

Ejemplo: Investigación de un PAT huérfano

Supongamos que encuentras un PAT antiguo que sigue activo, pero no debería estarlo:

  1. Anote el ID de PAT de su lista de tokens activos.
  2. Busque en el registroPatCreated de auditoría los eventos con ese identificador.
  3. Revise la entrada de creación: Quién la creó, cuándo, qué organización.
  4. Comprobar el uso: si PatModified existen eventos o PatRegenerated , el token estaba en uso activo.
  5. Comprobar la revocación: si no hay ningún PatRevoked evento, el PAT sigue siendo válido.
  6. Tomar medidas: Revoque el PAT si ya no es necesario, o pídale al propietario que lo rote.

Procedimientos recomendados para la supervisión de auditoría

  • Revise mensualmente los eventos de PAT: identifique los tokens huérfanos o sospechosos.
  • Establecer alertas: si su organización usa Azure Monitor, alerta sobre PatCreated eventos o PatRevoked .
  • Cumplir con las directivas de retención: exportar y archivar los registros de auditoría según sus requisitos de cumplimiento.
  • Seguimiento por usuario: supervise qué usuarios crean más PAT (puede indicar prácticas de riesgo).
  • Investigar anomalías:
    • Eventos inesperados PatCreated fuera del horario comercial.
    • Varios PatRevoked eventos para el mismo usuario (posible infracción de cuenta).
    • PatCreated desde direcciones IP inusuales.

Acceso mediante programación a los registros de auditoría (API REST)

Los administradores pueden consultar el registro de auditoría a través de la API REST:

# List recent audit log events (last 10)
curl -u :<entra-token> \
  "https://dev.azure.com/<org>/_apis/audit/auditlog?api-version=7.1-preview.1" \
  | jq '.value[] | select(.eventType | contains("Pat"))'

Políticas de expiración de PAT de la organización

Los administradores de la organización pueden aplicar una duración mínima de PAT y restringir la creación de tokens para evitar un acceso demasiado amplio. Estas políticas garantizan el cumplimiento de las normas de seguridad y reducen el riesgo de credenciales comprometidas de larga duración.

  1. Vaya a Configuración de la organización>Directivas (o Seguridad>tokens de acceso personal).
  2. Seleccione la configuración para:
    • Restricciones de PAT de alcance completo: impida que los usuarios creen tokens con acceso completo a la organización.
    • Restricciones globales de PAT: restrinja a los usuarios la creación de tokens que acceden a varias organizaciones.
    • Restricciones de duración del token: establezca la duración máxima de PAT (por ejemplo, sin tokens que duren más de 90 días).

Para obtener más información, consulte Administración de PAT con directivas para administradores.


API de administración del ciclo de vida de PAT

Las API de gestión del ciclo de vida de PAT pueden ayudar cuando mantener grandes volúmenes de tokens mediante la interfaz de usuario deja de ser viable. La administración de la rotación de PAT también abre mediante programación la oportunidad de rotar los PAT con regularidad y acortar sus duraciones predeterminadas. Puede configurar la aplicación Python de ejemplo con el inquilino de Microsoft Entra y la organización de Azure DevOps.

Algunas cosas que hay que tener en cuenta sobre estas API:

  • Tokens de acceso de Microsoft Entra son necesarios para acceder a esta API. Use una forma más segura de autenticación al usar nuevos tokens.
  • Solo los usuarios o aplicaciones que usan un flujo "en nombre del usuario" pueden generar PAT. Las aplicaciones que usan flujos "en nombre de la aplicación" o flujos de autenticación que no emiten Microsoft Entra tokens de acceso no son válidos para su uso con esta API. Por lo tanto, los principales de servicio o las identidades administradas no pueden crear ni administrar PATs.
  • Anteriormente, las API de administración del ciclo de vida de PAT solo admitieron el user_impersonation ámbito, pero ahora el vso.pats ámbito está disponible y es el ámbito recomendado para usarlo con estas API. Restrinja todas las aplicaciones que anteriormente utilizaban user_impersonation para llamar a estas API.

Uso del CLI de Azure para la administración de PAT

La az devops CLI proporciona comandos para administrar PAT sin escribir scripts personalizados. Para obtener la referencia completa de la CLI, consulte Azure DevOps CLI e inicie sesión a través de PAT.

# List all your PATs
az devops user list

# Create a new PAT with limited scope
az devops token list \
  --organization https://dev.azure.com/myorg \
  --user <user-id>

# Example: Using az devops commands in a rotation script
# Sign in with Entra token (recommended)
az login --use-device-code

# List organization members (for bulk admin operations)
az devops security group membership list \
  --organization https://dev.azure.com/myorg \
  --group-id <admin-group-id>

Uso de la API REST para la rotación automatizada

Para la administración de PAT a gran escala, use puntos de conexión de API REST.

# List all PATs for a user (requires Entra token)
curl -X GET \
  -H "Authorization: Bearer <entra-token>" \
  "https://dev.azure.com/<org>/_apis/tokens/pats?api-version=7.1-preview.1"

# Create a new PAT
curl -X POST \
  -H "Authorization: Bearer <entra-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "CI/CD PAT",
    "scope": "vso.build vso.release_manage vso.code_write",
    "validTo": "2026-10-07T00:00:00.000Z"
  }' \
  "https://dev.azure.com/<org>/_apis/tokens/pats?api-version=7.1-preview.1"

# Revoke a PAT by ID
curl -X DELETE \
  -H "Authorization: Bearer <entra-token>" \
  "https://dev.azure.com/<org>/_apis/tokens/pats/<pat-id>?api-version=7.1-preview.1"

Formato PAT

Las cadenas PAT usan un formato específico diseñado para mejorar la detección de secretos en las herramientas de detección de PAT filtradas y ofertas de partners. El formato incluye bits identificables que mejoran la tasa de detección de falsos positivos y permiten la mitigación más rápida de las fugas detectadas.

  • Los tokens tienen 84 caracteres, con 52 caracteres siendo datos aleatorios, lo que mejora la entropía general. Los tokens son resistentes a los ataques por fuerza bruta.
  • Los tokens emitidos por Azure DevOps incluyen una firma de AZDO fija en las posiciones 76-80.

Si se integra con PAT y tiene integrada la validación de PAT, asegúrese de que el código de validación admite la longitud del token de 84 caracteres.

Mejores prácticas para el uso de PAT

Considere alternativas

  • Adquiera un token de Microsoft Entra a través de la CLI de Azure para las solicitudes no planificadas en lugar de crear un PAT de larga duración.
  • Use administradores de credenciales como Git Credential Manager o Azure Artifacts Credential Manager para simplificar la administración de credenciales, con la autenticación establecida en oauth o tokens de Microsoft Entra.

Creación de PAT

  • No coloques tus datos personales en el nombre PAT. No cambie el nombre del PAT para incluir algunos o todos los tokens de PAT reales.
  • Evite crear PAT globales a menos que sea necesario en todas las organizaciones.
  • Use un token diferente por flujo o caso de uso.
  • Seleccione solo los ámbitos mínimos necesarios para cada PAT. Conceda el privilegio mínimo necesario para la tarea específica. Cree PAT independientes con ámbitos limitados para distintos flujos de trabajo en lugar de usar un único token de ámbito amplio. Si el PAT necesita permisos de solo lectura, no proporcione permisos de escritura hasta que sea necesario.
  • Mantenga corta la duración de PAT.

Administración de PAT

  • ¡No compartas tus PAT!
  • Store sus PAT en una solución de administración de claves segura, como Azure Key Vault.
  • Rote o regenere periódicamente sus PAT (Tokens de Acceso Personal) a través de la interfaz de usuario o mediante las API de administración del ciclo de vida de PAT.
  • Revoque los PAT cuando ya no sean necesarios.

Para administradores

  • Los administradores de inquilino deben establecer directivas para restringir:
    • La creación de PAT globales (exigir tokens con ámbito de organización)
    • La creación de PAT de ámbito completo (exigir ámbitos limitados)
    • PAT de larga duración (imponer una vigencia máxima de 30 a 90 días)
  • Los administradores de inquilinos pueden revocar PAT para los usuarios de su organización si el PAT está comprometido.
  • Los administradores de una organización deben restringir la creación de PAT en una organización y, siempre que sea posible, migrar los servicios para que usen la autenticación de Microsoft Entra en lugar de los PAT.

Tutorial de auditoría de administración: Administración de todos los PAT de la organización

Los administradores de la organización pueden auditar y administrar todas las PAT de toda la organización para aplicar directivas de seguridad e identificar tokens de riesgo.

Paso 1: Acceder a la página de administración de PAT de la organización

  1. Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal
  2. De forma predeterminada, puedes ver tus propios PAT
  3. Seleccione Todas las PAT en la lista desplegable para ver los tokens en todos los usuarios.
  1. Vaya a Configuración de la colección>Seguridad>Tokens de acceso personal
  2. Seleccione Todas las PAT para ver todos los tokens de la colección.

Paso 2: Filtrado e identificación de tokens de alto riesgo

Busque:

  • Tokens de larga duración (expiración > de 90 días): candidatos para rotación o revocación
  • Tokens de ámbito completo (ámbito = todo): mayor riesgo de seguridad; aplica directivas para restringirlos
  • Tokens globales (acceso a varias organizaciones): evita estos tokens; considera alternativas con ámbito de organización
  • Tokens inactivos (sin actividad reciente): se pueden revocar de forma segura
  • Tokens creados fuera del horario comercial: posible incidente de seguridad

Paso 3: Revisión del registro de auditoría de eventos PAT

  1. Vaya a Configuración de la organización>Registro de auditoría
  2. Filtrar por tipo de evento:
    • PatCreated : busque cuándo se emitieron los tokens.
    • PatRevoked : realizar un seguimiento de cuándo se deshabilitaron los tokens
    • PatRegenerated — Supervisar la actividad de rotación
  3. Exportación de registros de auditoría para informes de cumplimiento (retención de 90 días)

Paso 4: Revocar tokens en peligro o sin usar

Si encuentra un PAT en peligro o innecesario:

  1. Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal
  2. Seleccione Todas las PAT
  3. Seleccione el PAT que desea revocar.
  4. Seleccione Revocar y confirmar.
  5. Notificar al propietario del token que cree un PAT de reemplazo si es necesario.

Paso 5: Aplicación de directivas organizativas

  1. Vaya a Configuración de la organización>Directivas
  2. Configurar:
    • Restringir la creación de PAT de ámbito completo — Exigir tokens con ámbito
    • Restringir la creación global de PAT — Requerir tokens con ámbito de la organización
    • Establecimiento de la duración máxima de PAT : ejemplo: ningún token puede superar los 90 días.
  3. Documentar la directiva en el manual de seguridad o wiki

Ejemplo: revocación masiva para la baja de empleados

Cuando un usuario salga, revoque todos sus PAT:

  1. Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal>Todos los PAT
  2. Filtrar por el nombre o el correo electrónico del usuario que sale
  3. Seleccione todos sus PAT
  4. Seleccione Revocar (acción masiva) y confirme.

Todas sus PAT se revocan inmediatamente, lo que impide que cualquier servicio use esas credenciales.

Preguntas más frecuentes

Q. ¿Por qué no puedo editar o volver a generar un PAT con ámbito en una sola organización?

A. Inicie sesión en la organización donde se encuentra el ámbito de su PAT. Puede ver sus PAT cuando haya iniciado sesión en cualquier organización en el mismo Microsoft Entra ID cambiando el filtro Alcance de acceso. Solo usted puede editar tokens con ámbito organizacional cuando haya iniciado sesión en la organización específica.

Q. ¿Qué ocurre con un PAT si una cuenta de usuario está deshabilitada?

A. Cuando se quita un usuario de Azure DevOps, el PAT se invalida en un plazo de una hora. Si su organización está conectada a Microsoft Entra ID, el PAT también se invalida en Microsoft Entra ID porque pertenece al usuario. Rote el PAT a otra cuenta de usuario o servicio para mantener los servicios en ejecución.

Q. ¿Puedo usar PAT con todas las API rest de Azure DevOps?

A. No. Puede usar PAT con la mayoría de las API REST de Azure DevOps, pero organizaciones y perfiles y las API de ciclo de vida de administración de PAT solo admiten tokens Microsoft Entra.

Q. ¿Qué ocurre si se comprueba accidentalmente mi PAT en un repositorio público en GitHub?

A. Azure DevOps examina los PAT filtrados en repositorios de GitHub públicos. Cuando se detecta, Azure DevOps notifica al propietario del token y registra el evento en el registro de audit. A menos que se deshabiliten, los PAT filtrados se revocan automáticamente. Para obtener más información, consulte Revocación automática de PAT filtrados.

Q. ¿Puedo usar un token de acceso personal como clave de API para publicar paquetes NuGet en una fuente de Azure Artifacts mediante la línea de comandos dotnet/nuget.exe?

A. No. Azure Artifacts no admite pasar un PAT como una clave de API. Al usar un entorno de desarrollo local, instale el proveedor de credenciales Azure Artifacts para autenticarse con Azure Artifacts. Para obtener más información, vea los ejemplos siguientes: dotnet y NuGet.exe. Si desea publicar los paquetes mediante Azure Pipelines, use la tarea Autenticación de NuGet para autenticarse con la fuente. Para obtener más información, vea el ejemplo de Publish NuGet packages with Azure Pipelines (YAML/Classic).

Q. ¿Por qué dejó de funcionar mi PAT?

A. 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, pruebe primero a iniciar sesión en su organización y complete la solicitud de autenticación completa. Si el PAT sigue sin funcionar, compruebe si ha expirado.

Para Azure DevOps Server, habilitar IIS Basic Authentication invalida el uso de PAT. Mantenga desactivada la autenticación básica de IIS.

Q. ¿Cómo se crean tokens de acceso que no están vinculados a un usuario específico?

A. Las PAT siempre están asociadas a la identidad de usuario que las creó. Para usar tokens no vinculados a un usuario específico, use los tokens de Microsoft Entra emitidos por un principal de servicio de la aplicación o una identidad administrada. En el caso de las canalizaciones, use conexiones de servicio para autenticarse sin credenciales específicas del usuario. Obtenga más información sobre reducir el uso de PAT en Azure DevOps.

Q. ¿Cómo puedo volver a generar o rotar los PAT a través de la API? Vi esa opción en la interfaz de usuario, pero no veo un método similar en la API.

A. La funcionalidad Regenerar de la interfaz de usuario realiza realmente varias acciones, que puede replicar a través de una API.

Para rotar el PAT, siga estos pasos:

  1. Recupere los metadatos de PAT mediante una llamada GET .
  2. Cree una nueva PAT mediante una llamada POST con el identificador de PAT anterior.
  3. Revoque el PAT antiguo mediante una llamada DELETE .

Q. ¿Cuánto tiempo permanece visible un PAT expirado, revocado o inactivo en la lista de tokens de Azure DevOps?

A. No puede usar ni volver a generar PAT que hayan expirado o revocado. La pantalla mantiene estos tokens inactivos visibles durante varios meses después de la expiración o revocación antes de quitarlos automáticamente.

Q. ¿Por qué veo un mensaje de "Necesidad de aprobación de administrador" cuando intento usar una aplicación de Microsoft Entra para llamar a las API de administración del ciclo de vida de PAT?

A. Las directivas de seguridad del inquilino requieren consentimiento del administrador para que las aplicaciones puedan acceder a los recursos de la organización. Póngase en contacto con el administrador de inquilinos.

Uso de la inteligencia artificial para administrar tokens de acceso personal

Si configura el Azure DevOps servidor MCP, puede usar asistentes de IA para administrar y revisar los tokens de acceso personal mediante mensajes de lenguaje natural. El servidor MCP proporciona al asistente de INTELIGENCIA ARTIFICIAL acceso seguro a los datos de Azure DevOps, por lo que puede enumerar tokens, comprobar fechas de expiración y revisar ámbitos de token sin navegar por la interfaz web.

Ejemplos de instrucciones para administrar tokens de acceso personal

tarea Mensaje de ejemplo
Creación de un token con privilegios mínimos Help me create a PAT for <organization-name> that only has read access to work items and code in the <project-name> project, valid for 30 days
Rotar tokens que están por expirar Show me all my PATs in <organization-name> expiring in the next 14 days, their scopes, and what I need to update when I regenerate them
Auditar la higiene de mis tokens List all my active PATs in <organization-name>, when each was last used, and flag any that have broader scopes than necessary
Solución de errores de autenticación My PAT stopped working for Git push to <repo-name> in <project-name> - help me check if it expired, has the right scope, or if a policy is blocking it
Buscar tokens para reemplazar por Entra auth Show me which of my PATs in <organization-name> are used for interactive scenarios that could switch to Microsoft Entra authentication instead
Configuración de una conexión del servicio CI/CD What's the minimum PAT scope needed for an Azure Pipelines service connection to <organization-name> that runs builds and deploys releases?

Sugerencia

Si usa Visual Studio Code, el modo agente resulta especialmente útil para revisar y auditar las PAT, incluyendo la identificación de tokens que necesitan rotación o que tienen ámbitos excesivos.

  • Para evitar el uso de datos obsoletos o almacenados en caché de consultas anteriores, añada Do not use previously fetched data a su indicación.