Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Atribuindo permissões aos trabalhos

Modifique as permissões padrão concedidas para GITHUB_TOKEN.

Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.

Visão Geral

Você pode usar as permissões para modificar as permissões padrão concedidas ao GITHUB_TOKEN, adicionar ou remover o acesso conforme necessário, para que você permita apenas o acesso mínimo necessário. Para obter mais informações, consulte "Autenticação em um fluxo de trabalho".

Você pode usar as permissões de `como uma chave de nível superior, para aplicar a todos os trabalhos do fluxo de trabalho ou em trabalhos específicos. Ao adicionar a chave daspermissõesem um trabalho específico, todas as ações e comandos de execução dentro desse trabalho que usam oGITHUB_TOKEN ganham os direitos de acesso que você especificar. Para obter mais informações, consulte [jobs.<job_id>.permissions`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idpermissions).

Valores de acesso e escopos disponíveis:

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

Se você especificar o acesso para qualquer um desses escopos, todos os que não são especificados são definidos como nenhum.

Você pode usar a sintaxe a seguir para definir o acesso de leitura ou gravação para todos os escopos disponíveis:

permissions: read-all|write-all

Você pode usar a seguinte sintaxe para desabilitar as permissões para todos os escopos disponíveis:

permissions: {}

Você pode usar a chave de permissões para adicionar e remover permissões de leitura para repositórios bifurcados, mas, normalmente, você não pode conceder acesso de gravação. A exceção para esse comportamento é quando um usuário administrador selecionou a opção Enviar tokens para fluxos de trabalho de pull requests nas configurações do GitHub Actions. Para obter mais informações, consulte "Gerenciar configurações de GitHub Actions para um repositório".

Exemplo: Atribuindo permissões ao GITHUB_TOKEN

Este exemplo mostra as permissões que estão sendo definidas para o GITHUB_TOKEN que será aplicado a todos os trabalhos do fluxo de trabalho. É concedido acesso de leitura a todas as permissões.

name: "My workflow"

on: [ push ]

permissions: read-all

jobs:
  ...

Atribuindo permissões a um trabalho específico

Para um trabalho específico, você pode usar jobs.<job_id>.permissions para modificar as permissões padrão concedidas ao GITHUB_TOKEN, adicionar ou remover o acesso conforme necessário, para que você apenas permita o acesso mínimo necessário. Para obter mais informações, consulte "Autenticação em um fluxo de trabalho".

Ao especificar a permissão de uma definição de trabalho, você pode configurar um conjunto diferente de permissões para o GITHUB_TOKEN para cada trabalho, se necessário. Como alternativa, você pode especificar as permissões para todas as tarefas do fluxo de trabalho. Para informações sobre como definir permissões no nível do fluxo de trabalho, consulte permissões.

Valores de acesso e escopos disponíveis:

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

Se você especificar o acesso para qualquer um desses escopos, todos os que não são especificados são definidos como nenhum.

Você pode usar a sintaxe a seguir para definir o acesso de leitura ou gravação para todos os escopos disponíveis:

permissions: read-all|write-all

Você pode usar a seguinte sintaxe para desabilitar as permissões para todos os escopos disponíveis:

permissions: {}

Você pode usar a chave de permissões para adicionar e remover permissões de leitura para repositórios bifurcados, mas, normalmente, você não pode conceder acesso de gravação. A exceção para esse comportamento é quando um usuário administrador selecionou a opção Enviar tokens para fluxos de trabalho de pull requests nas configurações do GitHub Actions. Para obter mais informações, consulte "Gerenciar configurações de GitHub Actions para um repositório".

Exemplo: Configurar permissões para um trabalho específico

Este exemplo mostra as permissões que estão sendo definidas para o GITHUB_TOKEN que só se aplicará ao trabalho denominado stale. O acesso de gravação é concedido para os escopos dos problemas e pull-requests. Todos os outros escopos não terão acesso.

jobs:
  stale:
    runs-on: ubuntu-latest

    permissions:
      issues: write
      pull-requests: write

    steps:
      - uses: actions/stale@v5