Skip to main content

Enforcing policies for GitHub Actions in your enterprise

You can enforce policies for GitHub Actions within your enterprise's organizations, or allow policies to be set in each organization.

Who can use this feature

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

About policies for GitHub Actions in your enterprise

GitHub Actions helps members of your enterprise automate software development workflows on GitHub Enterprise Cloud. For more information, see "Understanding GitHub Actions."

Any organization on GitHub.com can use GitHub Actions. You can enforce policies to control how members of your enterprise on GitHub Enterprise Cloud use GitHub Actions. By default, organization owners can manage how members use GitHub Actions. For more information, see "Disabling or limiting GitHub Actions for your organization."

Enforcing a policy to restrict the use of GitHub Actions in your enterprise

You can choose to disable GitHub Actions for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions and reusable workflows, so that people can only use local actions and reusable workflows that exist in your enterprise.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. Under "Policies", select your options.

    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.

    Enable, disable, or limits actions for this enterprise account

  6. Click Save.

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 usen todas las acciones de GitHub Marketplace creadas por creadores verificados. 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.

    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>/<REPO>@<TAG OR SHA>. Por ejemplo, usa actions/javascript-action@v1.0.1 para seleccionar una etiqueta o actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 para seleccionar un SHA. Para obtener más información, consulta "Búsqueda y personalización de acciones".
    • Para un flujo de trabajo reutilizable, la sintaxis es <OWNER>/<REPO>/<PATH>/<FILENAME>@<TAG OR SHA>. Por ejemplo, octo-org/another-repo/.github/workflows/workflow.yml@v1. Para obtener más información, consulta "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 obtener más información sobre el uso del carácter comodín *, consulta "Sintaxis de 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. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. Under "Policies", select Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables and add your required actions and reusable workflows to the list.

    Add actions and reusable workflows to the allow list

Enforcing a policy for artifact and log retention in your enterprise

GitHub Actions can store artifact and log files. For more information, see "Downloading workflow artifacts."

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. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. En Artifact and log retention, escriba un valor nuevo.

  6. Haga clic en Guardar para aplicar el cambio.

Enforcing a policy for fork pull requests in your enterprise

You can enforce policies to control how GitHub Actions behaves for GitHub.com when members of your enterprise or outside collaborators run workflows from forks.

Enforcing a policy for approval of pull requests from outside collaborators

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.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. En Bifurcar flujos de trabajo de solicitud de incorporación de cambios de colaboradores externos, selecciona tu opción. Las opciones se listan desde la menos hasta la más restrictiva.

    Configurar la aprobación para los flujos de trabajo desde las bifurcaciones públicas

  6. Haz clic en Guardar para aplicar los valores.

Para obtener más información sobre la aprobación de ejecuciones de flujo de trabajo a las que se aplica esta directiva, consulte "Aprobar ejecuciones de flujo de trabajo desde bifurcaciones públicas".

Enforcing a policy for fork pull requests in private repositories

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. Ya que están disponibles únicamente para repositorios privados e internos, puedes configurar estos ajustes de política para empresas, organizaciones o repositorios.

If a policy is enabled for an enterprise, the policy can be selectively disabled in individual organizations or repositories. If a policy is disabled for an enterprise, individual organizations or repositories cannot enable it.

  • 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. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. En Fork pull request workflows (Bifurcar flujos de trabajo de solicitud de incorporación de cambios), seleccione las opciones. Por ejemplo: Habilitación, deshabilitación o limitación de acciones para este repositorio

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

Enforcing a policy for workflow permissions in your enterprise

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

You can set the default permissions for the GITHUB_TOKEN in the settings for your enterprise, organizations, or repositories. If you choose a restricted option as the default in your enterprise settings, this prevents the more permissive setting being chosen in the organization or repository settings.

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.

Configuring the default GITHUB_TOKEN permissions

By default, when you create a new enterprise, GITHUB_TOKEN only has read access for the contents scope.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. Under "Workflow permissions", choose whether you want the GITHUB_TOKEN to have read and write access for all scopes, or just read access for the contents scope.

    Set GITHUB_TOKEN permissions for this enterprise

  6. Click Save to apply the settings.

Preventing GitHub Actions from creating or approving pull requests

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

By default, when you create a new enterprise, workflows are not allowed to create or approve pull requests.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  2. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

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

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

  5. Under "Workflow permissions", use the Allow GitHub Actions to create and approve pull requests setting to configure whether GITHUB_TOKEN can create and approve pull requests.

    Set GITHUB_TOKEN permissions for this enterprise

  6. Click Save to apply the settings.