Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Conceder acceso a las características de seguridad a registros privados

Si su organización usa registros privados, puede mejorar los resultados del análisis de code scanning y habilitar Dependabot para mantener más dependencias al ajustar el acceso a estos registros.

Acerca de la importancia de dar acceso a registros privados

Cuando el código de un repositorio tiene dependencias almacenadas en un registro privado, algunas características de seguridad necesitan acceso al registro para permitir que funcionen de forma eficaz. Si no hay acceso a todas las dependencias de un repositorio, la eficacia de la configuración predeterminada de code scanning y Dependabot se verán limitados.

Code scanning acceso predeterminado de configuración a registros privados

Si no se define el acceso a los registros privados que usa la organización, code scanning solo recopilará los datos necesarios de las dependencias disponibles en los registros públicos. Casi siempre, con esto solo ya se ven expuestos la mayoría de vulnerabilidades. Sin embargo, en algunos casos la falta de acceso puede dar lugar a resultados falsos negativos. En otras palabras, code scanning no puede detectar una vulnerabilidad en el código porque no tiene toda la información que necesita para analizar el código. Por ejemplo, es posible que no se detecten algunas de las rutas de flujo de datos porque los procedimientos se definen en dependencias que no son accesibles y { code scanning no sabe cómo interpretarlos.

Al configurar el acceso a los registros privados usados en su organización, code scanning tiene acceso a toda la información que necesita y es mucho menos probable que se salte una vulnerabilidad.

La configuración predeterminada de Code scanning admite los siguientes tipos de registros:

LanguageTipos de registro
C#Fuente de NuGet
GoServidor GOPROXY, origen de Git
JavaRepositorio de Maven

Sugerencia

Puedes definir uno de cada tipo de registro para cada organización. Si los bases de código de la organización usan más de un registro de un tipo determinado, debe configurar un punto de acceso unificado o definir el acceso al registro más importante para los bases de código de esa organización.

Definir el acceso al registro para la configuración predeterminada de code scanning

Debes ser propietario de una organización para configurar el acceso a registros privados en la interfaz de usuario. También puede usar la API REST con los permisos de propietario de la organización o {read,write}_org_private_registries.

  1. En la pestaña Configuración de la organización, acceda a la sección "Seguridad" y seleccione Secretos y variables.
  2. En la lista expandida de secretos y variables, seleccione Registros privados para ver la página "Registros privados".
  3. Seleccione Nuevo registro privado para añadir los detalles del acceso para un registro privado.
  4. Use los campos URL y Tipo para definir la ubicación y el tipo de registro: * URL es la ubicación donde se accede al registro privado. Por ejemplo, si se usa el registro GitHub Packages para NuGet: https://nuget.pkg.github.com/. * Tipo es el tipo de registro.
  5. Seleccione Token o Nombre de usuario y contraseña, en función del método de autenticación y escriba los datos en los campos correspondientes. Algunos tipos de tokens de autenticación, como GitHub Personal Access Token, están vinculados a una identidad de usuario determinada. Seleccione la opción Nombre de usuario y contraseña para estos y escriba el nombre de usuario correspondiente como Nombre de usuario y el token como Contraseña.
  6. Define qué repositorios de la organización pueden acceder al registro privado mediante estas categorías: todos, privados e internos o solo repositorios seleccionados.
  7. Cuando termine de definir el registro privado, seleccione Añadir registro para guardar la información del registro.

Sugerencia

Al añadir un registro privado a una organización, el token o la contraseña se almacenan como un secreto cifrado. Una vez creado el registro, no se puede volver a ver el token o la contraseña.

Activar la configuración predeterminada de code scanning para usar una definición de registro

Al habilitar la configuración predeterminada de code scanning en un repositorio o grupo de repositorios, GitHub comprueba si los repositorios tienen acceso a los registros privados existentes. Si hay registros privados disponibles para un repositorio, code scanning usará las definiciones correspondientes durante el análisis.

Al configurar registros privados por primera vez, debe deshabilitar y volver a habilitar la configuración predeterminada de code scanning para los repositorios donde quiera usar la nueva definición. Las configuraciones nuevas o modificadas se aplicarán automáticamente en ejecuciones posteriores.

Para los lenguajes que admiten registros de paquetes privados, el programa de instalación predeterminado de code scanning generará información en la página de estado de la herramienta. Esto muestra qué configuraciones del registro privado estaban disponibles para el análisis, pero no si la configuración predeterminada de code scanning pudo descargar correctamente las dependencias privadas desde ellos. Para obtener más información sobre la página de estado de la herramienta de análisis de código página de estado de la herramienta, consulta Usar la página de estado de la herramienta para el examen de código.

Como alternativa, puede confirmar si los registros privados se usaron correctamente en el análisis de code scanning observando los archivos de registro de Acciones; para ello, consulte Registros de análisis de código.

Acceso de la configuración avanzada de Code scanning a registros privados

La configuración avanzada de Code scanning utiliza cualquier registro privado disponible para el flujo de trabajo que ejecute el análisis mediante el codeql-action. No tiene acceso a los registros privados de la organización que se usan de forma predeterminada.

Para los lenguajes compilados, el codeql-action debe tener en cuenta una compilación del código. Puede revisar el flujo de trabajo de compilación existente para ejecutar el codeql-action también o crear un flujo de trabajo que compile la versión de producción del código y también ejecute el codeql-action.

El flujo de trabajo que ejecuta el codeql-action también debe poder acceder a los registros privados usados por la compilación. Para obtener más información sobre la configuración avanzada, consulte Establecimiento de la configuración avanzada para el examen del código.

Dependabot actualiza el acceso a los registros privados.

Dependabot puede usar cualquiera de los registros privados de nivel de organización, así como usar los registros privados definidos en el archivo dependabot.yml del repositorio.

Dependabot no puede comprobar si hay actualizaciones de seguridad o de versión para el código almacenado en un registro privado a menos que pueda acceder al registro. Si no configura el acceso al registro privado, Dependabot no podrá generar solicitudes de incorporación de cambios para actualizar las dependencias almacenadas en el registro.

Al configurar el acceso a uno o varios registros privados, Dependabot puede proponer solicitudes de incorporación de cambios para actualizar una dependencia vulnerable o para mantener una dependencia. Consulte Configuración del acceso a registros privados para Dependabot y Guía para la configuración de registros privados para Dependabot.