Skip to main content

Esta versión de GitHub Enterprise se discontinuará el 2022-10-12. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Asignar permisos a los jobs

Modifica los permisos predeterminados concedidos a GITHUB_TOKEN.

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.

Información general

Puede usar permissions para modificar los permisos predeterminados concedidos a GITHUB_TOKEN si se agrega o elimina el acceso según sea necesario, de forma que solo se permita el acceso mínimo necesario. Para obtener más información, vea "Autenticación en un flujo de trabajo".

Puede utilizar permissions ya sea como una clave de nivel superior, para aplicarlos a todos los trabajos en el flujo de trabajo, o en los trabajos específicos. Cuando agrega la clave permissions en un trabajo específico, todas las acciones y comandos de ejecución dentro de este que utilicen GITHUB_TOKEN obtendrán los derechos de acceso que especifique. Para más información, vea jobs.<job_id>.permissions.

Alcances y valores de acceso disponibles:

permissions:
  actions: read|write|none
  checks: read|write|none
  contents: read|write|none
  deployments: read|write|none
  issues: read|write|none
  discussions: read|write|none
  packages: read|write|none
  pages: read|write|none
  pull-requests: read|write|none
  repository-projects: read|write|none
  security-events: read|write|none
  statuses: read|write|none

Si especifica el acceso para cualquiera de estos ámbitos, todos los que no se especifiquen se establecen en none.

Puedes utilizar la siguiente sintaxis para definir el acceso de lectura o escritura para todos los alcances disponibles:

permissions: read-all|write-all

Puedes utilizar la siguiente sintaxis para inhabilitar los permisos para todos los alcances disponibles:

permissions: {}
``` Puede usar la clave `permissions` a fin de agregar y quitar permisos de lectura para repositorios bifurcados, pero normalmente no se puede conceder acceso de escritura. La excepción a este comportamiento es cuando un usuario administrador ha seleccionado la opción **Enviar tokens a flujos de trabajo desde solicitudes de incorporación de cambios** en la configuración de GitHub Actions. Para más información, vea "[Administración de la configuración de GitHub Actions para un repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)".

### Ejemplo: Asignar permisos a un GITHUB_TOKEN

En este ejemplo se muestran los permisos que se están configurando para `GITHUB_TOKEN` que aplicará a todos los trabajos en el flujo de trabajo. Se otorga acceso de lectura a todos los permisos.

```yaml
name: "My workflow"

on: [ push ]

permissions: read-all

jobs:
  ...

Asignar los permisos para un job específico

Para un trabajo concreto, puede usar jobs.<job_id>.permissions para modificar los permisos predeterminados concedidos a GITHUB_TOKEN si se agrega o elimina el acceso según sea necesario, de forma que solo se permita el acceso mínimo necesario. Para más información, vea "Autenticación en un flujo de trabajo".

Al especificar el permiso dentro de una definición de trabajo, puede configurar un conjunto diferente de permisos para el GITHUB_TOKEN de cada trabajo, si es necesario. Como alternativa, puedes especificar los permisos para todos los jobs en el flujo de trabajo. Para obtener información sobre cómo definir permisos en el nivel de flujo de trabajo, vea permissions.

Alcances y valores de acceso disponibles:

permissions:
  actions: read|write|none
  checks: read|write|none
  contents: read|write|none
  deployments: read|write|none
  issues: read|write|none
  discussions: read|write|none
  packages: read|write|none
  pages: read|write|none
  pull-requests: read|write|none
  repository-projects: read|write|none
  security-events: read|write|none
  statuses: read|write|none

Si especifica el acceso para cualquiera de estos ámbitos, todos los que no se especifiquen se establecen en none.

Puedes utilizar la siguiente sintaxis para definir el acceso de lectura o escritura para todos los alcances disponibles:

permissions: read-all|write-all

Puedes utilizar la siguiente sintaxis para inhabilitar los permisos para todos los alcances disponibles:

permissions: {}
``` Puede usar la clave `permissions` a fin de agregar y quitar permisos de lectura para repositorios bifurcados, pero normalmente no se puede conceder acceso de escritura. La excepción a este comportamiento es cuando un usuario administrador ha seleccionado la opción **Enviar tokens a flujos de trabajo desde solicitudes de incorporación de cambios** en la configuración de GitHub Actions. Para más información, vea "[Administración de la configuración de GitHub Actions para un repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)".

#### Ejemplo: Configurar los permisos para un job específico

En este ejemplo se muestran los permisos establecidos para `GITHUB_TOKEN` que solo se aplicarán al trabajo denominado `stale`. Se concede acceso de escritura a los ámbitos `issues` y `pull-requests`. El resto de los alcances no tendrán acceso.

```yaml
jobs:
  stale:
    runs-on: ubuntu-latest

    permissions:
      issues: write
      pull-requests: write

    steps:
      - uses: actions/stale@v4