Acerca de los permisos de GitHub Actions para tu repositorio
De manera predeterminada, GitHub Actions habilita en todos los repositorios y organizaciones. Puedes optar por deshabilitar GitHub Actions o limitarlo a acciones y flujos de trabajo reutilizables en la empresa. Para más información sobre GitHub Actions, consulta Escritura de flujos de trabajo.
Puedes habilitar GitHub Actions para tu repositorio. Cuando habilitas GitHub Actions, los flujos de trabajo pueden ejecutar acciones y flujos de trabajo reutilizables que se encuentran en tu repositorio y en cualquier otro público o interno. Puede deshabilitar GitHub Actions totalmente para su repositorio. Cuando inhabilitas a GitHub Actions, no se ejecuta ningún flujo de trabajo en tu repositorio.
Como alternativa, puedes habilitar GitHub Actions en el repositorio, pero limitar las acciones y los flujos de trabajo reutilizables que puede ejecutar un flujo de trabajo.
Administrar los permisos de GitHub Actions para tu repositorio
Puedes deshabilitar GitHub Actions para un repositorio, o bien establecer una directiva que configure las acciones y los flujos de trabajo reutilizables que se pueden usar en el repositorio.
Note
Es posible que no puedas administrar esta configuración si tu organización tiene una directiva que la invalida o si la administra una empresa que tiene una directiva que lo hace. Para más información, consulta "Inhabilitar o limitar GitHub Actions para tu organización" o "Requerir políticas para las GitHub Actions en tu empresa".
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
Selecciona una opción debajo de "Permisos de las acciones".
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
. -
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:
Note
Es posible que no puedas administrar esta configuración si tu organización tiene una directiva que la invalida o si la administra una empresa que tiene una directiva que lo hace. Para más información, consulta "Inhabilitar o limitar GitHub Actions para tu organización" o "Requerir políticas para las GitHub Actions en tu empresa".
-
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
ygithub
. Para más información, consulta las organizacionesactions
ygithub
. -
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, usaactions/javascript-action@v1.0.1
para seleccionar una etiqueta oactions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f
para seleccionar un SHA. Para obtener más información, vea «Uso de bloques de creación escritos previamente en el flujo de trabajo». - 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 conspace-org
, puedes especificarspace-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".Usa
,
para separar patrones. Por ejemplo, para permitiroctocat
yoctokit
, puedes especificaroctocat/*, octokit/*
.Note
Para GitHub Free, GitHub Pro, GitHub Free para las organizaciones, o los planes GitHub Team, la opción Allow specified actions and reusable workflows solo está disponible en los repositorios públicos.
- Para una acción, la sintaxis es
Este procedimiento muestra cómo agregar acciones específicas y flujos de trabajo reutilizables a la lista de permitidos.
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
En "Actions permissions", seleccione Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables y agregue las acciones necesarias a la lista.
-
Haga clic en Save(Guardar).
Control de los cambios desde las bifurcaciones hasta los flujos de trabajo en repositorios públicos
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. En función de la configuración "Approval for running fork pull request workflows from contributors", los flujos de trabajo de solicitudes de cambios en los repositorios públicos no se ejecutarán automáticamente y pueden necesitar aprobación si:
- La solicitud de cambios la crea un usuario que requiere aprobaciones basadas en la directiva seleccionada.
- El evento de solicitud de cambios lo desencadena un usuario que requiere aprobaciones basadas en la directiva seleccionada.
Predeterminadamente, todos los contribuyentes de primera vez necesitan aprobación para ejecutar flujos de trabajo.
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".
Warning
Estas directivas de aprobación de flujo de trabajo están pensadas para restringir el conjunto de usuarios que pueden ejecutar flujos de trabajo en ejecutores de GitHub Actions que podrían provocar un consumo inesperado de recursos y procesos al usar ejecutores hospedados en GitHub. Si usas ejecutores auto-hospedados, el código de flujo de trabajo controlado por el usuario potencialmente malintencionado se ejecutará automáticamente si el usuario puede omitir la aprobación en la directiva de aprobación establecida o si se aprueba la solicitud de cambios. Debes tener en cuenta el riesgo de ejecutar este código en la infraestructura y revisar y seguir las recomendaciones de seguridad del ejecutor auto-hospedado independientemente de la configuración de aprobación utilizada. Consulte "Fortalecimiento de seguridad para GitHub Actions".
Puedes configurar este comportamiento para un repositorio si utilizas el siguiente procedimiento. El modificar este ajuste anula la configuración que se haya hecho a nviel organizacional o empresarial.
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
En Approval for running fork pull request workflows from contributors, elige qué subconjunto de usuarios necesitará aprobación antes de ejecutar flujos de trabajo en sus solicitudes de cambios. Tanto el autor de la solicitud de cambios como el actor del evento de solicitud de cambios que desencadena el flujo de trabajo se comprobarán para determinar si se requiere aprobación. Si se requiere aprobación, un usuario con acceso de escritura al repositorio debe aprobar el flujo de trabajo de solicitud de cambios que se va a ejecutar. Consulte "Aprobar ejecuciones de flujo de trabajo desde bifurcaciones públicas".
Warning
Cuando se requieren aprobaciones solo para colaboradores por primera vez (las dos primeras configuraciones), un usuario que haya tenido cualquier confirmación o solicitud de cambios combinadas en el repositorio no requerirá aprobación. Un usuario malintencionado podría cumplir este requisito obteniendo un simple error tipográfico u otro cambio inocuo aceptado por un mantenedor, ya sea como parte de una solicitud de cambios que han creado o como parte de la solicitud de cambios de otro usuario.
- Requerir aprobación para los colaboradores por primera vez que no están familiarizados con GitHub. Solo los usuarios que son nuevos en GitHub y que nunca han tenido una confirmación o solicitud de cambios combinadas en este repositorio requerirán aprobación para ejecutar flujos de trabajo.
- Requerir aprobación para colaboradores por primera vez. Solo los usuarios que nunca han tenido una confirmación o solicitud de cambios combinadas en este repositorio requerirán aprobación para ejecutar flujos de trabajo.
- Require approval for all external contributors Todos los usuarios que no sean miembros o propietarios de este repositorio y que no sean miembros de la organización requerirán aprobación para ejecutar flujos de trabajo.
-
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".
Habilitación de flujos de trabajo para bifurcaciones de 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 inhabilita una directiva para una empresa u organización, esta no puede habilitarse para un repositorio.
- 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.
Configuración de la directiva de bifurcación para un repositorio privado
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
En Fork pull request workflows (Bifurcar flujos de trabajo de solicitud de incorporación de cambios), seleccione las opciones.
-
Haga clic en Save (Guardar) para aplicar los valores.
Establecimiento de los permisos de GITHUB_TOKEN
para el repositorio
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.
Los permisos predeterminados también pueden configurarse en los ajustes de la organización. Si tu repositorio pertenece a una organización y se ha seleccionado un valor predeterminado más restrictivo en la configuración de la organización, la misma opción se selecciona en tu configuración de repositorio y la opción permisiva se deshabilita.
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 un repositorio en la cuenta personal, GITHUB_TOKEN
solo tiene acceso de lectura para los ámbitos contents
y packages
. Si creas un nuevo repositorio en una organización, el parámetro se hereda de lo que se ha configurado en los parámetros de la organización.
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
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 permisoscontents
ypackages
(el valor restrictivo). -
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 un nuevo repositorio en la cuenta personal, los flujos de trabajo no podrán crear o aprobar solicitudes de incorporación de cambios. Si creas un nuevo repositorio en una organización, el parámetro se hereda de lo que se ha configurado en los parámetros de la organización.
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
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. -
Haga clic en Save para aplicar los valores.
Permitir el acceso a los componentes en un repositorio interno
Las acciones y los flujos de trabajo reutilizables de los repositorios internos se pueden compartir con repositorios internos y privados en la misma organización o empresa.Para obtener información sobre los repositorios internos, consulta Acerca de los repositorios.
Puedes usar los pasos que se describen a continuación para configurar si se puede acceder a las acciones y los flujos de trabajo reutilizables en un repositorio interno desde fuera del repositorio. Para más información, consulta Compartir acciones y flujos de trabajo con tu empresa. Como alternativa, la API de REST también permite configurar u obtener detalles del nivel de acceso. Para más información, consulta Puntos de conexión de API de REST para permisos de Acciones de GitHub y Puntos de conexión de API de REST para permisos de Acciones de GitHub.
-
En GitHub, navega hasta la página principal del repositorio interno.
-
En el nombre del repositorio, haz clic en Configuración.
-
En la barra lateral izquierda, haz clic en Acciones y, después, en General.
-
En Access, elija una de las opciones de configuración de acceso:
- Not accessible: los flujos de trabajo de otros repositorios no pueden acceder a este repositorio.
- Con acceso desde los repositorios de la organización "NOMBRE ORGANIZACIÓN": Los flujos de trabajo de otros repositorios que sean parte de la organización "NOMBRE ORGANIZACIÓN" pueden acceder a las acciones y los flujos de trabajo reutilizables de este repositorio. Se permite el acceso solo desde los repositorios internos o privados.
- Con acceso desde los repositorios de la empresa "NOMBRE EMPRESA": Los flujos de trabajo de otros repositorios que sean parte de la empresa "NOMBRE EMPRESA" pueden acceder a las acciones y los flujos de trabajo reutilizables de este repositorio. Se permite el acceso únicamente desde los repositorios internos o privados.
-
Haga clic en Save para aplicar los valores.
Permitir el acceso a los componentes en un repositorio interno
Las acciones y los flujos de trabajo reutilizables de los repositorios privados se pueden compartir con otros repositorios privados en la misma organización o empresa. Para obtener más información sobre los repositorios privados, consulta Acerca de los repositorios.
Los pasos siguientes permiten configurar si se puede acceder a acciones y flujos de trabajo reutilizables en un repositorio privado desde fuera del repositorio. Para obtener más información, consulta Compartir acciones y flujos de trabajo con tu empresa. Como alternativa, puedes usar la API REST para establecer o obtener detalles del nivel de acceso. Para más información, consulta Puntos de conexión de API de REST para permisos de Acciones de GitHub y Puntos de conexión de API de REST para permisos de Acciones de GitHub.
- En GitHub, navega hasta la página principal del repositorio privado.
- En el nombre del repositorio, haz clic en Configuración.
- En la barra lateral izquierda, haz clic en Acciones y, después, en General.
- En Access, elija una de las opciones de configuración de acceso:
- Not accessible: los flujos de trabajo de otros repositorios no pueden acceder a este repositorio.
- Con acceso desde los repositorios de la organización "NOMBRE ORGANIZACIÓN" : Los flujos de trabajo de otros repositorios que sean parte de la organización "NOMBRE ORGANIZACIÓN" pueden acceder a las acciones y los flujos de trabajo de este repositorio. El acceso solo se permite desde repositorios privados.
- Con acceso desde los repositorios de la empresa "NOMBRE EMPRESA" : Los flujos de trabajo de otros repositorios que sean parte de la empresa "NOMBRE EMPRESA" pueden acceder a las acciones y los flujos de trabajo de este repositorio. El acceso solo se permite desde repositorios privados.
- Haga clic en Save (Guardar) para aplicar los valores.
Configurar el periodo de retención de los artefactos y bitácoras de las GitHub Actions en tu repositorio
Puedes configurar el periodo de retenciòn para los artefactos de las GitHub Actions y las bitàcoras en tu repositorio.
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.
Tambièn puedes definir un periodo de retenciòn personalizado para un artefacto especìfico que haya creado un flujo de trabajo. Para más información, consulta Eliminar artefactos de flujo de trabajo.
Configurar el periodo de retenciòn para un repositorio
-
En GitHub, navegue hasta 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 barra lateral izquierda, haz clic en Acciones y, después, en General.
-
En Artefacto y retención de registros, escriba un nuevo valor.
-
Haga clic en Guardar para aplicar el cambio.