Skip to main content

Administración del acceso a los ejecutores autohospedados mediante grupos

Puedes utilizar directivas para limitar el acceso a los ejecutores auto-hospedados que se hayan agregado a una organización o empresa.

¿Quién puede utilizar esta característica?

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team or GitHub Free plans can create and manage additional runner groups using self-hosted runners.

Users with the "Manage organization runners and runner groups" permission can manage runner groups at the organization level.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Acerca de grupos de ejecutores

Para controlar el acceso a los ejecutores de los niveles de organización o empresarial, los propietarios de la organización o de la empresa pueden usar grupos de ejecutores. Los grupos de ejecutores se usan para recopilar conjuntos de ejecutores y crear un límite de seguridad en torno a ellos.

Cuando concedes acceso a un grupo de ejecutores, puedes ver este grupo en una lista en la configuración del ejecutor de la organización. Opcionalmente, puedes asignar directivas de acceso adicionales y detalladas para los repositorios y flujos de trabajo al grupo de ejecutores.

Cuando se crean nuevos ejecutores, se asignan automáticamente al grupo predeterminado, salvo que se especifique lo contrario. Los ejecutores solo pueden estar en un grupo a la vez. Puedes mover ejecutores de un grupo de ejecutores a otro. Para obtener más información, consulta "Cambiar un ejecutor a un grupo".

Para obtener información sobre cómo enrutar trabajos a los ejecutores de un grupo específico, consulta "Elegir un ejecutor para un job".

Crear un grupo de ejecutores auto-hospedados para una organización

Warning

Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.

Para obtener más información, vea «Acerca de los ejecutores autohospedados».

Nota: Cuando creas un grupo de ejecutores, debes elegir una directiva que defina qué repositorios y flujos de trabajo tienen acceso al grupo de ejecutores. Para cambiar qué repositorios y flujos de trabajo pueden acceder al grupo de ejecutores, los propietarios de la organización y los usuarios con el permiso "Administrar ejecutores de la organización y grupos de ejecutores" pueden establecer una directiva para la organización. Para obtener más información, vea «Requerir políticas para las GitHub Actions en tu empresa».

Todas las organizaciones tienen un solo grupo predeterminado de ejecutores. Los propietarios de la organización y los usuarios con el permiso "Administrar ejecutores de la organización y grupos de ejecutores" pueden crear grupos de ejecutores de nivel de organización adicionales. Para obtener más información sobre los roles de organización personalizados, vea "Acerca de los roles personalizados de organización".

Si no se especifica ningún grupo durante el proceso de registro, los ejecutores se agregan automáticamente al grupo predeterminado. Más tarde puedes mover el ejecutor del grupo predeterminado a cualquier grupo que crees. Para obtener más información, consulta "Cambiar un ejecutor a un grupo".

Para obtener información sobre cómo crear un grupo de ejecutores con la API de REST, consulta "Terminales de REST para la API de Acciones de GitHub".

  1. En GitHub, navega a la página principal de tu organización.

  2. 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.

    Captura de pantalla de las pestañas en el perfil de una organización. La pestaña "Configuración" se destaca en naranja oscuro.

  3. En la barra lateral izquierda, haz clic en Acciones y, luego, en Grupos de ejecutores.

  4. En la sección "Runner groups", haga clic en New runner group.

  5. Ingresa un nombre para tu grupo ejecutor.

  6. Asigne una directiva para el acceso al repositorio.

    Puede configurar un grupo de ejecutores para que sea accesible para una lista específica de repositorios o para todos los repositorios de la organización. De forma predeterminada, solo los repositorios privados pueden acceder a los ejecutores de un grupo de ejecutores, pero puede invalidarlo. Esta configuración no puede anularse si se configura un grupo de ejecutores de la organización que haya compartido una empresa.

  7. Asigne una directiva para el acceso al flujo de trabajo.

    Puede configurar un grupo de ejecutores a fin de que sea accesible para una lista específica de flujos de trabajo o para todos los flujos de trabajo. Este valor no se puede invalidar si configura un grupo de ejecutores de una organización que haya compartido una empresa. Si especifica qué flujo de trabajo puede acceder al grupo de ejecutores, debe usar la ruta completa del flujo de trabajo, incluido el nombre y el propietario del repositorio, y debe anclar el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Solo los trabajos que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores. Los grupos ejecutores que pertenecen a las organizaciones no pueden acceder a los flujos de trabajo de una organización diferente en la empresa. En vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa. 1. Haz clic en Crear grupo para crear el grupo y aplicar la política.

Crear un grupo de ejecutores auto-hospedados para una empresa

Warning

Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.

Para obtener más información, vea «Acerca de los ejecutores autohospedados».

Las empresas pueden agregar sus ejecutores a grupos para su administración de accesos. Las empresas pueden crear grupos de ejecutores que son accesibles para organizaciones específicas en la cuenta empresarial o para flujos de trabajo específicos. Los propietarios de la organización pueden entonces asignar directivas de acceso adicionales y detalladas para los repositorios o flujos de trabajo a los grupos de ejecutores de la empresa. Para obtener más información sobre cómo crear un grupo de ejecutores con la API de REST, consulte los puntos de conexión de la empresa en la API de REST de GitHub Actions.

Si no se especifica ningún grupo durante el proceso de registro, los ejecutores se agregan automáticamente a un grupo predeterminado. Más tarde puedes mover el ejecutor del grupo predeterminado a cualquier grupo que crees. Para obtener más información, consulta "Cambiar un ejecutor a un grupo".

Cuando creas un grupo, debes elegir la política que defina qué organizaciones tienen acceso al grupo de ejecutores.

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haga clic en la pestaña Runner groups.

  5. Haga clic en New runner group.

  6. En "Group name", escriba un nombre para el grupo de ejecutores.

  7. Para elegir una directiva para el acceso de la organización, selecciona el menú desplegable Acceso de la organización y haz clic en una directiva. Puedes configurar un grupo de ejecutores para que sea accesible a una lista de organizaciones específica o a todas las organizaciones en la empresa. Predeterminadamente, solo los repositorios privados pueden acceder a los ejecutores en un grupo, pero esto se puede anular.

  8. Asigne una directiva para el acceso al flujo de trabajo.

    Puede configurar un grupo de ejecutores a fin de que sea accesible para una lista específica de flujos de trabajo o para todos los flujos de trabajo. Este valor no se puede invalidar si configura un grupo de ejecutores de una organización que haya compartido una empresa. Si especifica qué flujo de trabajo puede acceder al grupo de ejecutores, debe usar la ruta completa del flujo de trabajo, incluido el nombre y el propietario del repositorio, y debe anclar el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Solo los trabajos que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores.

  9. Haga clic en Save group para crear el grupo y aplicar la directiva.

Cambio de las organizaciones que pueden acceder a un grupo de ejecutores

Warning

Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.

Para obtener más información, vea «Acerca de los ejecutores autohospedados».

En el caso de los grupos de ejecutores de una empresa, puedes cambiar las organizaciones de la empresa que pueden acceder al grupo de ejecutores.

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haga clic en la pestaña Runner groups.

  5. En "Acceso a la organización", usa el menú desplegable para hacer clic en Organizaciones seleccionadas.

    1. A la derecha del menú desplegable, haz clic en .
    2. En el elemento emergente, usa las casillas para seleccionar organizaciones que puedan usar este grupo de ejecutores.
  6. Haga clic en Guardar grupo.

Cambio de los repositorios que pueden acceder a un grupo de ejecutores

Warning

Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.

Para obtener más información, vea «Acerca de los ejecutores autohospedados».

En el caso de los grupos de ejecutores de una organización, puedes cambiar los repositorios de la organización que pueden acceder a un grupo de ejecutores.

  1. Ve a la página principal de la organización donde se encuentran tus grupos de ejecutores.

  2. Haga clic en Settings (Configuración).

  3. En la barra lateral izquierda, haz clic en Acciones y, luego, en Grupos de ejecutores.

  4. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.

  5. En "Acceso al repositorio", use el menú desplegable para hacer clic en Repositorios seleccionados.

    1. A la derecha del menú desplegable, haz clic en .
    2. En el elemento emergente, usa las casillas para seleccionar repositorios que puedan acceder a este grupo de ejecutores.
  6. Haga clic en Guardar grupo.

Cambio de los flujos de trabajo que pueden acceder un grupo de ejecutores

Warning

Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.

Para obtener más información, vea «Acerca de los ejecutores autohospedados».

Puedes configurar un grupo de ejecutores para que ejecute ya sea flujos selectos o todos ellos. Por ejemplo, podrías utilizar este ajuste para proteger secretos almacenados en los ejecutores o estandarizar los flujos de trabajo de despliegue restringiendo un grupo de ellos para que ejecute solo un flujo de trabajo reutilizable específico. Este ajuste no se puede anular si estás configurando un grupo de ejecutores de una organización que haya compartido una empresa.

Cambio de los flujos de trabajo que pueden acceder a un grupo de ejecutores de organización

  1. Ve a la página principal de la organización donde se encuentran tus grupos de ejecutores.

  2. Haga clic en Settings (Configuración).

  3. En la barra lateral izquierda, haz clic en Acciones y, luego, en Grupos de ejecutores.

  4. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.

  5. En Workflow access, seleccione el menú desplegable y haga clic en Selected workflows.

  6. Haga clic en .

  7. Ingresa una lista separada por comas de los flujos de trabajo que pueden acceder al grupo de ejecutores. Utiliza la ruta completa, incluyendo el nombre y propietario del repositorio. Fija el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Solo los jobs que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores.

    Los grupos de ejecutores que pertenecen a la organización no pueden acceder a los flujos de trabajo de otra organización de la empresa; en vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa.

  8. Haga clic en Save(Guardar).

Cambio de los flujos de trabajo que pueden acceder a un grupo de ejecutores de empresa

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haga clic en la pestaña Runner groups.

  5. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.

  6. En Workflow access, seleccione el menú desplegable y haga clic en Selected workflows.

  7. Haga clic en .

  8. Ingresa una lista separada por comas de los flujos de trabajo que pueden acceder al grupo de ejecutores. Utiliza la ruta completa, incluyendo el nombre y propietario del repositorio. Fija el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Solo los jobs que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores.

    Los grupos de ejecutores que pertenecen a la organización no pueden acceder a los flujos de trabajo de otra organización de la empresa; en vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa.

  9. Haga clic en Save(Guardar).

Cambiar el nombre de un grupo de ejectuores

Puedes editar el nombre de los grupos de ejecutores de los niveles de organización y empresa.

Cambio del nombre de un grupo de ejecutores de organización

  1. Ve a la página principal de la organización donde se encuentran tus grupos de ejecutores.
  2. Haga clic en Settings (Configuración).
  3. En la barra lateral izquierda, haz clic en Acciones y, luego, en Grupos de ejecutores.
  4. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.
  5. Escriba el nuevo nombre del grupo de ejecutores en el campo de texto en "Nombre del grupo".
  6. Haga clic en Save(Guardar).

Cambio del nombre de un grupo de ejecutores de empresa

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haga clic en la pestaña Runner groups.

  5. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.

  6. Escriba el nuevo nombre del grupo de ejecutores en el campo de texto en "Nombre del grupo".

  7. Haga clic en Save(Guardar).

Agregar ejecutores auto-hospedados a un grupo automáticamente

Puedes utilizar el script de configuración para agregar automáticamente un nuevo ejecutor a un grupo. Por ejemplo, este comando registra un nuevo ejecutor y usa el --runnergroup parámetro para agregarlo a un grupo denominado rg-runnergroup.

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

El comando fallará si el grupo de ejecutores no existe:

Could not find any self-hosted runner group named "rg-runnergroup".

Mover un ejecutor auto-hospedado a un grupo

Si no especificas un grupo de ejecutores durante el proceso de registro, tus nuevos ejecutores se asignarán automáticamente al grupo predeterminado y después se moverán a otro grupo.

Traslado de un ejecutor de organización a un grupo

  1. En GitHub, navega a la página principal de tu organización.

  2. 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.

    Captura de pantalla de las pestañas en el perfil de una organización. La pestaña "Configuración" se destaca en naranja oscuro.

  3. En la barra lateral izquierda, haz clic en Acciones y, después, en Ejecutores.

  4. En la lista de "Ejecutores", haz clic en aquél que quieras configurar.

  5. Seleccione la lista desplegable Runner group.

  6. En "Mover el ejecutor al grupo", elige un grupo destino para el ejecutor.

Traslado de un ejecutor de empresa a un grupo

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haz clic en la pestaña Ejecutores.

  5. En la lista de "Ejecutores", haz clic en aquél que quieras configurar.

  6. Seleccione la lista desplegable Runner group.

  7. En "Mover el ejecutor al grupo", elige un grupo destino para el ejecutor.

Eliminar un grupo de ejecutores auto-hospedados

Para quitar un grupo de ejecutores, primero debes mover o quitar todos los ejecutores del grupo.

Eliminación de un grupo de ejecutores de una organización

  1. Ve a la página principal de la organización donde se encuentran tus grupos de ejecutores.
  2. Haga clic en Settings (Configuración).
  3. En la barra lateral izquierda, haz clic en Acciones y, luego, en Grupos de ejecutores.
  4. En la lista de grupos, a la derecha del grupo que quieras borrar, haz clic en .
  5. Para eliminar el grupo, haga clic en Remove group.
  6. Revise las indicaciones de confirmación y haga clic en Remove this runner group.

Eliminación de un grupo de ejecutores de una empresa

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En " Policies," haz clic en Acciones.

  4. Haga clic en la pestaña Runner groups.

  5. En la lista de grupos, a la derecha del grupo que quieras borrar, haz clic en .

  6. Para eliminar el grupo, haga clic en Remove group.

  7. Revise las indicaciones de confirmación y haga clic en Remove this runner group.

Uso de nombres únicos para grupos de ejecutores

GitHub Actions requiere que los nombres del grupo de ejecutores sean únicos a nivel de organización. Esto significa que una organización ya no podrá crear un grupo de ejecutores con el mismo nombre que uno de la empresa. Además, los usuarios verán un banner de advertencia en cualquier grupo de ejecutores que comparta el mismo nombre que un grupo de la empresa, que sugiere que se debe cambiar el nombre del grupo de la organización.

Para evitar ambigüedad, se producirá un error en un flujo de trabajo si hay grupos de ejecutores duplicados en la organización y en la empresa. Para solucionarlo, puedes cambiar el nombre de uno de los grupos de ejecutores de la organización o de la empresa, o bien actualizar el archivo de flujo de trabajo para agregar un prefijo al nombre del grupo de ejecutores:

  • org/ o organization/
  • ent/ o enterprise/

Ejemplo: Uso de prefijos para diferenciar grupos de ejecutores

Por ejemplo, si tienes un grupo de ejecutores denominado my-group en la organización y otro denominado my-group en la empresa, puedes actualizar el archivo de flujo de trabajo para usar org/my-group o ent/my-group para diferenciar entre los dos.

Usar org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Usar ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]