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. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  5. Under "Policies", select your options.

    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 obter mais informações, confira "Como permitir a execução de ações e fluxos de trabalho reutilizáveis selecionados".

    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.

    Enable, disable, or limits actions for this enterprise account

  6. Click Save.

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:

  • 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, confira actions e organizações 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 é exibido ao lado da ação em GitHub Marketplace.

  • Permitir ações especificadas e fluxos de trabalho reutilizáveis: você pode restringir os fluxos de trabalho a usar ações e fluxos de trabalho reutilizáveis em organizações e repositórios específicos.

    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>/<REPO>@<TAG OR SHA>. Por exemplo, use actions/javascript-action@v1.0.1 para selecionar uma tag ou actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 para selecionar um SHA. Para obter mais informações, confira "Como encontrar e personalizar ações".
    • Para um fluxo de trabalho reutilizável, a sintaxe é <OWNER>/<REPO>/<PATH>/<FILENAME>@<TAG OR SHA>. Por exemplo, octo-org/another-repo/.github/workflows/workflow.yml@v1. Para obter mais informações, confira "Como 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 obter mais informações sobre como usar o curinga *, confira "Sintaxe de fluxo de trabalho do GitHub Actions".

    Observação: a opção Permitir ações e fluxos de trabalho reutilizáveis especificados só está disponível em repositórios públicos com o GitHub Free, o GitHub Pro, o GitHub Free para organizações ou o plano do GitHub Team.

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

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  5. Under "Policies", select Permitir a empresa e fluxos de trabalho reutilizáveis e ações selecionados que não são empresa 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."

Por padrão, os artefatos e arquivos de registro gerados pelos fluxos de trabalho são mantidos por 90 dias antes de ser excluídos automaticamente. É possível ajustar o período de retenção dependendo do tipo de repositório:

  • Para repositórios públicos: você pode alterar este período de retenção para qualquer lugar entre 1 dia e 90 dias.
  • Para repositórios privados e internos: você pode alterar esse período de retenção para um valor entre 1 dia ou 400 dias.

Ao personalizar o período de retenção, ele só se aplica a novos artefatos e arquivos de registro e não se aplica retroativamente aos objetos existentes. Para repositórios e organizações gerenciadas, o período máximo de retenção não pode exceder o limite definido pela organização gerenciadora ou pela empresa.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  5. Em Artefato e retenção de log, insira um novo valor.

  6. Clique em Salvar para aplicar a alteração.

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

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. Por padrão, todos os colaboradores iniciantes exigem aprovação para executar fluxos de trabalho.

Observação: os fluxos de trabalho disparados por eventos pull_request_target são executados no contexto do 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.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  5. Em Bifurcar fluxos de trabalho de solicitação de pull de colaboradores externos, selecione a sua opção. As opções são listadas das menos restritivas para as mais restritivas.

    Configuração para aprovação de fluxos de trabalho das bifurcações públicas

  6. 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 "Como aprovar execuções de fluxo de trabalho em forks públicos".

Enforcing a policy for fork pull requests in private repositories

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ível apenas para e repositórios internos de, você pode configurar essas configurações de política para empresas, organizações ou repositórios.

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.

  • 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.
  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  5. Em Criar fork de fluxos de trabalho de solicitação de pull, selecione suas opções. Por exemplo: Habilitar, desabilitar ou limitar ações para este repositório

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

Enforcing a policy for workflow permissions in your enterprise

Você pode definir as permissões padrão concedidas ao GITHUB_TOKEN. Para obter mais informações sobre o GITHUB_TOKEN, confira "Autenticação automática de token". Você pode escolher um conjunto restrito de permissões como padrão ou aplicar configurações permissivas.

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.

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.

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. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  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

Você pode optar por permitir ou impedir que fluxos de trabalho do GitHub Actions do criem ou aprovem solicitações de pull.

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

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  4. Em " Políticas", clique em Actions.

  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.