Skip to main content

Administración de tokens de acceso personal

Puede usar un personal access token en lugar de una contraseña para autenticarse en GitHub en la línea de comandos o con la API.

Advertencia: Trata los tokens de acceso como si fueran contraseñas. Para obtener más información, consulte "Mantener protegidos los datos personal access tokens".

Acerca del personal access token

Personal access tokens son una alternativa al uso de contraseñas para la autenticación en GitHub Enterprise Cloud cuando se usa la API de GitHub o la línea de comandos.

El Personal access token está diseñado para acceder a los recursos de GitHub en tu nombre. Para acceder a los recursos en nombre de una organización, o en el caso de las integraciones de larga duración, debes usar una GitHub App. Para obtener más información, vea «Acerca de la creación de GitHub Apps».

Tipos de datos personal access tokens

GitHub admite actualmente dos tipos de personal access token: fine-grained personal access token y personal access tokens (classic). GitHub recomienda usar un fine-grained personal access token siempre que sea posible, en lugar de personal access tokens (classic).

Tanto fine-grained personal access tokens como personal access tokens (classic) están vinculados al usuario que los generó y se quedarán inactivos si el usuario pierde el acceso al recurso.

Los propietarios de una organización pueden establecer una directiva para restringir el acceso de personal access tokens (classic) a su organización, y los propietarios de una empresa pueden restringir el acceso de personal access tokens (classic) a la empresa u organizaciones propiedad de la empresa. Para obtener más información, vea «Establecimiento de una directiva de token de acceso personal en la organización».

Fine-grained personal access tokens

El Fine-grained personal access token tiene varias ventajas de seguridad con respecto a los personal access tokens (classic):

  • Cada token solo puede acceder a los recursos que pertenecen a un único usuario u organización.
  • Cada token solo puede acceder a repositorios específicos.
  • A cada token se le conceden permisos específicos, que ofrecen más control que los ámbitos concedidos a los personal access tokens (classic).
  • Cada token debe tener una fecha de expiración.
  • Los propietarios de la organización pueden requerir la aprobación de cualquier fine-grained personal access token que pueda acceder a los recursos de la organización.
  • Los propietarios de la empresa pueden requerir la aprobación de cualquier fine-grained personal access token que pueda acceder a los recursos de las organizaciones que pertenecen a la empresa.

Personal access tokens (classic)

Los Personal access tokens (classic) son menos seguros. Sin embargo, algunas características solo funcionarán con personal access tokens (classic):

  • Solo los personal access tokens (classic) tienen acceso de escritura para los repositorios públicos que no son de tu propiedad o de una organización de la que no eres miembro.
  • Solo los personal access tokens (classic) tienen acceso de escritura automáticamente para los repositorios internos que son propiedad de la empresa. Es necesario conceder acceso a los Fine-grained personal access token a los repositorios internos.
  • Los colaboradores externos solo pueden usar personal access tokens (classic) para acceder a los repositorios de la organización en los que son colaboradores.
  • Solo los personal access tokens (classic) pueden acceder a empresas. (Los Fine-grained personal access token puede acceder a organizaciones que son propiedad de empresas).
  • Algunos puntos de conexión de API REST solo están disponibles con un personal access tokens (classic). Para comprobar si un punto de conexión también admite fine-grained personal access token, consulta la documentación de ese punto de conexión o "Puntos de conexión disponibles para tokens de acceso personal específicos".

Si decide usar un personal access token (classic), tenga en cuenta que concederá acceso a todos los repositorios de las organizaciones a las que tiene acceso, así como a todos los repositorios personales de su cuenta personal.

Como precaución de seguridad, GitHub quita automáticamente el personal access token que no se ha usado durante un año. Para proporcionar más seguridad, te recomendamos que agregues una expiración a tu personal access token.

Mantener protegidos los datos personal access tokens

Los datos Personal access tokens son como contraseñas y comparten los mismos riesgos de seguridad inherentes. Antes de crear un nuevo personal access token, considere si tiene a su disposición un método de autenticación más seguro:

Si estas opciones no son posibles, y debes crear un personal access token, considera el uso de otro servicio de CLI para almacenar el token de forma segura.

Cuando use un personal access token en un script, puede almacenar su token como secreto y ejecutar su script a través de GitHub Actions. Para obtener más información, consulta "Uso de secretos en Acciones de GitHub". También puedes almacenar el token como un secreto de Codespaces y ejecutar el script en Codespaces. Para más información, consulta "Administración de secretos específicos de la cuenta para GitHub Codespaces".

Para más información sobre los procedimientos recomendados, consulta "Protección de las credenciales de API".

Creación de un fine-grained personal access token

Nota: Los Fine-grained personal access token están actualmente en versión beta y están sujetos a cambios. Para dejar comentarios, consulta el debate sobre los comentarios.

  1. Verifica tu dirección de correo electrónico, si todavía no lo has hecho. 1. En la esquina superior derecha de cualquier página, haga clic en la foto del perfil y, luego, en Settings (Configuración).

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. En la barra lateral izquierda, haz clic en Configuración del desarrollador.

  3. En la barra lateral izquierda, en Personal access token , haz clic en Tokens específicos.

  4. Haga clic en Generate new token (Generar nuevo token).

  5. En Nombre del token, escribe un nombre para el token.

  6. En Expiración, selecciona cuándo expirará el token.

  7. Opcionalmente, en Descripción, agrega una nota para describir el propósito del token.

  8. En Propietario del recurso, selecciona un propietario del recurso. El token solo podrá acceder a los recursos que pertenecen al propietario del recurso seleccionado. Las organizaciones a las que pertenezcas no aparecerán a menos que hayan optado por el uso de un fine-grained personal access token. Para obtener más información, consulta "Establecimiento de una directiva de token de acceso personal en la organización". Es posible que tengas que realizar un inicio de sesión único (SSO) de SAML si la organización seleccionada lo requiere y aún no tienes una sesión de SAML activa.

  9. Opcionalmente, si el propietario del recurso es una organización que requiere aprobación para el uso de un fine-grained personal access token, escribe una justificación para la solicitud en el cuadro que aparece debajo del propietario del recurso.

  10. En Acceso al repositorio, selecciona los repositorios a los que quieres que acceda el token. Debes elegir el acceso mínimo al repositorio que satisfaga tus necesidades. Los tokens siempre incluyen acceso de solo lectura a todos los repositorios públicos en GitHub.

  11. Si elegiste Solo repositorios seleccionados en el paso anterior, en la lista desplegable Repositorios seleccionados, elige los repositorios a los que quieres que acceda el token.

  12. En Permisos, selecciona los permisos que se concederán al token. En función del propietario del recurso y del acceso al repositorio que hayas especificado, hay permisos de repositorio, de organización y de cuenta. Debes elegir los permisos mínimos que necesites.

    El documento de referencia de la API REST para cada punto de conexión indica si el punto de conexión funciona con fine-grained personal access token e indica qué permisos son necesarios para que el token use el punto de conexión. Algunos puntos de conexión pueden requerir varios permisos y algunos puntos de conexión pueden requerir uno de varios permisos. Para obtener información general sobre los puntos de conexión de la API de REST a los que un fine-grained personal access token puede acceder con cada permiso, consulte "Permisos necesarios para los tokens de acceso personal específicos".

  13. Haga clic en Generar token.

Si seleccionaste una organización como propietario del recurso y la organización requiere aprobación para el fine-grained personal access token, el token se marcará como pending hasta que lo revise un administrador de la organización. El token solo podrá leer los recursos públicos hasta que se apruebe. Si eres propietario de la organización, tu solicitud se aprobará automáticamente. Para obtener más información, vea «Revisión y revocación de tokens de acceso personal en la organización».

Creación de un personal access token (classic)

Nota: Los propietarios de la organización pueden restringir el acceso del personal access token (classic) a la organización. Si intentas usar un personal access token (classic) para acceder a los recursos de una organización que ha deshabilitado el acceso del personal access token (classic), se producirá un error en la solicitud con una respuesta 403. En su lugar, debes usar una GitHub App, una OAuth app o un fine-grained personal access token.

Nota: Tu personal access token (classic) puede acceder a todos los repositorios a los que tengas acceso. GitHub recomienda usar en su lugar un fine-grained personal access token, que puedes restringir a repositorios específicos. En un Fine-grained personal access token también puedes establecer permisos específicos, en lugar de ámbitos amplios.

  1. Verifica tu dirección de correo electrónico, si todavía no lo has hecho. 1. En la esquina superior derecha de cualquier página, haga clic en la foto del perfil y, luego, en Settings (Configuración).

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. En la barra lateral izquierda, haz clic en Configuración del desarrollador.

  3. En la barra lateral izquierda, en Personal access token , haz clic en Tokens (clásicos) . 1. Selecciona Generar nuevo token y, luego, haz clic en Generar nuevo token (clásico) .

  4. En el campo "Nota", asigna un nombre descriptivo al token.

  5. Para conceder una expiración al token, selecciona Expiración y, a continuación, elige una opción predeterminada o haz clic en Personalizado para especificar una fecha.

  6. Selecciona los ámbitos que quieres concederle a este token. A fin de usar el token para acceder a repositorios desde la línea de comandos, seleccione repo. Un token sin alcances asignados solo puede acceder a información pública. Para obtener más información, vea «Ámbitos para las aplicaciones de OAuth».

  7. Haga clic en Generar token.

  8. Opcionalmente, para copiar el nuevo token al portapapeles, haz clic en .

    Captura de pantalla de la página "Personal access tokens". Junto a un token borroso, se resalta en naranja un icono de dos cuadrados superpuestos.

  9. Para usar tu token para acceder a los recursos que pertenecen a una organización que usa el inicio de sesión único de SAML, autoriza el token. Para obtener más información, consulta: "Autorizar un token de acceso personal para usar con un inicio de sesión único de SAML"."

Eliminación de un personal access token

Debes eliminar un personal access token si ya no es necesario. Si eliminas un personal access token usado para crear una clave de implementación, también se eliminará la clave de implementación.

  1. En la esquina superior derecha de cualquier página, haga clic en la foto del perfil y, luego, en Settings (Configuración).

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. En la barra lateral izquierda, haz clic en Configuración del desarrollador.

  3. En la barra lateral izquierda, en Personal access tokens, haz clic en Tokens específicos o Tokens (clásico) , según el tipo de personal access token que quieras eliminar.

  4. A la derecha del personal access token que quieras eliminar, haz clic en Eliminar.

Uso de un personal access token en la línea de comandos

Cuando tengas un personal access token, puedes introducirlo en lugar de tu contraseña cuando realices operaciones de Git a través de HTTPS.

Por ejemplo, para clonar un repositorio en la línea de comandos, escribirías el comando git clone. A continuación, se te pedirá que escribas tu nombre de usuario y contraseña. Cuando se te solicite la contraseña, escribe tu personal access token en lugar de una contraseña.

$ git clone https://github.com/USERNAME/REPO.git
Username: YOUR_USERNAME
Password: YOUR_PERSONAL_ACCESS_TOKEN

El Personal access token solo se puede usar para las operaciones HTTPS de Git. Si en el repositorio se usa una dirección URL remota SSH, tendrá que cambiarlo de SSH a HTTPS.

Si no se te solicita tu nombre de usuario y contraseña, tus credenciales pueden estar almacenadas en la caché de tu computadora. Puede actualizar las credenciales en la cadena de claves para reemplazar la contraseña antigua por el token.

En lugar de escribir manualmente el personal access token para cada operación HTTPS de Git, puedes almacenar en caché el personal access token con un cliente de Git. Git almacenará tus credenciales temporalmente en la memoria hasta que haya pasado un intervalo de vencimiento. También puedes almacenar el token en un archivo de texto simple que pueda leer Git antes de cada solicitud. Para obtener más información, vea «Almacenar tus credenciales de GitHub en el caché dentro de Git».

Información adicional