# Tokens de acceso personal


Los tokens de acceso personal (PAT) proporcionan una alternativa segura a las contraseñas para la autenticación en la CLI de Docker. Usa los PAT para autenticar sistemas automatizados, canalizaciones (pipelines) de CI/CD y herramientas de desarrollo sin exponer tu contraseña de Docker Hub.

## Beneficios clave

Los PAT ofrecen ventajas de seguridad significativas en comparación con la autenticación por contraseña:

- **Seguridad mejorada:** Investiga el uso del token, deshabilita tokens sospechosos y evita acciones administrativas que podrían comprometer tu cuenta si tu sistema se ve comprometido.
- **Mejor automatización:** Emite múltiples tokens para diferentes integraciones, cada uno con permisos específicos, y revócalos de forma independiente cuando ya no sean necesarios.
- **Compatibilidad con autenticación de dos factores:** Obligatorio cuando tienes activada la autenticación de dos factores, proporcionando un acceso seguro a la CLI sin saltarse la protección de la 2FA.
- **Seguimiento de uso:** Monitorea cuándo y cómo se usan los tokens para identificar posibles problemas de seguridad o automatizaciones no utilizadas.

## ¿Quién debería usar tokens de acceso personal?

Usa los PAT para estos escenarios comunes:

- **Flujos de trabajo de desarrollo:** Autentica la CLI de Docker durante el desarrollo local.
- **Canalizaciones de CI/CD:** Automatiza la compilación y el despliegue de imágenes en sistemas de integración continua.
- **Scripts de automatización:** Realiza envíos (`push`) y descargas (`pull`) de imágenes en scripts de despliegue o respaldo automatizados.
- **Herramientas de desarrollo:** Integra el acceso a Docker Hub con IDEs, herramientas de gestión de contenedores o sistemas de monitoreo.
- **Autenticación de dos factores:** Requerido para el acceso a la CLI cuando la 2FA está activada.

> [!NOTE]
>
> Para la automatización a nivel de toda la organización, considera los [tokens de acceso de organización](/enterprise/security/access-tokens/) que no están vinculados a cuentas de usuario individuales.

## Crear un token de acceso personal

> [!IMPORTANT]
>
> Trata los tokens de acceso como contraseñas y mantenlos seguros. Almacena los tokens en gestores de credenciales y nunca los subas a repositorios de código fuente.

Para crear un token de acceso personal:

1. Inicia sesión en [Docker Home](https://app.docker.com/).
2. Selecciona tu avatar en la esquina superior derecha y en el menú desplegable selecciona **Account settings** (Configuración de la cuenta).
3. Selecciona **Personal access tokens**.
4. Selecciona **Generate new token**.
5. Configura tu token:
   - **Description** (Descripción): Usa un nombre descriptivo que indique el propósito del token.
   - **Expiration date** (Fecha de expiración): Configura una fecha de expiración basada en tus políticas de seguridad.
   - **Access permissions** (Permisos de acceso): **Read** (Lectura), **Write** (Escritura) o **Delete** (Eliminación).
6. Selecciona **Generate**. Copia el token que aparece en pantalla y guárdalo. No podrás recuperar el token una vez que salgas de la pantalla.

## Usar tokens de acceso personal

Inicia sesión en la CLI de Docker usando tu token de acceso personal:

```console
$ docker login --username <YOUR_USERNAME>
Password: [pega tu PAT aquí]
```

Cuando se te solicite una contraseña, ingresa tu token de acceso personal en lugar de tu contraseña de Docker Hub.

## Modificar tokens de acceso personal

> [!NOTE]
>
> No puedes editar la fecha de expiración de un token de acceso personal existente. Debes crear un nuevo PAT si necesitas establecer una nueva fecha de expiración.

Puedes renombrar, activar, desactivar o eliminar un token según sea necesario. Puedes administrar tus tokens en la configuración de tu cuenta.

1. Inicia sesión en [Docker Home](https://app.docker.com/login).
2. Selecciona tu avatar en la esquina superior derecha y en el menú desplegable selecciona **Account settings**.
3. Selecciona **Personal access tokens**.
   - Esta página muestra una vista general de todos tus tokens y detalla si el token se generó manualmente o si se [generó automáticamente](#tokens-generados-automaticamente). También puedes ver el alcance de los tokens, qué tokens están activos e inactivos, cuándo se crearon, cuándo se usaron por última vez y su fecha de expiración.
4. Selecciona el menú de acciones en el extremo derecho de la fila del token, luego selecciona **Deactivate** o **Activate**, **Edit**, o **Delete** para modificar el token.
5. Después de editar el token, selecciona **Save token**.

## Tokens generados automáticamente

Docker Desktop crea automáticamente tokens de autenticación cuando inicias sesión, con estas características:

- **Creación automática:** Se generan cuando inicias sesión en Docker Desktop.
- **Permisos completos:** Incluyen acceso de lectura, escritura y eliminación (Read, Write, Delete).
- **Basado en la sesión:** Se eliminan automáticamente cuando expira la sesión de Docker Desktop.
- **Límites de cuenta:** Hasta 5 tokens generados automáticamente por cuenta.
- **Limpieza automática:** Los tokens más antiguos se eliminan cuando se crean nuevos.

Puedes eliminar manualmente los tokens generados automáticamente si lo necesitas, pero se volverán a crear cuando uses Docker Desktop.

## Política de uso justo

Al usar tokens de acceso personal, ten en cuenta que la creación excesiva de tokens puede resultar en limitaciones de velocidad (throttling) o cargos adicionales. Docker se reserva el derecho de imponer restricciones en cuentas con un uso excesivo de PAT para garantizar una asignación justa de recursos y mantener la calidad del servicio.

Las mejores prácticas para el uso justo incluyen:

- Reutiliza los tokens en casos de uso similares en lugar de crear muchos tokens de un solo propósito.
- Elimina regularmente los tokens que no utilices.
- Usa [tokens de acceso de organización](/enterprise/security/access-tokens/) para la automatización a nivel de toda la organización.
- Monitorea el uso de tokens para identificar oportunidades de optimización.

