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
Un Personal access tokens es 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 las 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).
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 propiedad tuya 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).
- Solo los personal access tokens (classic) pueden acceder a Graph API.
- Algunas operaciones de API REST no están disponibles para fine-grained personal access tokens. Para una lista de las operaciones de API REST que se admiten para un fine-grained personal access token, consulta "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:
- Para acceder a GitHub desde la línea de comandos, puede utilizar GitHub CLI o Administrador de credenciales de Git en lugar de crear un personal access token.
- Al usar un flujo de trabajo de personal access token en un flujo de trabajo GitHub Actions, considere si puede usar el integrado en
GITHUB_TOKEN
su lugar. Para obtener más información, vea «Autenticación automática de tokens».
Si estas opciones no son posibles y debe crear un personal access token, considere la posibilidad de utilizar otro servicio como 1Password CLI para almacenar su token de forma segura, o GitHub el complemento de shell de 1Password para autenticarse de forma segura en GitHub CLI.
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 "Secretos cifrados". También puedes almacenar el token como un secreto de Codespaces y ejecutar el script en Codespaces. Para más información, consulta "Administrar secretos cifrados para tus codespaces".
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.
-
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).
-
En la barra lateral izquierda, haga clic en Developer settings (Configuración de desarrollador).
-
En la barra lateral izquierda, en Personal access token , haz clic en Tokens específicos.
-
Haga clic en Generate new token (Generar nuevo token).
-
En Nombre del token, escribe un nombre para el token.
-
En Expiración, selecciona cuándo expirará el token.
-
Opcionalmente, en Descripción, agrega una nota para describir el propósito del token.
-
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.
-
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.
-
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 de GitHub.
-
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.
-
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. Para obtener más información sobre los permisos necesarios para cada operación de la API REST, consulta "Permisos necesarios para los tokens de acceso personal específicos".
-
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 más información, consulta "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.
-
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).
-
En la barra lateral izquierda, haga clic en Developer settings (Configuración de desarrollador).
-
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) .
-
Asígnale a tu token un nombre descriptivo.
-
Para asignar una expiración al token, seleccione el menú desplegable Expiración y, después, haga clic en un valor predeterminado, o bien use el selector de calendario.
-
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 más información, consulta "Alcances para las Apps de OAuth".
-
Haga clic en Generar token.
-
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"."
Uso de un personal access token en la línea de comandos
Una vez que tengas un token, puedes ingresarlo en lugar de tu contraseña cuando realices operaciones de Git a través de HTTPS.
Por ejemplo, en la línea de comando ingresarás lo siguiente:
$ git clone https://github.com/USERNAME/REPO.git
Username: YOUR_USERNAME
Password: YOUR_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».