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.
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
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ón | Comportamiento de alerta |
---|---|
Se usa en pruebas | GitHub crea una alerta cerrada, resuelta como "se usa en pruebas" |
Es un falso positivo | GitHub crea una alerta cerrada, resuelta como "falso positivo" |
Lo arreglaré más tarde | GitHub crea una alerta abierta |
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.
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».