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 em todas as 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 "Aprenda o GitHub Actions".
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 a sua organização for gerenciada por uma empresa que tem uma política de substituição. Para obter mais informações, confira "Aplicando políticas para o GitHub Actions na sua empresa".
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações.
2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. -
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 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. -
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:
-
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
egithub
. Para obter mais informações, confiraactions
e organizaçõesgithub
. -
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, useactions/javascript-action@v1.0.1
para selecionar uma tag ouactions/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 comspace-org
, especifiquespace-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.
- Para uma ação, a sintaxe é
Este procedimento demonstra como adicionar ações e fluxos de trabalho reutilizáveis específicos à lista de permissões.
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações.
2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. -
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.
-
Clique em Salvar.
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. 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. Para obter mais informações sobre o evento pull_request_target
, confira "Eventos que disparam fluxos de trabalho".
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.
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações.
2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. 1. 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. -
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 das bifurcações públicas".
Como adicionar um fluxo de trabalho necessário a uma organização
Observação: atualmente, os fluxos de trabalho necessários estão em versão beta e sujeitos a alterações.
Você pode configurar os fluxos de trabalho necessários para serem executados em todos os repositórios ou em repositórios selecionados de uma organização que lhe pertença. Os fluxos de trabalho necessários são disparados por pull_request
e pull_request_target
eventos padrão e devem passar antes que uma solicitação de pull possa ser mesclada. Para obter mais informações, confira "Fluxos de trabalho necessários".
Pré-requisitos
Antes de configurar um fluxo de trabalho necessário, observe os seguintes pré-requisitos:
- O GitHub Actions deve estar habilitado para um repositório nas configurações da organização para que os fluxos de trabalho necessários sejam executados. Depois de habilitados no nível da organização, os fluxos de trabalho necessários serão executados mesmo quando o GitHub Actions estiver desabilitado nas configurações do repositório. Para obter mais informações sobre como gerenciar o GitHub Actions nos repositórios da sua organização, confira "Desabilitar ou limitar o GitHub Actions para sua organização".
- Os fluxos de trabalho necessários estão disponíveis para as organizações e somente em repositórios em que o plano da organização dá suporte às verificações de status necessárias. Se não houver suporte para verificações de status necessárias, o fluxo de trabalho ainda será executado, mas não será uma verificação necessária e não bloqueará a mesclagem. Para obter mais informações sobre o suporte às verificações de status necessárias, confira "Sobre branches protegidos".
- O branch padrão do repositório deve corresponder à configuração de branch padrão da organização para que os fluxos de trabalho necessários sejam executados como verificações de status necessárias. Se os nomes de branch padrão não corresponderem, o fluxo de trabalho ainda será executado, mas não será uma verificação necessária. Para obter mais informações sobre como gerenciar nomes de branch padrão, confira "Gerenciar o nome de branch-padrão para repositórios na sua organização" e "Alterar o branch-padrão".
- Para que os fluxos de trabalho necessários sejam executados, o repositório de origem da solicitação de pull deve estar na mesma organização que o repositório de destino. O GitHub Enterprise Cloud obterá o fluxo de trabalho necessário de um branch, tag ou SHA de commit especificado do repositório que contém o fluxo de trabalho.
- Os segredos usados em um fluxo de trabalho necessário devem ser criados no nível da organização ou nos repositórios de destino.
- Os segredos do repositório de origem não serão buscados quando um fluxo de trabalho for executado no repositório de destino.
- Quando um fluxo de trabalho for executado como um fluxo de trabalho necessário, ele ignorará todos os filtros na seção
on:
, por exemplo:branches
,branches-ignore
,paths
,types
etc. O fluxo de trabalho necessário será executado somente para os eventos padrãopull_request
epull_request_target
. Para obter mais informações sobre tipos de atividade padrão, confira "Eventos que disparam fluxos de trabalho". - Os fluxos de trabalho necessários não são disparados automaticamente em solicitações de pull já existentes, embora apareçam automaticamente como verificações esperadas. Para disparar fluxos de trabalho necessários para uma solicitação de pull já existente, envie uma nova alteração para essa solicitação de pull.
Restrições e comportamentos para o repositório de origem
Observe as seguintes restrições e comportamentos do fluxo de trabalho e do repositório de origem:
-
Os fluxos de trabalho necessários podem ser armazenados em qualquer pasta do repositório e não estão restritos à pasta
.github/workflows
, como os fluxos de trabalho normais. Se um fluxo de trabalho necessário chamar um fluxo de trabalho reutilizável, o fluxo de trabalho reutilizável deverá ser armazenado na pasta.github/workflows
. Ao chamar um fluxo de trabalho reutilizável, um fluxo de trabalho necessário deve usar o caminho completo e a referência ao fluxo de trabalho reutilizável. Por exemplo,{owner}/{repo}/.github/workflows/{filename}@{ref}
. -
Se o fluxo de trabalho necessário estiver contido em um repositório privado ou interno , você deverá garantir que os fluxos de trabalho dentro do repositório estejam acessíveis por meio de outros repositórios da sua organização. Para obter mais informações, confira "Gerenciando as configurações do GitHub Actions para um repositório" e "Gerenciando as configurações do GitHub Actions para um repositório".
-
Os fluxos de trabalho armazenados em um repositório público podem ser configurados como fluxos de trabalho necessários para qualquer repositório da sua organização. Os fluxos de trabalho armazenados em um repositório privado só podem ser configurados como fluxos de trabalho necessários para outros repositórios privados da sua organização. Os fluxos de trabalho armazenados em repositórios internos podem ser configurados como fluxos de trabalho necessários para repositórios internos e privados da sua organização.
-
Não há suporte para o CodeQL nos fluxos de trabalho necessários porque ele requer configuração no nível do repositório. Para obter informações sobre como configurar a verificação de código, confira "Como configurar a verificação de código para um repositório".
-
Para enviar por push para um branch em que os fluxos de trabalho necessários são impostos no nível organizacional, crie uma solicitação de pull para fazer as alterações necessárias. Você não pode enviar por push diretamente para branches com as imposições de fluxo de trabalho necessárias.
-
Se você quiser permitir pushes diretos para um repositório específico, remova o repositório como um destino dos respectivos fluxos de trabalho necessários.
-
Os fluxos de trabalho necessários podem ser referenciados usando qualquer branch, tag ou SHA de commit do repositório que contém o arquivo de fluxo de trabalho.
Restrições e comportamentos do repositório de destino
Observe as seguintes restrições e comportamentos dos repositórios de destino:
- Ao configurar um fluxo de trabalho necessário para ser executado em todos os repositórios ou em repositórios selecionados, a visibilidade do repositório que contém o fluxo de trabalho necessário afetará em quais repositórios da sua organização o fluxo de trabalho será executado. Os fluxos de trabalho necessários armazenados em repositórios públicos serão executados em todos os repositórios. Os fluxos de trabalho necessários armazenados em repositórios privados só serão executados em outros repositórios privados. Os fluxos de trabalho necessários armazenados em repositórios internos serão executados em repositórios internos e privados.
- Os fluxos de trabalho necessários não podem ser configurados para serem executados no repositório em que o fluxo de trabalho foi criado. Você deve considerar a criação de um repositório separado para armazenar os fluxos de trabalho necessários.
- Ao configurar um fluxo de trabalho necessário para ser executado em todos os repositórios ou em repositórios selecionados, os fluxos de trabalho necessários não serão executados em repositórios nos quais as ações estão desabilitadas nas configurações da organização.
Configurando um fluxo de trabalho necessário para sua organização
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações.
2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. -
À direita de "Fluxos de Trabalho Necessários", clique em Adicionar fluxo de trabalho.
-
Em "Fluxo de trabalho obrigatório", use o menu suspenso para selecionar o repositório que contém o fluxo de trabalho. Em seguida, insira o caminho para o fluxo de trabalho no campo de texto. Você pode fazer referência a qualquer branch, marcação ou SHA de commit do repositório que contém o arquivo de fluxo de trabalho usando a sintaxe
{path}@{ref}
. -
Como opção, para especificar os branches de destino nos quais deseja impor o fluxo de trabalho necessário, insira o branch ou vários branches no campo de texto em "Branches de destino". Se você não inserir um branch de destino, o fluxo de trabalho necessário será imposto no branch padrão para o repositório.
-
Em "Aplicar a repositórios...", use o menu suspenso para selecionar a quais repositórios o fluxo de trabalho necessário se aplica. Selecione Todos os repositórios para aplicar o fluxo de trabalho necessário a todos os repositórios da sua organização ou Repositórios selecionados para escolher a quais repositórios o fluxo se aplicará.
-
Opcionalmente, se você escolheu "Repositórios selecionados", clique em para abrir o modal de seleção do repositório, depois use as caixas de seleção para selecionar os repositórios e clique em Aplicar seleção. Você pode usar filtros para restringir sua pesquisa.
-
Para adicionar o fluxo de trabalho necessário, clique em Adicionar fluxo de trabalho.
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
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações.
2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. 1. Em Criar fork de fluxos de trabalho de solicitação de pull, selecione suas opções. -
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 "Autenticação automática de token". 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 organização, a configuração é herdada do que está definido nas configurações da empresa.
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e em Seu perfil.
1. No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações. 2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. -
Em "Permissões de fluxo de trabalho", escolha se deseja que o
GITHUB_TOKEN
tenha acesso de leitura e gravação em todos os escopos ou apenas acesso de leitura nos escoposcontents
epackages
. -
Clique em Salvar para aplicar as configurações.
Como impedir que o GitHub Actions crie ou aprove solicitações de pull
Você pode optar por permitir ou impedir que fluxos de trabalho do GitHub Actions do criem ou aprovem solicitações de pull.
Por padrão, quando você cria uma organização, os fluxos de trabalho não têm permissão para criar ou aprovar solicitações de pull.
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e em Seu perfil.
1. No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações. 2. Ao lado da organização, clique em Configurações. 1. Na barra lateral esquerda, clique em Ações e em Geral. -
Em "Permissões do fluxo de trabalho", use a configuração Permitir que o GitHub Actions crie e aprove solicitações de pull para definir se o
GITHUB_TOKEN
poderá criar e aprovar solicitações de pull. -
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 o armazenamento em cache do GitHub Actions para todos os repositórios da 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 processo de remoção e uso do cache, confira, confira "Caching dependencies to speed up workflows".
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e em Seu perfil.
1. No canto superior direito do GitHub.com, clique na foto do seu perfil e clique em Suas organizações. 2. Ao lado da organização, clique em Configurações. -
Na barra lateral esquerda, clique em Actions e clique em Caches.
-
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.