Skip to main content

Impor políticas para GitHub Actions em sua empresa

Você pode impor políticas para controlar como as GitHub Actions podem ser usadas em sua empresa.

Quem pode usar esse recurso?

Enterprise owners

O que são políticas para GitHub Actions?

As políticas empresariais controlam as opções disponíveis para os membros da empresa quando eles usam GitHub Actions.

Se você não aplicar políticas empresariais, os proprietários da organização e os usuários com a permissão "Gerenciar políticas de ações da organização" terão controle total sobre as GitHub Actions para suas organizações.

Observação

GitHub Actions deve estar ativado para repositórios em uma organização para que a configuração padrão CodeQL code scanning e os fluxos de trabalho GitHub Code Quality sejam executados. No entanto, a configuração padrão CodeQL para code scanning não é afetada por outras políticas GitHub Actions (como restringir o acesso a ações públicas ou fluxos de trabalho reutilizáveis).

Como impor políticas

  1. No canto superior à direita do GitHub Enterprise Server, clique na sua imagem do perfil e clique em Configurações da empresa.
  2. No lado esquerdo da página, na barra lateral da conta empresarial, clique em Policies.
  3. Em " Policies", clique em Actions.
  4. Depois de configurar cada política, clique em Salvar.

Para obter mais informações sobre cada seção da página "Políticas", continue a leitura.

Políticas

Na seção "Políticas", você pode controlar quais organizações da sua empresa podem usar GitHub Actions, com as seguintes opções:

  • Habilitar GitHub Actions para todas as organizações
  • Habilitar GitHub Actions para organizações específicas
  • Desabilitar GitHub Actions para todas as organizações

Observação

Se você desabilitar GitHub Actions ou não habilitar o recurso para uma ou mais organizações, isso impedirá que as organizações afetadas usem as análises code scanning e GitHub Code Quality.

Controlando o acesso a ações públicas

As empresas geralmente desejam limitar o acesso a apenas um grupo bem testado de ações públicas como parte de sua governança da cadeia de suprimentos. As políticas disponíveis no GitHub permitem controlar o acesso sem bloquear os fluxos de trabalho dinâmicos usados por code scanning e GitHub Code Quality.

Você pode impor controles estritos sem definir exceções ou configuração adicional para code scanning e GitHub Code Quality, utilizando as seguintes opções:

  •         **Permitir todas as ações **: é possível usar qualquer ação , independentemente de quem criou ou do local de definição.
    
  •         **Permitir ações empresariais **: somente ações  definidos em um repositório dentro da empresa podem ser usados. 
    
  • Permitir ações selecionadas: qualquer ação definido em um repositório dentro da empresa pode ser usado, além de qualquer ação que corresponda aos critérios especificados.

Permitir ações selecionadas

Se você escolher essa opção, ações em sua empresa serão permitidas, e você terá as seguintes opções para permitir outras ações:

  •         **Permitir ações criadas pelo GitHub:** permite todas as ações criadas pelo GitHub localizadas nas organizações [`actions`](https://github.com/actions) e [`github`](https://github.com/github).
    
  •         **Permitir ações do Marketplace por criadores verificados:** permite todas as ações do GitHub Marketplace criadas por criadores verificados, rotuladas com <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>.
    

    Disponível se você tiver o GitHub Connect habilitado e configurado com GitHub Actions. Confira Habilitar o acesso automático a ações de GitHub.com usando GitHub Connect.

  •         **Permitir ações especificadas:** Permite ações que você especificar. Você pode especificar ações individuais ou organizações e repositórios inteiros.
    

Ao especificar ações, use a seguinte sintaxe:

  • Para restringir o acesso a tags ou SHAs de commit específicos de uma ação, use a mesma sintaxe usada no fluxo de trabalho para selecionar a ação.
    • 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 especificar um padrão, use o caractere curinga, *.
    • Para permitir todas as ações em organizações que começam com space-org, use space-org*/*.
    • Para permitir todas as ações em repositórios que começam com octocat, use */octocat**@*.
  • Para especificar vários padrões, use , para separar padrões.
    • Para permitir todas as ações das organizações octocat e octokit, use octocat/*, octokit/*.

As políticas nunca restringem o acesso a ações locais no sistema de arquivos do executor (em que o caminho uses: começa com ./).

Executores

Por padrão, qualquer pessoa com acesso de administrador a um repositório pode adicionar um executor auto-hospedado para o repositório, mas os executores auto-hospedados possuem alguns riscos:

  • Não há garantia de que executores auto-hospedados sejam hospedados em máquinas virtuais limpas e efêmeras. Como resultado, eles podem ficar comprometidos por código não confiável em um fluxo de trabalho.
  • Qualquer pessoa capaz de criar uma bifurcação do repositório e abrir uma solicitação de pull pode comprometer o ambiente do executor auto-hospedado, com a possibilidade de obter acesso a segredos e ao GITHUB_TOKEN, que pode ter acesso de gravação ao repositório.

Na seção "Executores", você pode mediar esses riscos ao desabilitar o uso de executores auto-hospedados em nível do repositório.

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.

Imagens personalizadas

Na seção "Imagens personalizadas", você pode controlar quais organizações em sua empresa têm permissão para criar e gerenciar imagens personalizadas com a seguinte política de acesso:

  •         **Habilitar para todas as organizações**: todas as organizações, incluindo qualquer criada no futuro, podem usar ou criar imagens personalizadas.
    
  •         **Habilitar para organizações específicas**: somente as organizações selecionadas podem usar ou criar imagens personalizadas.
    
  •         **Desabilitar para todas as organizações**: nenhuma organização pode usar ou criar imagens personalizadas.
    

Políticas de retenção de imagens personalizadas

Você pode definir por quanto tempo as versões de imagem personalizada são retidas e quando elas ficam inativas.

  •         **Máximo de versões por imagem**: limita quantas versões de cada imagem são retidas. Quando esse limite é excedido, as versões de imagem não usada mais antigas são excluídas automaticamente.
    
    * Padrão: 20 versões * Intervalo configurável: 1 a 100 versões
  •         **Retenção de versão não utilizada**: exclui versões de imagem que não foram usadas por um número especificado de dias. As versões de imagem atribuídas a um pool de executores, mas não usadas de forma ativa, também são consideradas não utilizadas.
    
    * Predefinição: 30 dias * Intervalo configurável: 1 a 90 dias
  •         **Idade máxima da versão**: desabilita versões de imagem que foram criadas anteriormente ao número de dias especificado. As versões de imagem desativadas só poderão ser usadas por executores quando o limite de política for aumentado.
    
    * Padrão: 60 dias * Intervalo configurável: 7 a 90 dias

Configurações de artefato, log e cache

Essas políticas controlam o armazenamento de artefatos, logs e caches.

Retenção de log e artefato

Por padrão, os artefatos e arquivos de log gerados pelos fluxos de trabalho são mantidos por 90 dias antes de ser excluídos automaticamente. Você pode alterar esse período de retenção para qualquer valor entre 1 e 400 dias.

As mudanças se aplicam apenas a novos artefatos e arquivos de log.

Limites de tamanho máximo e padrão do cache

Por padrão:

  • O armazenamento em cache total usado por GitHub Actions no armazenamento externo do sua instância do GitHub Enterprise Server está limitado a um máximo de 10 GB por repositório.
  • O tamanho máximo permitido que pode ser definido para um repositório é de 25 GB.

Se você exceder o limite, GitHub salvará o novo cache, mas começará a despejar caches até que o tamanho total seja menor que o limite do repositório.

Você pode personalizar o tamanho total do cache padrão para cada repositório, bem como o tamanho máximo total do cache permitido para um repositório. Por exemplo, pode ser interessante que o tamanho total do cache padrão de cada repositório seja de 5 GB, mas permita que os administradores configurem um tamanho total de cache de até 15 GB para repositórios individuais.

Os proprietários da organização podem definir um tamanho de cache total menor que se aplique a cada repositório na organização. Pessoas com acesso de administrador a um repositório podem definir um tamanho total de cache para o repositório limitado ao tamanho máximo de cache permitido pela configuração da política da empresa ou organização.

Bifurcar fluxos de trabalho de solicitações de pull em repositórios privados

Você pode controlar como os usuários podem executar fluxos de trabalho em eventos pull_request em repositórios privados e internos.

  •         **Executar fluxos de trabalho de solicitações de pull de bifurcações**. Os usuários podem executar fluxos de trabalho de solicitações de pull de bifurcações. Por padrão, os fluxos de trabalho usarão um `GITHUB_TOKEN` com permissão somente leitura, sem acesso a segredos.
    
  •         **Enviar tokens de gravação para fluxos de trabalho de solicitações de pull**. Os fluxos de trabalho usarão um `GITHUB_TOKEN` com permissão de escrita.
    
  •         **Enviar segredos para fluxos de trabalho a partir de solicitações de pull**. Todos os segredos estão disponíveis para o pull request.
    
  •         **Exigir aprovação para fluxos de trabalho de solicitações de pull de bifurcações**. Para execução de fluxos de trabalho em solicitações de pull de colaboradores sem permissão de gravação, será necessária a aprovação de alguém com permissão de gravação.
    

Se uma política for habilitada para uma empresa, ela poderá ser desabilitada seletivamente em organizações individuais ou repositórios. Se uma política estiver desabilitada para uma empresa, as organizações individuais ou repositórios não poderão habilitá-la.

Permissões de fluxo de trabalho

Na seção "Permissões de fluxo de trabalho", você pode definir as permissões padrão concedidas ao GITHUB_TOKEN.

  •         **Permissões de leitura e gravação:** as permissões padrão para o `GITHUB_TOKEN` dependem de quando a empresa ou organização foi criada:
    

    * Criação a partir de 2 de fevereiro de 2023 – Tem como padrão o acesso somente leitura para todos os escopos. * Criação antes de 2 de fevereiro de 2023 – Tem como padrão o acesso de leitura e gravação para todos os escopos.

  •         **Permissões de leitura de conteúdo e pacotes do repositório**: por padrão, `GITHUB_TOKEN` tem apenas acesso de leitura para os escopos `contents` e `packages`. A configuração mais permissiva não pode ser escolhida como padrão para organizações ou repositórios individuais.
    

Qualquer pessoa com acesso de gravação a um repositório pode modificar as permissões concedidas ao GITHUB_TOKEN para um fluxo de trabalho específico editando a chave permissions no arquivo de fluxo de trabalho.

          **Permitir que o GitHub Actions crie e aprove pull requests** está desabilitada por padrão. Se você habilitar essa configuração, o `GITHUB_TOKEN` poderá criar e aprovar pull requests.