Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
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 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.
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.Cuando haya terminado, copie el token y almacénelo en una ubicación segura. Para su seguridad, no se vuelve a mostrar.
Inicie sesión en el portal web de Azure DevOps Server (
https://{server}/{collection}ohttp://{server}:{port}/tfs/{collection}).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 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.
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.Cuando haya terminado, copie el token y almacénelo en una ubicación segura. Para su seguridad, no se vuelve a mostrar.
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.
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 YourMachineal 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 appcuando usted o un administrador configuran una implementación de aplicación web de Azure App Service. - Se crea un token denominado
WebAppLoadTestCDIntTokencuando usted o un administrador configuran pruebas de carga web como parte de una canalización. - Se crea un token denominado
Microsoft Teams Integrationcuando se configura una extensión de mensajería de integración de Microsoft Teams.
Si cree que la situación es grave:
- Revoque el PAT (y cambie la contraseña) si sospecha que existe en error.
- Consulte con su administrador si es usuario de Microsoft Entra para verificar si una fuente o ubicación desconocida ha accedido a su organización.
- Consulte las preguntas más frecuentes sobre check-ins accidentales de PAT en repositorios de GitHub públicos.
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.
En la página principal, abra la configuración de usuario
y seleccione Tokens de acceso personal.Seleccione el token que desea modificar y, a continuación, seleccione 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
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:
En la página principal, abra la configuración de
usuario y seleccione Tokens de acceso personal.En Seguridad, seleccione Tokens de acceso personal. Seleccione el token para el que desea revocar el acceso y, a continuación, seleccione Revocar.
En el cuadro de diálogo Confirmación , seleccione Revocar.
¿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
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
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
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:
- 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.
- Crear un reemplazo: genere un nuevo PAT si los permisos permiten (consulte Crear un PAT).
-
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
- Archivos de configuración de Git (
-
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. - 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.
Cadencia de rotación recomendada
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 la cuenta de servicio: Gire cada 90 días con la renovación automatizada siempre que sea posible para evitar interrupciones del servicio.
- PAT con privilegios o de alto ámbito (por ejemplo, se usan para la infraestructura crítica): gire cada 30 días para aumentar la seguridad.
-
Retirada: Revoque inmediatamente los PAT cuando un miembro del equipo se somete a 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
- En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.
- Seleccione + New Token (+ Nuevo token).
- Escriba el mismo nombre que el token anterior (para facilitar el seguimiento).
- Establezca la expiración en 90 días a partir de hoy.
- Seleccione los mismos ámbitos que el token anterior.
- 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 de tubería | Actualizar la conexión de servicio o la referencia de variable |
| Script/herramienta | Actualizar archivo de configuración o variable de entorno |
| Azure Artifacts | Actualizar nuget.config, .npmrc o 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:
- En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.
- Seleccione el PAT antiguo.
- Seleccione Revocar y confirmar.
Escenario de rotación: retirada de un miembro del equipo
Cuando un miembro del equipo deja:
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)
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
En curso:
- Revisión semanal de los registros de auditoría para 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
- Vaya a su organización:
https://dev.azure.com/<org> - Seleccione Configuración de la organización.
- Seleccione Registro de auditoría.
- Use filtros para buscar eventos PAT.
- Vaya a su colección de proyectos de Azure DevOps Server.
- Seleccione Configuración de recopilación.
- Seleccione Registro de auditoría.
- 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 un PAT existente (rotado) | Token antiguo invalidado, nuevo emitido |
PatRevoked |
Se revocó un PAT | Credencial invalidada (efecto inmediato) |
PatInactiveRevoked |
Se revocó automáticamente una PAT por inactividad | Credencial caducada eliminada |
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:
- Anote el ID de PAT de su lista de tokens activos.
-
Busque en el registro
PatCreatedde auditoría los eventos con ese identificador. - Revise la entrada de creación: Quién la creó, cuándo, qué organización.
-
Comprobar el uso: si
PatModifiedexisten eventos oPatRegenerated, el token estaba en uso activo. -
Comprobar la revocación: si no hay ningún
PatRevokedevento, el PAT sigue siendo válido. - 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
PatCreatedeventos oPatRevoked. - 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
PatCreatedfuera del horario comercial. - Varios
PatRevokedeventos para el mismo usuario (posible infracción de cuenta). -
PatCreateddesde direcciones IP inusuales.
- Eventos inesperados
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.
- Vaya a Configuración de la organización>Directivas (o Seguridad>tokens de acceso personal).
- 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 elvso.patsámbito está disponible y es el ámbito recomendado para usarlo con estas API. Restrinja todas las aplicaciones que anteriormente utilizabanuser_impersonationpara 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
AZDOfija 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
oautho 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 inquilinos deben establecer directivas para restringir:
- Creación global de PAT (requiere tokens con ámbito de organización)
- Creación de PAT de ámbito completo (requerir á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
- Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal
- De forma predeterminada, verá sus propios PAT.
- Seleccione Todas las PAT en la lista desplegable para ver los tokens en todos los usuarios.
- Vaya a Configuración de la colección>Seguridad>Tokens de acceso personal
- 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 = todos): mayor riesgo de seguridad; aplicar directivas para restringir
- Tokens globales (acceso a varias organizaciones): evite estos tokens; considere alternativas limitadas a una 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
- Vaya a Configuración de la organización>Registro de auditoría
- 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
-
- 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:
- Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal
- Seleccione Todas las PAT
- Seleccione el PAT que desea revocar.
- Seleccione Revocar y confirmar.
- Notificar al propietario del token que cree un PAT de reemplazo si es necesario.
Paso 5: Aplicación de directivas organizativas
- Vaya a Configuración de la organización>Directivas
- Configurar:
- Restringir la creación de PAT de ámbito completo — Requerir tokens de acceso con ámbito limitado
- 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.
- Documentar la directiva en el manual de seguridad o wiki
Ejemplo: Revocación masiva para dar de baja usuarios
Cuando un usuario salga, revoque todos sus PAT:
- Vaya a Configuración de la organización>Seguridad>Tokens de acceso personal>Todos los PAT
- Filtrar por el nombre o el correo electrónico del usuario que sale
- Seleccione todos sus PAT
- 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:
- Recupere los metadatos de PAT mediante una llamada GET .
- Cree una nueva PAT mediante una llamada POST con el identificador de PAT anterior.
- 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 dataa su indicación.