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 para la organización o el repositorio, 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 información sobre los secretos y los proveedores de servicios admitidos para la protección de inserción, consulta "Patrones de análisis de secretos".
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 propietarios de la organización pueden proporcionar un vínculo personalizado que se incluirá en el mensaje de GitHub cuando se bloquee el envío de cambios. Este vínculo personalizado puede incluir recursos y consejos específicos de tu organización y sus directivas.
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.
- Quita el secreto del código.
- Confirma los cambios mediante
git commit --amend
. - 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.
- Usa
git log
para determinar qué confirmación expuesta en el error de inserción apareció primero en el historial. - 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. - Identifica la confirmación para editar cambiando
pick
aedit
en la primera línea del texto que aparece en el editor. - Quita el secreto del código.
- Confirma el cambio con
git commit --amend
. - 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 cuadro de diálogo con información sobre la ubicación del secreto, así como opciones que te permiten insertarlo. El secreto también estará subrayado en el archivo para que puedas encontrarlo fácilmente.
Para resolver una confirmación bloqueada en la interfaz de usuario web, debes quitar el secreto del archivo, o bien usar las opciones que se muestran en el cuadro de diálogo para permitir el secreto. Para más información sobre cómo omitir la protección de inserción de la interfaz de usuario web, consulta "Protección contra el envío de cambios para repositorios y organizaciones".
Si confirmas que un secreto es real, debes quitar el secreto del archivo. Una vez que quites el secreto, puedes confirmar los cambios.