Acerca de los registros privados
Dependabot version updates mantiene actualizadas las dependencias. Dependabot puede acceder a registros privados. Además, puedes conceder a Dependabot version updates acceso a registros de paquetes privados y a repositorios de GitHub privados para mantener las dependencias privadas e internas tan actualizadas como las dependencias públicas.
En la mayoría de los ecosistemas, las dependencias privadas suelen publicarse en registros de paquetes privados. Estos registros privados son similares a sus equivalentes públicos, pero requieren autenticación.
En ecosistemas específicos, puedes configurar Dependabot para acceder solo a registros privados si eliminas las llamadas a registros públicos. Para obtener más información, vea «Eliminación del acceso de Dependabot a registros públicos».
Para permitir que Dependabot acceda a registros hospedados de forma privada o restringidos a redes internas, configure Dependabot para que se ejecute en los ejecutores de prueba interna de GitHub Actions. Para más información, consulta "Administración de Dependabot en ejecutores de prueba interna".
Configuración de registros privados
Puedes configurar el acceso de Dependabot a registros privados en el archivo dependabot.yml
.
La clave registries
de nivel superior es opcional y especifica los detalles de autenticación.
Hay 2 ubicaciones en el archivo dependabot.yml
donde puede usar la clave registries
:
- En el nivel superior, donde se definen los registros y su información de acceso, si es necesario.
- Dentro de los bloques
updates
, donde puede utilizarregistries: "*"
para indicar a Dependabot utilizar cualquiera o todos los registros definidos en el nivel superior.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level
version: 2
registries:
gradle-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-gradle-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
- package-ecosystem: "gradle"
directory: "/"
registries: "*"
schedule:
interval: "monthly"
Utilizarás las siguientes opciones para especificar la configuración de acceso. La configuración del registro debe contener un elemento type
y otro url
, y normalmente incluirán una combinación username
y password
, o un elemento token
.
Opción | Descripción |
---|---|
type | Identifica el tipo de registro. Para obtener más información sobre los tipos de registro disponibles, consulta "registries ". Para obtener más información sobre la configuración de registros privados específicamente, consulta "Opciones de configuración de registros privados". |
url | La URL a utilizar para acceder a las dependencias en el registro. El protocolo es opcional. Si no se especifica, se da por hecho el valor https:// . El Dependabot agrega o ignora las diagonales iniciales conforme sea necesario. |
username | El nombre de usuario que utilizará el Dependabot para acceder al registro.username es el nombre de usuario o la dirección de correo electrónico de la cuenta. |
password | Una referencia a un secreto del Dependabot que contenga la contraseña del usuario específico. Para obtener más información, vea «Configuración del acceso a registros privados para Dependabot».password es la contraseña de la cuenta de usuario especificada para el nombre de usuario. Si la cuenta es una cuenta de GitHub, puede usar un GitHub personal access token en lugar de la contraseña. |
key | Una referencia a un secreto del Dependabot que contenga una clave de acceso para este registro. Para obtener más información, vea «Configuración del acceso a registros privados para Dependabot». |
token | Una referencia a un secreto del Dependabot que contenga un token de acceso para este registro. Para obtener más información, vea «Configuración del acceso a registros privados para Dependabot».token se usa para proporcionar un token de acceso para un sistema externo y no debe usarse para proporcionar un GitHub personal access token. Si desea usar un GitHub personal access token, debes proporcionarlo como contraseña. |
replaces-base | En el caso de registros, si el valor booleano es true , Dependabot resolverá las dependencias mediante la dirección URL especificada en lugar de la ubicación base de ese ecosistema específico. Por ejemplo, para registros con type: python-index , si el valor booleano es true , pip resuelve las dependencias mediante la dirección URL especificada en lugar de la ubicación base del índice de paquetes de Python (de manera predeterminada, https://pypi.org/simple ). |
Para más información sobre las opciones de configuración disponibles, su uso y los tipos admitidos, consulta "Opciones de configuración para el archivo dependabot.yml".
Almacenamiento de credenciales para que las use Dependabot
Para conceder a Dependabot acceso a los registros privados que admite GitHub, debes almacenar el token de acceso o el secreto del registro en el almacén de secretos del repositorio o la organización.
Acerca de los secretos cifrados para Dependabot
Los secretos del Dependabot son credenciales cifradas que creas ya sea a nivel de la organización o del repositorio. Cuando agregas un secreto a nivel de la organización, puedes especificar qué repositorios pueden acceder a éste. Puedes utilizar secretos para permitir que el Dependabot actualice las dependencias que se ubiquen en los registros del paquete. Cuando agregas un secreto, está cifrado antes de llegar a GitHub y permanece cifrado hasta que lo usa Dependabot para acceder a un registro de paquetes privado.
Los secretos de Dependabot también incluyen secretos de los que hacen uso los flujos de trabajo de GitHub Actions desencadenados por solicitudes de incorporación de cambios de Dependabot. Dependabot podría no usar estos secretos, pero los flujos de trabajo los requieren. Para obtener más información, vea «Automatizar al Dependabot con las GitHub Actions».
Después de agregar un secreto de Dependabot, puede hacer referencia a él en el archivo de configuración dependabot.yml
como este: ${{secrets.NAME}}
, donde "NAME" es el nombre que ha elegido para el secreto. Por ejemplo:
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nombrar tus secretos
El nombre de un secreto del Dependabot:
- Solo puede contener caracteres alfanuméricos (
[A-Z]
o[0-9]
) o caracteres de subrayado (_
). No se permiten espacios. Si escribes en minúscula, se cambiará todo a mayúsculas. - No debe comenzar con el prefijo
GITHUB_
. - No puede iniciar con un número.
Agregar un secreto de repositorio para el Dependabot
Para crear secretos para un repositorio de una cuenta personal, deberás ser el propietario del repositorio. A fin de crear secretos para un repositorio de la organización, debe tener acceso admin
.
-
En GitHub.com, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Seguridad" de la barra lateral, selecciona Secretos y, después, haz clic en Dependabot.
-
Haga clic en New repository secret.
-
Escriba un nombre para su secreto en el cuadro de entrada Name.
-
Ingresa el valor de tu secreto.
-
Haga clic en Add Secret.
El nombre del secreto se lista en la página de secretos del Dependabot. Puede hacer clic en Update (Actualizar) para cambiar el valor del secreto. Puede hacer clic en Remove (Quitar) para eliminar el secreto.
Agregar un secreto de organización para el Dependabot
Cuando creas un secreto en una organización, puedes utilizar una política para limitar el acceso de los repositorios a este. Por ejemplo, puedes otorgar acceso a todos los repositorios, o limitarlo a solo los repositorios privados o a una lista específica de estos.
Para crear secretos en el nivel de la organización, debe tener acceso admin
.
-
En GitHub.com, ve a la página principal de la organización.
-
En el nombre de la organización, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Seguridad" de la barra lateral, selecciona Secretos y, después, haz clic en Dependabot.
-
Haga clic en New organization secret.
-
Escriba un nombre para su secreto en el cuadro de entrada Name.
-
Introduzca el valor del secreto en Value.
-
En la lista desplegable Repository access (Acceso al repositorio), elija una directiva de acceso.
-
Si ha elegido Selected repositories (Repositorios seleccionados):
- Haz clic en .
- En el cuadro de diálogo, seleccione los repositorios que pueden acceder a este secreto.
- Haga clic en Update selection (Actualizar selección).
-
Haga clic en Add Secret.
El nombre del secreto se indica en la página de secretos de Dependabot. Puede hacer clic en Update (Actualizar) para cambiar el valor del secreto o su directiva de acceso. Puede hacer clic en Remove (Quitar) para eliminar el secreto.
Configuración de reglas de IP de firewall
Puedes agregar direcciones IP relacionadas de Dependabot a la lista de direcciones IP permitidas de tus registros.
Si el registro privado se configura con una lista de direcciones IP permitidas, puede encontrar las direcciones IP que utiliza Dependabot para acceder al registro en el punto de conexión de meta API, en la clave dependabot
. Si ejecuta Dependabot en los ejecutores de prueba interna de GitHub Actions, debe usar las direcciones IP en la clave actions
. Para obtener más información, vea «Puntos de conexión de la API de REST para metadatos» y «Acerca de Dependabot en ejecutores de Acciones de GitHub».