Skip to main content

Acerca de la protección de inserción

La protección de inserción impide que los colaboradores inserten secretos en un repositorio y generen una alerta cada vez que un colaborador omita el bloqueo. La protección de inserción se puede aplicar en el nivel de repositorio, organización y cuenta de usuario.

¿Quién puede utilizar esta característica?

La protección de inserción para repositorios y organizaciones está disponible para los siguientes tipos de repositorios:

  • Repositorios públicos propiedad del usuario gratis
  • Repositorios privados e internos en organizaciones que usan GitHub Enterprise Cloud con GitHub Advanced Security habilitado
  • Repositorios de espacio de nombres de usuario que pertenecen a Enterprise Managed Users

Acerca de la protección de inserción

La protección de inserción es una característica de secret scanning diseñada para evitar que la información confidencial, como secretos o tokens, se inserte en el repositorio en primer lugar. A diferencia de secret scanning, que detecta secretos después de confirmarlos, la protección de inserción examina de forma proactiva el código de los secretos durante el proceso de inserción y bloquea la inserción si se detecta alguno.

La protección de inserción le ayuda a evitar los riesgos asociados a secretos expuestos, como el acceso no autorizado a recursos o servicios. Con esta característica, los desarrolladores reciben comentarios inmediatos y pueden solucionar posibles problemas antes de que se conviertan en un problema de seguridad.

Puede habilitar la protección de inserción:

  • En el nivel de repositorio u organización, si es administrador del repositorio o propietario de la organización. Verá alertas en la pestaña Seguridad de su repositorio cuando un colaborador del repositorio omita la protección de inserción.
  • Para su cuenta de usuario en GitHub, como usuario. Este tipo de protección de inserción se conoce como "protección de inserción para los usuarios". Le protege de insertar secretos en cualquier repositorio público en GitHub, pero no se generan alertas.

Para obtener más información sobre los secretos y los proveedores de servicios admitidos para la protección de inserción, consulte "Patrones de examen de secretos admitidos".

Cómo funciona la protección de inserción

La protección de inserción funciona:

Una vez habilitada, si la protección de inserción detecta un posible secreto durante un intento de inserción, bloqueará la inserción y proporcionará un mensaje detallado que explique el motivo del bloqueo. Deberá revisar el código en cuestión, quitar cualquier información confidencial y volver a adjuntar la inserción.

De forma predeterminada, cualquier persona con acceso de escritura al repositorio puede optar por omitir la protección de inserción especificando uno de los motivos de omisión descritos en la tabla. Si un colaborador omite un bloque de protección de inserción para un secreto, GitHub:

  • Crea una alerta en la pestaña Security del repositorio.
  • Agrega el evento de omisión al registro de auditoría.
  • Envía una alerta por correo electrónico a los propietarios de la organización o de la cuenta personal, administradores de seguridad y administradores de repositorios que están viendo el repositorio, con un vínculo al secreto y el motivo por el que se permitió.

En esta tabla se muestra el comportamiento de las alertas para cada forma en que un usuario puede omitir un bloque de protección de inserción.

Razón de la omisiónComportamiento de alerta
Se usa en pruebasGitHub crea una alerta cerrada, resuelta como "se usa en pruebas"
Es un falso positivoGitHub crea una alerta cerrada, resuelta como "falso positivo"
Lo arreglaré más tardeGitHub crea una alerta abierta

Si desea tener un mayor control sobre qué colaboradores pueden omitir la protección de inserción y qué inserciones que contienen secretos deben permitirse, puede habilitar la omisión delegada de la protección de inserción. La omisión delegada le permite configurar un grupo designado de revisores para supervisar y administrar las solicitudes para omitir la protección de inserción de colaboradores que insertan en el repositorio. Para más información, consulta "Acerca de la omisión delegada para la protección de inserción".

También puede omitir la protección de inserción con la API de REST. Para más información, consulta "Puntos de conexión de la API REST para el examen de secretos".

Acerca de las ventajas de la protección de inserción

  • Seguridad preventiva: la protección de inserción actúa como un mecanismo de defensa de primera línea mediante el examen del código de los secretos en el momento de la inserción. Este enfoque preventivo le permite detectar posibles problemas antes de que se combinen en el repositorio.

  • Comentarios inmediatos: los desarrolladores reciben comentarios instantáneos si se detecta un posible secreto durante un intento de inserción. Esta notificación inmediata permite realizar una corrección rápida, lo que reduce la probabilidad de que se exponga información confidencial.

  • Riesgo reducido de fugas de datos: al bloquear confirmaciones que contienen información confidencial, la protección de inserción reduce significativamente el riesgo de pérdidas accidentales de datos. Esto le permite protegerse contra el acceso no autorizado a la infraestructura, los servicios y los datos.

  • Administración eficaz de secretos: en lugar de tratar retrospectivamente los secretos expuestos, los desarrolladores pueden solucionar problemas en el origen. Esto hace que la administración de secretos sea más eficaz y menos lenta.

  • Integración con canalizaciones de CI/CD: la protección de inserción se puede integrar en las canalizaciones de integración continua e implementación continua (CI/CD), lo que garantiza que todas las inserciones se examinan para los secretos antes de implementarse. Esto agrega una capa adicional de seguridad a las prácticas de DevOps.

  • Omisión delegada para flexibilidad: en los casos en los que se producen falsos positivos o cuando se necesitan determinados patrones, la característica de omisión delegada permite a los usuarios designados aprobar inserciones específicas. Esto proporciona flexibilidad sin comprometer la seguridad general.

Cada usuario de GitHub también puede habilitar su propia protección de inserción en la configuración individual. Habilitar la protección de inserción en la cuenta de usuario significa que las inserciones están protegidas siempre que se inserta en un repositorio público en GitHub, sin depender de ese repositorio para tener habilitada la protección de inserción. Para obtener más información, vea «Protección de inserción para usuarios».

Personalización de la protección de inserción

Una vez habilitada la protección de inserción, puede personalizarla aún más:

Integración con una canalización de CI/CD

Integre la protección de inserción con las canalizaciones de integración continua e implementación continua (CI/CD) para asegurarse de que ejecuta exámenes durante los procesos automatizados. Normalmente, esto implica agregar pasos en el archivo de configuración de canalización para llamar a las API de GitHub o usar GitHub Actions.

Definición de patrones personalizados

Defina los patrones personalizados que la protección de inserción puede usar para identificar secretos y bloquear inserciones que contengan estos secretos. Para obtener más información, vea «Definición de patrones personalizados para el examen de secretos».

Configuración de la omisión delegada

Defina colaboradores que puedan omitir la protección de inserción y agregue un proceso de aprobación para otros colaboradores. Para obtener más información, vea «Acerca de la omisión delegada para la protección de inserción».

Información adicional