Skip to main content

Requerir políticas para las GitHub Actions en tu empresa

Puedes requerir políticas para las GitHub Actions dentro de las organizaciones de tu empresa o permitir que estas se configuren en cada organización.

¿Quién puede utilizar esta característica?

Enterprise owners can enforce policies for GitHub Actions in an enterprise.

Acerca de las políticas para GitHub Actions en tu empresa

Las GitHub Actions ayudan a los miembros de tu empresa a automatizar los flujos de trabajo de desarrollo de software en GitHub Enterprise Cloud. Para obtener más información, vea «Entender las GitHub Actions».

Cualquier organización en GitHub.com podrá utilizar GitHub Actions. Puedes requerir políticas para controlar la forma en la que los miembros de tu empresa de GitHub Enterprise Cloud utilizan las GitHub Actions. Predeterminadamente, los propietarios de las organizaciones pueden administrar la forma en la que los miembros utilizan las GitHub Actions. Para obtener más información, vea «Inhabilitar o limitar GitHub Actions para tu organización».

Aplicación de una directiva para restringir el uso de GitHub Actions en la empresa

Puedes elegir inhabilitar GitHub Actions para todas las organizaciones en tu empresa, o puedes permitir solo organizaciones específicas. También puedes limitar el uso de acciones públicas y flujos de trabajo reutilizables, de modo que los usuarios solo puedan utilizar acciones locales y flujos de trabajo reutilizables que existan en la empresa.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. Debajo de "Políticas", selecciona tus opciones.

    Si eliges Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables, se permiten acciones y flujos de trabajo reutilizables en tu empresa y hay opciones adicionales para permitir otras acciones específicas y flujos de trabajo reutilizables. Para obtener más información, consulta "Habilitación de la ejecución de acciones seleccionadas y flujos de trabajo reutilizables".

    Al permitir acciones y flujos de trabajo reutilizables solo en tuempresa, la directiva bloquea todo el acceso a las acciones que crea GitHub. Por ejemplo, no se podría acceder a la acción actions/checkout.

  6. Haga clic en Save(Guardar).

Habilitación de la ejecución de acciones seleccionadas y flujos de trabajo reutilizables

Al elegir Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables, se permiten acciones locales y flujos de trabajo reutilizables y hay opciones adicionales para permitir otras acciones específicas y flujos de trabajo reutilizables:

  • Permitir las acciones que crea GitHub: Puedes permitir que los flujos de trabajo utilicen todas las acciones que haya creado GitHub. Las acciones que crea GitHub se encuentran en las organizaciones actions y github. Para más información, consulta las organizaciones actions y github.

  • Permitir las acciones de Marketplace de creadores verificados: Puedes permitir que los flujos de trabajo utilicen todas las acciones de GitHub Marketplace creadas por creadores comprobados. Cuando GitHub haya verificado al creador de la acción como una organización asociada, se mostrará la insignia de junto a la acción en GitHub Marketplace.

  • Permitir las acciones especificadas y los flujos de trabajo reutilizables: Puedes restringir los flujos de trabajo para que utilicen acciones y flujos de trabajo reutilizables en organizaciones y repositorios concretos. Las acciones especificadas no se pueden establecer en más de 1000.

    Para restringir el acceso a etiquetas específicas o confirmar los SHA de una acción o un flujo de trabajo reutilizable, usa la misma sintaxis que se usa en el flujo de trabajo para seleccionar la acción o el flujo de trabajo reutilizable.

    • Para una acción, la sintaxis es OWNER/REPOSITORY@TAG-OR-SHA. Por ejemplo, usa actions/javascript-action@v1.0.1 para seleccionar una etiqueta o actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f para seleccionar un SHA. Para obtener más información, vea «Encontrar y personalizar las acciones».
    • Para un flujo de trabajo reutilizable, la sintaxis es OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHA. Por ejemplo, octo-org/another-repo/.github/workflows/workflow.yml@v1. Para obtener más información, vea «Reutilización de flujos de trabajo».

    Puedes usar el carácter comodín * para buscar coincidencias con patrones. Por ejemplo, para permitir todas las acciones y los flujos de trabajo reutilizables en las organizaciones que comienzan con space-org, puedes especificar space-org*/*. Para permitir todas las acciones y los flujos de trabajo reutilizables en los repositorios que empiezan con octocat, puedes usar */octocat**@*. Para más información sobre el uso del carácter comodín *, consulta "Sintaxis del flujo de trabajo para Acciones de GitHub".

Nota: La opción Permitir las acciones especificadas y los flujos de trabajo reutilizables solo está disponible en los repositorios públicos con el plan GitHub Free, GitHub Pro, GitHub Free para organizaciones o GitHub Team.

Este procedimiento muestra cómo agregar acciones específicas y flujos de trabajo reutilizables a la lista de permitidos.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En "Directivas", selecciona Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables y agrega las acciones necesarias y los flujos de trabajo reutilizables a la lista.

Deshabilitación de ejecutores autohospedados de nivel de repositorio

No hay ninguna garantía de que los ejecutores autohospedados para GitHub Enterprise Cloud se vayan a hospedar en máquinas virtuales efímeras y limpias. Como resultado, el código que no es de confianza puede ponerlas en peligro en un flujo de trabajo.

De manera similar, cualquier usuario que pueda bifurcar el repositorio y abrir una solicitud de incorporación de cambios (por lo general, aquellos con acceso de lectura al repositorio) puede poner en riesgo el entorno del ejecutor autohospedado, incluida la obtención de acceso a los secretos y a GITHUB_TOKEN que, en función de su configuración, puede conceder acceso de lectura al repositorio. Aunque los flujos de trabajo pueden controlar el acceso a los secretos de ambiente utilizando ambientes y revisiones requeridas, estos flujos de trabajo no se encuentran en un ambiente aislado y aún son susceptibles a los mismos riesgos cuando se ejecutan en un ejecutor auto-hospedado.

Por estos y otros motivos, puede que decidas impedir que los usuarios creen ejecutores autohospedados en el nivel de repositorio. Para obtener más información sobre cómo crear ejecutores autohospedados en el nivel de repositorio, consulta "Agrega ejecutores auto-hospedados".

De forma predeterminada, cualquier persona con acceso de administrador a un repositorio puede agregar un ejecutor autohospedado para el repositorio. La configuración empresarial permite deshabilitar el uso de ejecutores autohospedados de nivel de repositorio en todos los repositorios de la empresa. Si permites ejecutores autohospedados de nivel de repositorio para tu empresa, los propietarios de la organización pueden optar por permitir o impedir la creación de ejecutores autohospedados de nivel de repositorio para algunos o todos los repositorios de su organización. Para más información, consulta "Inhabilitar o limitar GitHub Actions para tu organización".

Nota: Cuando se deshabilita la creación de ejecutores autohospedados de nivel de repositorio, los flujos de trabajo pueden seguir teniendo acceso a los ejecutores autohospedados que se han configurado en el nivel empresarial o de organización.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En la sección "Ejecutores", selecciona Disable for all organizations (Deshabilitar para todas las organizaciones).

    Nota: Los propietarios de empresa con usuarios administrados también pueden elegir Disable in all Enterprise Managed User (EMU) repositories (Deshabilitar en todos los repositorios de usuarios administrados de empresa [EMU]) con el fin de restringir la creación del ejecutor para los repositorios que son propiedad de cuentas de usuario administradas.

  6. Haga clic en Guardar para aplicar el cambio.

Requerir una política para la retención de bitácoras y artefactos en tu empresa

Las GitHub Actions pueden restablecer los archivos de bitácora y artefactos. Para obtener más información, vea «Descargar los artefactos del flujo de trabajo».

Predeterminadamente, los artefactos y archivos de bitácora que generan los flujos de trabajo se retienen por 90 días antes de que se borren automáticamente. Puedes ajustar el periodo de retención dependiendo del tipo de repositorio:

  • Para los repositorios públicos: puedes cambiar este periodo de retención a cualquier cantidad entre 1 o 90 días.
  • En el caso de los repositorios privados e internos: puedes cambiar este periodo de retención a cualquier valor entre 1 y 400 días.

Cuando personalizas el periodo de retención, esto aplicará solamente a los artefactos y archivos de bitácora nuevos, y no aplicará retroactivamente a los objetos existentes. Para los repositorios y organizaciones administrados, el periodo de retención máximo no puede exceder el límite que configuró la organización o empresa administradora.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En Artefacto y retención de registros, escriba un nuevo valor.

  6. Haga clic en Guardar para aplicar el cambio.

Requerir una política para bifurcar solicitudes de cambio en tu empresa

Puedes requerir políticas para controlar la forma en la que se comportan las GitHub Actions en GitHub.com cuando los miembros de tu empresa o colaboradores externos ejecutan flujos de trabajo desde las bifurcaciones.

Requerir una política para la aprobación de las solicitudes de cambio desde los colaboradores externos

Cualquiera puede bifurcar un repositorio público y luego emitir una solicitud de cambios que proponga cambios en los flujos de trabajo de GitHub Actions del mismo. Aunque los flujos de trabajo de las bifurcaciones no tienen acceso a datos sensibles tales como los secretos, pueden ser molestos para los mantenedores si se modifican para fines de abuso.

Para ayudar a prevenir esto, los flujos de trabajo sobre las solicitudes de cambio en los repositorios públicos de algunos contribuyentes no se ejecutarán automáticamente y podrían necesitar aprobarse primero. Predeterminadamente, todos los contribuyentes de primera vez necesitan aprobación para ejecutar flujos de trabajo.

Nota: Los flujos de trabajo desencadenados por eventos pull_request_target se ejecutan en el contexto de la rama base. Ya que la rama base se considera como confiable, los flujos de trabajo que activen estos eventos siempre se ejecutarán, sin importar los ajustes de aprobaciones. Para obtener más información sobre el evento pull_request_target, consulte "Eventos que desencadenan flujos de trabajo".

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En Bifurcar flujos de trabajo de solicitud de incorporación de cambios de colaboradores externos, elige una de las opciones.

    • Requerir aprobación para los colaboradores por primera vez que no están familiarizados con GitHub. Esta opción requiere aprobación para ejecutar flujos de trabajo para los usuarios que nunca han confirmado nada en el repositorio y tienen nuevas cuentas de GitHub.
    • Requerir aprobación para colaboradores por primera vez. Esta opción requiere aprobación para ejecutar flujos de trabajo para los usuarios que nunca han confirmado nada en el repositorio.
    • Requerir aprobación para todos los colaboradores externos. Esta opción requiere aprobación para ejecutar flujos de trabajo para todos los usuarios que no sean colaboradores del repositorio. Si el repositorio es propiedad de una organización, esta opción requiere aprobación para ejecutar flujos de trabajo para todos los colaboradores del repositorio que no sean miembros de la organización.
  6. Haga clic en Save (Guardar) para aplicar los valores.

Para más información sobre cómo aprobar ejecuciones de flujo de trabajo a las que se aplica esta directiva, consulta "Aprobar ejecuciones de flujo de trabajo desde bifurcaciones públicas".

Requerir una política para bifurcar solicitudes de cambio en repositorios privados

Si se basa en el uso de bifurcaciones de sus repositorios privados, puede configurar las directivas que controlan cómo los usuarios pueden ejecutar flujos de trabajo en los eventos de pull_request. Están disponibles solo para repositorios privados e internos. Puedes configurar estas opciones de directiva para empresas, organizaciones o repositorios.

Si se habilita una política para una empresa, esta puede inhabilitarse selectivamente en organizaciones o repositorios individuales. Si se inhabilita una política para una empresa, las organizaciones o repositorios individuales no pueden habilitarla.

  • Ejecutar flujos de trabajo desde solicitudes de incorporación de cambios de bifurcación: permite a los usuarios ejecutar flujos de trabajo desde solicitudes de incorporación de cambios de bifurcación, utilizando un GITHUB_TOKEN con permiso de solo lectura y sin acceso a secretos.
  • Enviar tokens de escritura a flujos de trabajo desde solicitudes de incorporación de cambios: permite que las solicitudes de incorporación de cambios de bifurcaciones usen un GITHUB_TOKEN con permiso de escritura.
  • Enviar secretos a flujos de trabajo desde solicitudes de incorporación de cambios: hace que todos los secretos estén disponibles para la solicitud de incorporación de cambios.
  • Requerir aprobación para flujos de trabajo de solicitud de incorporación de cambios de bifurcación: las ejecuciones de flujo de trabajo en solicitudes de incorporación de cambios de colaboradores sin permiso de escritura requerirá la aprobación de alguien con permiso de escritura antes de que se ejecuten.
  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En Fork pull request workflows (Bifurcar flujos de trabajo de solicitud de incorporación de cambios), seleccione las opciones.

  6. Haga clic en Save (Guardar) para aplicar los valores.

Requerir una política para los permisos de flujo de trabajo en tu empresa

Puedes establecer los permisos predeterminados concedidos al GITHUB_TOKEN. Para obtener más información sobre GITHUB_TOKEN, consulta "Autenticación automática de tokens". Puedes elegir un conjunto restringido de permisos como valor predeterminado o aplicar la configuración permisiva.

Puedes configurar los permisos predeterminados para GITHUB_TOKEN en la configuración de la empresa, las organizaciones o los repositorios. Si eliges una opción restringida como valor predeterminado en la configuración de tu empresa, esto impide que puedas elegir configuraciones más permisivas en la configuración de la organización o el repositorio.

Cualquiera con acceso de escritura en un repositorio puede modificar los permisos que se han otorgado a GITHUB_TOKEN, y agregar o quitar el acceso según sea necesario, si editan la clave permissions en el archivo de flujo de trabajo. Para más información, vea permissions.

Configuración de los permisos de GITHUB_TOKEN predeterminados

De manera predeterminada, al crear una empresa, GITHUB_TOKEN solo tiene acceso de lectura para los ámbitos contents y packages.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En "Permisos de flujo de trabajo", elige si quieres que GITHUB_TOKEN tenga acceso de lectura y escritura en todos los ámbitos (el valor permisivo), o simplemente acceso de lectura para los ámbitos contents y packages (el valor restrictivo).

  6. Haga clic en Save (Guardar) para aplicar los valores.

Impedir la creación o aprobación de solicitudes de incorporación de cambios por parte de GitHub Actions

Puedes elegir si permitir o impedir que los flujos de trabajo de GitHub Actions creen o aprueben las solicitudes de incorporación de cambios.

De manera predeterminada, al crear una empresa, los flujos de trabajo no podrán crear o aprobar solicitudes de incorporación de cambios.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

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

  5. En "Permisos de flujo de trabajo", usa la opción Permitir que Acciones de GitHub cree y apruebe solicitudes de incorporación de cambios para configurar si GITHUB_TOKEN puede crear y aprobar solicitudes de incorporación de cambios.

  6. Haga clic en Save para aplicar los valores.