0Pricing
DevOps Bootcamp · Lección

Gestión de secretos con GitHub

Profundice en el almacenamiento y el acceso seguros a credenciales confidenciales mediante GitHub Secrets y OpenID Connect (OIDC).

Gestión de secretos con GitHub es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Por qué es importante gestionar los secretos?

En cualquier proyecto de software, a menudo es necesario utilizar información sensible, como claves de API, credenciales de bases de datos o tokens de acceso. Almacenar estos datos directamente en el código o en el repositorio supone un riesgo de seguridad importante.

La gestión de secretos es la práctica de almacenar y administrar de forma segura estos datos sensibles. Garantiza que solo los sistemas y usuarios autorizados puedan acceder a ellos, evitando su exposición no autorizada.

¿Qué son los GitHub Secrets?

GitHub ofrece una forma segura de almacenar información sensible denominada GitHub Secrets. Son variables de entorno cifradas que puede utilizar en sus flujos de trabajo de GitHub Actions.

  • No se escriben en los registros de forma predeterminada.
  • No son visibles en la interfaz de usuario después de crearlos.
  • Solo son accesibles para los flujos de trabajo seleccionados.

Esto evita que sus credenciales queden expuestas accidentalmente.

Configurar secretos del repositorio

Puede definir secretos en distintos niveles: repositorio, entorno u organización. Lo más habitual es comenzar con los secretos del repositorio.

Para crear uno:

  1. Vaya a la pestaña Configuración de su repositorio.
  2. Vaya a Secretos y variables > Actions.
  3. Haga clic en Nuevo secreto del repositorio.

Asígnele un nombre único (por ejemplo, API_KEY) y pegue el valor secreto.

Acceder a los secretos en los flujos de trabajo

Una vez definido un secreto, puede utilizarlo en los archivos YAML de sus flujos de trabajo. GitHub Actions inyecta automáticamente los secretos como variables de entorno en sus trabajos.

Puede acceder a ellos mediante el contexto ${{ secrets.SECRET_NAME }}. Este script simula un paso que utilizaría un secreto de ese tipo. Para ejecutarlo, imagine que GitHub Actions ha establecido MY_API_KEY como variable de entorno.

#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.

echo "Attempting to use an API key..."

# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.

if [ -z "$MY_API_KEY" ]; then
  echo "Error: MY_API_KEY is not set!"
  echo "Please define it as a secret in your workflow."
else
  echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fi

Ámbitos más amplios de los secretos

Además de los secretos del repositorio, GitHub ofrece dos ámbitos más potentes:

  • Secretos de organización: Están disponibles para varios repositorios dentro de una organización. Son útiles para secretos compartidos entre muchos proyectos (por ejemplo, un token de despliegue para toda la empresa).
  • Secretos de entorno: Están vinculados a entornos de despliegue específicos (por ejemplo, staging o production). Pueden tener reglas de protección, como exigir aprobación manual antes del despliegue.

Utilice siempre el ámbito más reducido que sea necesario para maximizar la seguridad.

¿Qué es OpenID Connect (OIDC)?

OpenID Connect (OIDC) es una capa de autenticación construida sobre OAuth 2.0. Es un estándar que permite a los clientes verificar la identidad de un usuario final basándose en la autenticación realizada por un servidor de autorización.

En CI/CD, OIDC permite que sus flujos de trabajo se autentiquen de forma segura con proveedores de servicios en la nube (como AWS, Azure o GCP) sin necesidad de almacenar credenciales de larga duración (como claves de API) en GitHub Secrets.

Cómo funciona OIDC con Actions

GitHub Actions puede actuar como proveedor de OIDC. Cuando se ejecuta un flujo de trabajo, GitHub genera un token OIDC único y de corta duración para ese trabajo específico.

Este token contiene claims verificables sobre el flujo de trabajo, como el repositorio, la rama y el ID del trabajo. Los proveedores de servicios en la nube pueden configurarse para confiar en los tokens emitidos por GitHub y conceder acceso temporal basándose en estos claims.

Principales ventajas de OIDC

El uso de OIDC con GitHub Actions ofrece importantes ventajas de seguridad:

  • Sin credenciales de larga duración: No almacena claves de API estáticas de la nube en GitHub Secrets.
  • Riesgo reducido: Los tokens de corta duración minimizan el impacto si alguno se ve comprometido.
  • Acceso detallado: Los roles de la nube pueden asociarse a condiciones específicas del flujo de trabajo (por ejemplo, permitir el despliegue únicamente desde la rama main).
  • Auditoría: Es más fácil hacer un seguimiento de quién hizo qué, ya que las identidades están vinculadas a la ejecución del flujo de trabajo.

Integrar OIDC con la nube

Para utilizar OIDC, debe configurar su proveedor de servicios en la nube (por ejemplo, AWS IAM, Azure AD o GCP IAM) para que confíe en el emisor de OIDC de GitHub.

Normalmente, esto implica:

  1. Configurar un proveedor de identidad (IdP) en su cuenta de la nube.
  2. Definir un rol o una política que conceda permisos específicos.
  3. Añadir una "política de confianza" al rol para permitir que los tokens OIDC de GitHub lo asuman, normalmente con condiciones basadas en los claims del token (por ejemplo, solo desde un repositorio específico).

A continuación, el flujo de trabajo solicita un token y lo utiliza para autenticarse.

Comprobación rápida: acceso seguro

Ha aprendido sobre GitHub Secrets para almacenar datos sensibles y sobre OpenID Connect para autenticarse en la nube sin credenciales.

¿Cuáles de las siguientes afirmaciones sobre la gestión de secretos en GitHub Actions son VERDADERAS?

Resumen: proteja sus credenciales

¡Excelente trabajo! Ha aprendido a gestionar de forma segura los datos sensibles en sus pipelines de CI/CD.

  • GitHub Secrets ofrece almacenamiento cifrado para claves de API y tokens dentro de su repositorio, organización o entornos específicos.
  • OpenID Connect (OIDC) ofrece una forma aún más segura de autenticarse con proveedores de servicios en la nube mediante tokens verificables y de corta duración, en lugar de credenciales estáticas.

Estas prácticas son fundamentales para crear pipelines de DevOps sólidos y seguros.

Preguntas frecuentes

¿La lección «Gestión de secretos con GitHub» es gratis?

Sí — el texto completo de «Gestión de secretos con GitHub» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Gestión de secretos con GitHub»?

Profundice en el almacenamiento y el acceso seguros a credenciales confidenciales mediante GitHub Secrets y OpenID Connect (OIDC). Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Gestión de secretos con GitHub»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Buenas prácticas de seguridad en CI/CD
  2. Gestión de secretos con GitHub
  3. Pruebas estáticas de seguridad de aplicaciones (SAST)
  4. Seguridad de dependencias y de la cadena de suministro (SCA)
← Volver a DevOps Bootcamp