Skip to main content

Desabilitando ou limitando GitHub Actions para sua organização

Você pode habilitar, desabilitar e limitar GitHub Actions para uma organização.

Quem pode usar esse recurso?

Organization owners and users with the "Manage organization Actions policies" and "Manage runners and runner groups" fine-grained permissions can enable, disable, and limit GitHub Actions for an organization.

For more information, see Permissões de funções de organização personalizadas.

Sobre as permissões de GitHub Actions para a sua organização

Por padrão, GitHub Actions será habilitado em todos os repositórios e organizações. Você pode optar por desabilitar o GitHub Actions ou limitá-lo às ações e aos fluxos de trabalho reutilizáveis da sua empresa. Para obter mais informações sobre GitHub Actions, confira Escrevendo fluxos de trabalho.

Você pode habilitar o GitHub Actions para todos os repositórios da sua organização. Quando você habilita o GitHub Actions, os fluxos de trabalho podem executar ações e fluxos de trabalho reutilizáveis localizados no seu repositório e em qualquer outro repositório público ou interno. Você pode desabilitar o GitHub Actions em todos os repositórios da sua organização. Quando desativar GitHub Actions, nenhum fluxo de trabalho é executado em seu repositório.

Como alternativa, você pode habilitar o GitHub Actions em todos os repositórios da organização, mas limitar as ações e os fluxos de trabalho reutilizáveis que um fluxo de trabalho pode executar.

Gerenciar as permissões de GitHub Actions para a sua organização

Você pode optar por desabilitar o GitHub Actions em todos os repositórios da sua organização ou permitir apenas repositórios específicos. Você também pode limitar o uso de ações públicas e de fluxos de trabalho reutilizáveis, para que as pessoas só possam usar as ações locais e os fluxos de trabalho reutilizáveis existentes na empresa.

Observação

Talvez você não consiga gerenciar essas configurações se sua organização for gerenciada por uma corporação que tem uma política predominante. Para saber mais, confira Impor políticas para GitHub Actions em sua empresa.

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  2. Ao lado da organização, clique em Configurações.

  3. Na barra lateral esquerda, clique em Actions e clique em General.

  4. Em "Políticas", selecione uma opção.

    Se você escolher Permitir a empresa e fluxos de trabalho reutilizáveis e ações selecionados que não são empresa, as ações e os fluxos de trabalho reutilizáveis na empresa serão permitidos, e haverá opções adicionais para permitir outras ações e fluxos de trabalho reutilizáveis específicos. Para saber mais, confira Como permitir a execução de ações selecionadas e fluxos de trabalho reutilizáveis.

    Quando você permite ações e fluxos de trabalho reutilizáveis somente no sua empresa, a política bloqueia todo o acesso às ações criadas pelo GitHub. Por exemplo, a ação actions/checkout não estará acessível.

    Quando você habilita Require actions to be pinned to a full-length commit SHA, todas as ações devem ser fixadas em um SHA de commit de comprimento integral a ser usado. Isso inclui ações da empresa e ações criadas pelo GitHub. Fluxos de trabalho reutilizáveis ainda podem ser referenciados por tag. Para obter mais informações, consulte Referência de uso seguro.

  5. Clique em Salvar.

Permitindo a execução de ações selecionadas e fluxos de trabalho reutilizáveis

Quando você escolhe Permitir a empresa e fluxos de trabalho reutilizáveis e ações selecionados que não são empresa, as ações locais e os fluxos de trabalho reutilizáveis são permitidos e há opções adicionais para permitir outras ações específicas e fluxos de trabalho reutilizáveis:

Observação

Talvez você não consiga gerenciar essas configurações se sua organização tiver uma política de substituição ou for gerenciada por uma conta corporativa que tem uma política de substituição. Para obter mais informações, confira Desabilitando ou limitando GitHub Actions para sua organização ou Impor políticas para GitHub Actions em sua empresa.

  •           **Permitir ações criadas pelo GitHub:** você pode permitir que todas as ações criadas pelo GitHub sejam usadas por fluxos de trabalho. As ações criadas pelo GitHub estão localizadas nas organizações `actions` e `github`. Para obter mais informações, consulte [`actions`](https://github.com/actions) e organizações [`github`](https://github.com/github).
    
  •           **Permitir ações do Marketplace de criadores verificados:**  Você pode permitir que todas as ações do GitHub Marketplace criadas por criadores verificados sejam usadas por fluxos de trabalho. Quando o GitHub verificou o criador da ação como uma organização parceira, o selo de <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-verified" aria-label="The verified badge" role="img"><path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg> é exibido ao lado da ação em GitHub Marketplace.
    
  •           **Permitir ou bloquear ações especificadas e fluxos de trabalho reutilizáveis:** Você pode restringir fluxos de trabalho para usar ações e fluxos de trabalho reutilizáveis em organizações e repositórios específicos. Não é possível configurar mais de 1000 ações especificadas.
    

    Para restringir o acesso a tags ou SHAs de commit específicos de uma ação ou um fluxo de trabalho reutilizável, use a mesma sintaxe usada no fluxo de trabalho para selecionar a ação ou o fluxo de trabalho reutilizável.

    • Para uma ação, a sintaxe é OWNER/REPOSITORY@TAG-OR-SHA. Por exemplo, use actions/javascript-action@v1.0.1 para selecionar uma tag ou actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f para selecionar um SHA. Para saber mais, confira Usando blocos de construção pré-gravados no seu fluxo de trabalho.
    • Para um fluxo de trabalho reutilizável, a sintaxe é OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHA. Por exemplo, octo-org/another-repo/.github/workflows/workflow.yml@v1. Para saber mais, confira Reutilizar fluxos de trabalho.

    Você pode usar o caractere curinga * para fazer a correspondência de padrões. Por exemplo, para permitir todas as ações e fluxos de trabalho reutilizáveis em organizações que começam com space-org, especifique space-org*/*. Para permitir todas as ações e fluxos de trabalho reutilizáveis em repositórios que começam com octocat, use */octocat**@*. Para saber mais sobre o uso do caractere curinga *, consulte Sintaxe de fluxo de trabalho para o GitHub Actions.

    Use , para separar padrões. Por exemplo, para permitir todas as ações e fluxos de trabalho reutilizáveis das organizações octocat e octokit, você pode especificar octocat/*, octokit/*.

    Use o prefixo ! para bloquear padrões. Por exemplo, para permitir todas as ações e fluxos de trabalho reutilizáveis da organização space-org, mas bloquear uma ação específica como space-org/action, você pode especificar space-org/*, !space-org/action@*. Por padrão, somente ações e fluxos de trabalho reutilizáveis especificados na lista serão permitidos. Para permitir todas as ações e fluxos de trabalho reutilizáveis enquanto também bloqueia ações específicas, você pode especificar *, !space-org/action@*.

Este procedimento demonstra como adicionar ações e fluxos de trabalho reutilizáveis específicos à lista.

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.
  2. Ao lado da organização, clique em Configurações.
  3. Na barra lateral esquerda, clique em Actions e clique em General.
  4. Em "Políticas", selecione Permitir a empresa e fluxos de trabalho reutilizáveis e ações selecionados que não são empresa e adicione as ações necessárias e os fluxos de trabalho reutilizáveis à lista.
  5. Clique em Salvar.

Como limitar o uso de executores auto-hospedados

Não há garantia de que executores auto-hospedados do GitHub serão hospedados em máquinas virtuais efêmeras e limpas. Como resultado, eles podem ficar comprometidos por código não confiável em um fluxo de trabalho.

Da mesma forma, qualquer pessoa que possa criar um fork do repositório e abrir uma solicitação de pull (geralmente aqueles com acesso de leitura no repositório) pode comprometer o ambiente do executor auto-hospedado, incluindo a obtenção do acesso a segredos e ao GITHUB_TOKEN que, dependendo das configurações, pode permitir o acesso de gravação no repositório. Embora os fluxos de trabalho possam controlar o acesso a segredos de ambiente usando os ambientes e revisões necessários, estes fluxos de trabalho não são executados em um ambiente isolado e continuam sendo susceptíveis aos mesmos riscos quando são executados por um executor auto-hospedado.

Por esses e outros motivos, você pode decidir impedir que as pessoas criem executores auto-hospedados no nível do repositório.

Observação

Se sua organização pertence a uma empresa, a criação de executores auto-hospedados no nível do repositório pode ter sido desabilitada como uma configuração de toda a empresa. Se isso tiver sido feito, você não poderá habilitar executores auto-hospedados no nível do repositório nas configurações da sua organização. Para saber mais, confira Impor políticas para GitHub Actions em sua empresa.

Se um repositório já tiver executores auto-hospedados quando você desabilitar o uso deles, eles serão listados com o status "Desabilitado" e não receberão novos trabalhos de fluxo de trabalho.

Captura de tela da lista "Executores" mostrando um executor auto-hospedado com o status "Desabilitado."

Observação

Quando a criação de executores auto-hospedados no nível do repositório está desabilitada, os fluxos de trabalho ainda podem acessar executores auto-hospedados em nível de empresa ou de organização.

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.
  2. Ao lado da organização, clique em Configurações.
  3. Na barra lateral esquerda, clique em Actions e clique em General.
  4. Em "Executores", use o menu suspenso para escolher sua configuração preferida:
    •           **Todos os repositórios** – executores auto-hospedados podem ser usados para qualquer repositório em sua organização.
      
    •      **Repositórios selecionados** – executores auto-hospedados só podem ser usados para os repositórios selecionados.
      
    •      **Desabilitado** – executores auto-hospedados não podem ser criados no nível do repositório.
      
  5. Se você escolher Repositórios selecionados:
    1. Clique em .
    2. Selecione as caixas de seleção para os repositórios para os quais você deseja permitir executores auto-hospedados.
    3. Clique em Selecionar repositórios.

Configurar a aprovação necessária para fluxos de trabalho de bifurcações públicas

Qualquer pessoa pode bifurcar um repositório público e, em seguida, enviar um pull request que proponha alterações nos fluxos de trabalho do repositório de GitHub Actions. Embora os fluxos de trabalho das bifurcações não tenham acesso a dados confidenciais como segredos, podem ser uma dor de cabeça para os mantenedores se forem modificados para fins abusivos.

Para ajudar a evitar isso, os fluxos de trabalho em pull requests para repositórios públicos de alguns contribuidores externos não serão executados automaticamente, e é possível que tenham de ser aprovados primeiro. Dependendo da configuração “Approval for running fork pull request workflows from contributors”, os fluxos de trabalho em pull requests para repositórios públicos não serão executados automaticamente e poderão precisar de aprovação se:

  • A pull request for criada por um usuário que exige aprovações com base na política selecionada.
  • O evento de pull request for disparado por um usuário que exige aprovações com base na política selecionada.

Por padrão, todos os colaboradores iniciantes exigem aprovação para executar fluxos de trabalho.

Os fluxos de trabalho disparados por eventos pull_request_target forem executados no contexto da branch base. Como o branc de base é considerado confiável, os fluxos de trabalho acionados por esses eventos sempre serão executados, independente das configurações de aprovação. Para obter mais informações sobre o evento pull_request_target, confira Eventos que disparam fluxos de trabalho.

Aviso

Essas políticas de aprovação de fluxo de trabalho se destinam a restringir o conjunto de usuários que podem executar fluxos de trabalho em executores do GitHub Actions que podem levar a um consumo inesperado de recursos e computação durante o uso de executores hospedados no GitHub. Se você estiver usando executores auto-hospedados, o código de fluxo de trabalho potencialmente mal-intencionado controlado pelo usuário será executado automaticamente se o usuário tiver permissão para ignorar a aprovação na política de aprovação definida ou se a pull request for aprovada. Você precisa considerar o risco de executar esse código na sua infraestrutura e deve ler e seguir as recomendações de segurança do executor auto-hospedado, independentemente das configurações de aprovação utilizadas. Confira Referência de uso seguro.

Você pode configurar esse comportamento para uma organização seguindo o procedimento abaixo. A modificação desta configuração substitui a configuração definida no nível corporativo.

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  2. Ao lado da organização, clique em Configurações.

  3. Na barra lateral esquerda, clique em Actions e clique em General.

  4. Em Aprovação para executar fluxos de trabalho de pull request de fork dos colaboradores, escolha o subconjunto de usuários que exigirá a aprovação antes de executar fluxos de trabalho nas respectivas pull requests. O autor da pull request e o ator do evento de pull request que dispara o fluxo de trabalho serão verificados para determinar se a aprovação é necessária. Se a aprovação for necessária, um usuário com acesso para gravação no repositório precisará aprovar o fluxo de trabalho de pull request a ser executado. Confira Aprovando execuções de fluxo de trabalho de forks.

    Aviso

    Ao exigir aprovações somente para colaboradores novos (as duas primeiras configurações), um usuário que teve qualquer pull request ou commit mesclado no repositório não exigirá aprovação. Um usuário mal-intencionado podia atender a esse requisito fazendo com que um erro de digitação simples ou outra alteração inofensiva fosse aceita por um mantenedor, seja como parte de uma pull request que ele tenha criado ou como parte da pull request de outro usuário.

    • Exigir aprovação para colaboradores iniciantes que são novos em GitHub. Somente os usuários que são novos no GitHub e que nunca tiveram uma pull request ou um commit mesclado nesse repositório exigirão aprovação para executar fluxos de trabalho.
    • Exigir aprovação para colaboradores iniciantes. Somente os usuários que nunca tiveram uma pull request ou um commit mesclado nesse repositório exigirão aprovação para executar fluxos de trabalho.
    • Exigir aprovação para todos os colaboradores externos Todos os usuários que não são membros ou proprietários desse repositório e que não são membros da organização exigirão aprovação para executar fluxos de trabalho.
  5. Clique em Salvar para aplicar as configurações.

Para obter mais informações sobre como aprovar execuções de fluxo de trabalho às quais essa política se aplica, confira Aprovando execuções de fluxo de trabalho de forks.

Habilitar fluxos de trabalho para bifurcações privadas do repositório

Se você depender do uso de forks dos seus repositórios privados, configure políticas que controlam como os usuários podem executar fluxos de trabalho em eventos pull_request. Disponíveis apenas para repositórios privados e internos, você pode definir essas configurações de política para empresas, organizações ou repositórios.

Se uma política estiver desabilitada para uma empresa, ela não poderá ser habilitada para as organizações. Se uma política estiver desabilitada para uma organização, ela não poderá ser habilitada para repositórios. Se uma organização habilitar uma política, a política poderá ser desabilitada para repositórios individuais.

  • Executar fluxos de trabalho por meio de solicitações de pull com fork – Permite que os usuários executem fluxos de trabalho por meio de solicitações de pull com fork usando um GITHUB_TOKEN com permissão somente leitura e sem acesso aos segredos.
  • Enviar tokens de gravação para fluxos de trabalho por meio de solicitações de pull – Permite que as solicitações de pull de forks usem um GITHUB_TOKEN com permissão de gravação.
  • Enviar segredos para fluxos de trabalho por meio de solicitações de pull – Disponibiliza todos os segredos para a solicitação de pull.
  • Exigir aprovação para fluxos de trabalho de solicitação de pull de fork: as execuções de fluxo de trabalho em solicitações de pull de colaboradores sem permissão de gravação precisarão da aprovação de alguém com permissão de gravação antes de serem realizadas.

Configurar a política de bifurcação privada para uma organização

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.
  2. Ao lado da organização, clique em Configurações.
  3. Na barra lateral esquerda, clique em Actions e clique em General.
  4. Em Criar fork de fluxos de trabalho de solicitação de pull, selecione suas opções.
  5. Clique em Salvar para aplicar as configurações.

Como definir as permissões do GITHUB_TOKEN para sua organização

Você pode definir as permissões padrão concedidas ao GITHUB_TOKEN. Para obter mais informações sobre GITHUB_TOKEN, confira Usar GITHUB_TOKEN para autenticação em fluxos de trabalho. Você pode escolher um conjunto restrito de permissões como padrão ou aplicar configurações permissivas.

Defina as permissões padrão do GITHUB_TOKEN nas configurações da organização ou dos repositórios. Se você selecionar a opção restrita como padrão nas configurações da sua organização, a mesma opção será selecionada nas configurações dos repositórios na organização, e a opção permissiva ficará desabilitada. Se sua organização pertencer a uma conta do GitHub Enterprise e o padrão mais restrito tiver sido selecionado nas configurações corporativas, você não poderá de escolher o padrão mais permissivo nas configurações da organização.

Qualquer pessoa com acesso de gravação em um repositório pode modificar as permissões concedidas ao GITHUB_TOKEN, adicionando ou removendo o acesso conforme necessário, pela edição da chave permissions no arquivo de fluxo de trabalho. Para obter mais informações, confira permissions.

Como configurar as permissões padrão do GITHUB_TOKEN

Por padrão, quando você cria uma nova organização, a configuração é herdada do que está definido nas configurações corporativas.

  1. No canto superior à direita do GitHub, clique na sua imagem de perfil e em Your profile.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  2. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  3. Ao lado da organização, clique em Configurações.

  4. Na barra lateral esquerda, clique em Actions e clique em General.

  5. Em "Workflow permissions", escolha se deseja que o GITHUB_TOKEN tenha acesso de leitura e gravação em todas as permissões (a configuração permissiva) ou apenas acesso de leitura nas permissões contents e packages (a configuração restrita).

  6. Clique em Salvar para aplicar as configurações.

Como impedir que GitHub Actions crie ou aprove solicitações de pull

Você pode optar por permitir ou impedir que fluxos de trabalho do GitHub Actions criem ou aprovem pull requests.

Por padrão, quando você cria uma nova organização, os fluxos de trabalho não têm permissão para criar ou aprovar pull requests.

  1. No canto superior à direita do GitHub, clique na sua imagem de perfil e em Your profile.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  2. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  3. Ao lado da organização, clique em Configurações.

  4. Na barra lateral esquerda, clique em Actions e clique em General.

  5. Em "Permissões de fluxo de trabalho", use a configuração Permitir que o GitHub Actions crie e aprove solicitações de pull para definir se GITHUB_TOKEN pode criar e aprovar solicitações de pull.

  6. Clique em Salvar para aplicar as configurações.

Como gerenciar o armazenamento em cache do GitHub Actions para sua organização

Os administradores da organização podem exibir GitHub Actions para todos os repositórios na organização.

Como exibir o armazenamento em cache do GitHub Actions por repositório

Para cada repositório da sua organização, você pode ver a quantidade de armazenamento em cache que um repositório está usando, o número de caches ativos e se um repositório está próximo do tamanho limite total do cache. Para obter mais informações sobre o uso do cache e o processo de remoção, confira Referência do cache de dependência.

  1. No canto superior à direita do GitHub, clique na sua imagem de perfil e em Your profile.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  2. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  3. Ao lado da organização, clique em Configurações.

  4. Na barra lateral esquerda, clique em Actions, depois clique em Caches.

  5. Examine a lista de repositórios para obter informações sobre os caches do GitHub Actions. Você pode clicar sobre o nome de um repositório para ver mais detalhes sobre os caches do repositório.

Configurando as configurações de cache GitHub Actions para sua organização

Você pode definir as configurações de retenção e tamanho de cache que serão aplicadas a todos os repositórios em sua organização. Esta funcionalidade requer adesão e está disponível para usuários com um método de pagamento registrado.

Se sua organização pertencer a uma empresa que configurou configurações de cache, você só poderá definir limites até o máximo definido pela empresa. Se sua organização não pertencer a uma empresa (ou a empresa não tiver configurado configurações de cache), você poderá configurar até os máximos globais.

Os administradores do repositório podem optar por configurar limites para seus repositórios, mas não podem exceder os limites definidos no nível da organização.

  1. No canto superior à direita do GitHub, clique na sua imagem de perfil e em Your profile.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  2. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  3. Ao lado da organização, clique em Configurações.

  4. Na barra lateral esquerda, clique em Actions e clique em General.

  5. Na seção "Cache", defina e salve suas alterações nas seguintes configurações: * Retenção de cache: o número máximo de dias para reter caches antes da exclusão automática. O padrão é 7 dias. Você pode configurar até 365 dias (ou até o limite definido pela sua empresa). Clique em Salvar para aplicar as alterações feitas. * Limite de remoção do tamanho do cache: o tamanho total máximo de todos os caches em um repositório. O padrão é 10 GB. Você pode configurar até 10.000 GB por repositório (ou até o limite definido pela sua empresa). Quando esse limite for excedido, os caches mais antigos serão removidos para abrir espaço para novos caches. Clique em Salvar para aplicar as alterações feitas.

Para obter mais informações sobre a remoção de cache, consulte Referência do cache de dependência.