Selección de un método de autenticación adecuado
Debes elegir un método de autenticación adecuado para la tarea que quieres realizar.
- Para usar la API para uso personal, puede crear un personal access token.
- Para usar la API en nombre de una organización u otro usuario, debe crear un GitHub App.
- Para usar la API en un GitHub Actions flujo de trabajo, debe autenticarse usando el autenticador integrado
GITHUB_TOKEN.
Para más información, consulta Acerca de la autenticación para GitHub.
Limite los permisos de sus credenciales
Al crear un personal access token, seleccione solo los permisos o ámbitos mínimos necesarios y establezca una fecha de expiración para la cantidad mínima de tiempo que tendrá que usar el token. GitHub recomienda usar fine-grained personal access tokens en lugar de personal access tokens (classic). Para más información, consulta Administración de tokens de acceso personal.
Un token tiene las mismas funcionalidades para acceder a los recursos y realizar acciones en esos recursos que las que tiene el propietario del token, y está limitado aún más por los ámbitos o permisos que se le hayan concedido. Un token no puede conceder funcionalidades de acceso adicionales a un usuario.
Al crear un GitHub App, seleccione los permisos mínimos que GitHub App necesitará. Para más información, consulta Procedimientos recomendados para crear una aplicación de GitHub.
Al autenticarse con GITHUB_TOKEN en un GitHub Actions flujo de trabajo, solo proporcione la cantidad mínima de permisos necesarios. Para más información, consulta Uso de GITHUB_TOKEN para la autenticación en flujos de trabajo.
Almacenamiento de las credenciales de autenticación de forma segura
Trata las credenciales de autenticación de la misma manera que lo harías con las contraseñas u otras credenciales confidenciales.
- No compartas las credenciales de autenticación mediante un sistema de correo electrónico o mensajería sin cifrar.
- No pase su personal access token como texto sin formato en la línea de comandos. Para más información, consulta Administración de tokens de acceso personal.
- No insertes credenciales de autenticación sin cifrar (como tokens o claves) en cualquier repositorio, incluso si el repositorio es privado. En su lugar, considere la posibilidad de usar un secretoGitHub Actions o un secreto de Codespaces. Para obtener más información, consulte Uso de secretos en Acciones de GitHub y Administración de secretos específicos de la cuenta para GitHub Codespaces.
- Puedes usar el escaneo de secretos para detectar tokens, claves privadas y otros secretos que fueron subidos a un repositorio o para bloquear futuras subidas que contienen secretos. Para más información, consulta Acerca del examen de secretos.
Limitación de quién puede acceder a las credenciales de autenticación
No compartas tu personal access token con otros. En lugar de compartir un personal access token, considere la posibilidad de crear un GitHub App. Para más información, consulta Acerca de la creación de aplicaciones de GitHub.
Si necesitas compartir credenciales con un equipo, almacénalas en un sistema compartido seguro. Por ejemplo, puede almacenar y compartir contraseñas de forma segura mediante 1Password, o bien puede almacenar claves en Azure KeyVault y administrar el acceso con su IAM (administración de identidades y acceso).
Si va a crear un GitHub Actions flujo de trabajo que necesite acceder a la API, puede almacenar las credenciales en un secreto cifrado y acceder al secreto cifrado desde el flujo de trabajo. Para más información, consulta Uso de secretos en Acciones de GitHub y Realización de solicitudes de API autenticadas con una aplicación de GitHub en un flujo de trabajo de GitHub Actions.
Uso de credenciales de autenticación de forma segura en el código
Nunca codifiques de forma rígida credenciales de autenticación como tokens, claves o secretos relacionados con la aplicación en el código. En su lugar, considere la posibilidad de usar un administrador de secretos como Azure Key Vault o HashiCorp Vault. Para obtener más información sobre cómo proteger GitHub App las credenciales, consulte Procedimientos recomendados para crear una aplicación de GitHub.
Si encuentra el personal access token de otro usuario expuesto en GitHub o en otro lugar, puede enviar una solicitud de revocación a través de la API REST. Consulta Revocación.
personal access token en un script, considere almacenar su token como un GitHub Actions secreto y ejecutar su script a través de GitHub Actions. También puede almacenar el token como un secreto de Codespaces y ejecutar el script en Codespaces. Para obtener más información, consulte [AUTOTITLE](/actions/security-guides/encrypted-secrets) y [AUTOTITLE](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces).
Si ninguna de estas opciones es posible, puedes almacenar las credenciales de autenticación en un archivo .env. Asegúrate de cifrar el archivo .env y nunca lo insertes en ningún repositorio.
Preparación de un plan de corrección
Debes disponer de un plan para controlar las infracciones de seguridad de forma oportuna. En caso de que se filtren tus tokens u otras credenciales de autenticación, necesitarás hacer lo siguiente:
- Generar una nueva credencial.
- Reemplazar la credencial antigua por la nueva en todos los lugares donde almacenes la credencial o accedas a ella.
- Eliminar la credencial comprometida antigua.
Para obtener información sobre la rotación de credenciales comprometidas para GitHub App, vea Procedimientos recomendados para crear una aplicación de GitHub.
Para obtener información sobre cómo crear y eliminar personal access tokens, consulte Administración de tokens de acceso personal.