Skip to main content

Inserción de una rama bloqueada por la protección de inserción

La característica de protección de inserción de secret scanning protege proactivamente contra los secretos que se filtran en los repositorios. Puedes resolver las inserciones bloqueadas y, una vez que se ha quitado el secreto detectado, puedes insertar los cambios en la rama de trabajo desde la línea de comandos o la interfaz de usuario web.

Secret scanning for advanced security is available for organization-owned repositories in GitHub Enterprise Cloud if your enterprise has a license for GitHub Advanced Security. Para más información, consulte "Acerca de GitHub Advanced Security".

Acerca de la protección de inserción para secret scanning

La característica de protección de inserción de secret scanning ayuda a evitar pérdidas de seguridad mediante el examen de los secretos antes de insertar los cambios en el repositorio. Al habilitar la protección de inserción, secret scanning también comprueba si hay secretos de alta confianza (los identificados con una tasa de falsos positivos baja). Secret scanning enumera los secretos que detecta para que el creador pueda revisarlos y quitarlos, o si es necesario, permitir que se inserten. Para obtener información sobre los secretos y proveedores de servicios admitidos para la protección de inserción, consulta "Patrones de Secret scanning".

Si confirmas que un secreto es real, debes quitar el secreto de la rama, de todas las confirmaciones en las que aparece, antes de volver a insertar.

Sugerencia Si GitHub bloquea un secreto que crees que es seguro insertar, puedes permitirlo y especificar el motivo por el que se debe permitir. Para obtener más información sobre cómo omitir la protección de inserción para un secreto, consulta "Permitir que se suba un secreto bloqueado" y "Saltar la protección contra subidas para un secreto" para la línea de comandos y la interfaz de usuario web, respectivamente.

Los administradores de la organización pueden proporcionar un vínculo personalizado que se incluirá en el mensaje de GitHub Enterprise Cloud cuando se bloquee la inserción. Este vínculo personalizado puede incluir recursos y consejos específicos de tu organización y sus directivas.

Nota: La capacidad de agregar vínculos de recursos a mensajes de inserción bloqueados está actualmente en versión beta pública y está sujeta a cambios.

Resolución de una inserción bloqueada en la línea de comandos

Al intentar insertar un secreto admitido en un repositorio u organización con secret scanning como protección de inserción habilitada, GitHub bloqueará la inserción. Puedes quitar el secreto de la rama o seguir una dirección URL proporcionada para permitir la inserción.

Notas:

  • Si la configuración de Git admite inserciones en varias ramas y no solo en la actual, es posible que se bloquee la inserción debido a que se insertan referencias adicionales y no deseadas. Para obtener más información, consulta las opciones push.default en la documentación de Git.
  • Si se agota el tiempo de espera de secret scanning tras una inserción, GitHub todavía examinará las confirmaciones en busca de secretos después de la inserción.

Si el secreto bloqueado se introdujo con la confirmación más reciente en la rama, puedes seguir las instrucciones a continuación.

  1. Quita el secreto del código.
  2. Confirma los cambios mediante git commit --amend.
  3. Envía los cambios con git push.

También puedes quitar el secreto si aparece en una confirmación anterior en el historial de Git.

  1. Usa git log para determinar qué confirmación expuesta en el error de inserción apareció primero en el historial.
  2. Inicia una fusión mediante cambio de base interactiva con git rebase -i <commit-id>~1. es el identificador de la confirmación del paso 1.
  3. Identifica la confirmación para editar cambiando pick a edit en la primera línea del texto que aparece en el editor.
  4. Quita el secreto del código.
  5. Confirma el cambio con git commit --amend.
  6. Ejecuta git rebase --continue para finalizar la fusión mediante cambio de base.

Resolución de una confirmación bloqueada en la interfaz de usuario web

Cuando se usa la interfaz de usuario web para intentar confirmar un secreto admitido en un repositorio u organización con el examen de secretos como protección de inserción habilitada, GitHub bloqueará la confirmación.

Verás un banner en la parte superior de la página con información sobre la ubicación del secreto, y el secreto también estará subrayado en el archivo para que puedas encontrarlo fácilmente.

Captura de pantalla que muestra la confirmación en la interfaz de usuario web bloqueada debido a la protección de inserción de análisis de secretos

Para resolver una confirmación bloqueada en la interfaz de usuario web, debes quitar el secreto del archivo o usar la lista desplegable Omitir protección para permitir el secreto. Para obtener más información sobre cómo omitir la protección de inserción de la interfaz de usuario web, consulta "Proteger las subidas con el escaneo de secretos".

Si confirmas que un secreto es real, debes quitar el secreto del archivo. Una vez quitado el secreto, el banner de la parte superior de la página cambiará e indicará que ahora puedes confirmar los cambios.