Skip to main content

Gerenciar o acesso a executores auto-hospedados usando grupos

Você pode usar políticas para limitar o acesso a runners auto-hospedados que foram adicionados a uma conta corporativa ou organizacional.

Quem pode usar esse recurso?

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team can create and manage additional runner groups.

Users with the "Manage organization runners and runner groups" permission can manage runner groups at the organization level.

Sobre os grupos de executores

Para controlar o acesso aos executores no nível da organização e/ou da empresa, os proprietários da empresa e da organização podem usar grupos de executores.Grupos de executores são usados para coletar grupos de executores e criar um limite de segurança em torno deles.

Quando você permite acesso a um grupo de executores, você pode ver o grupo de executores listado nas configurações do executor da organização. Como opção, você pode atribuir um repositório granular adicional e as políticas de acesso do fluxo de trabalho ao grupo do executor.

Quando novos executores são criados, eles são atribuídos automaticamente ao grupo padrão, a menos que especificado de outra forma. Os executores só podem estar em um grupo por vez. Você pode mover os executores de um grupo para outro. Para obter mais informações, confira "Como mover um executor para um grupo".

Para obter informações sobre como rotear trabalhos para executores em um grupo específico, confira "Escolhendo o executor para um trabalho".

Criar um grupo de executor auto-hospedado para uma organização

Aviso: Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

Para obter mais informações, confira "Sobre executores auto-hospedados".

Observação: Ao criar um grupo de executores, você deve escolher uma política que defina quais repositórios e fluxos de trabalho têm acesso ao grupo de executores. Para alterar quais repositórios e fluxos de trabalho podem acessar o grupo de executores, os proprietários da organização e os usuários com a permissão "Gerenciar executores e grupos de executores da organização" podem definir uma política para a organização. Para obter mais informações, confira "Aplicando políticas para o GitHub Actions na sua empresa".

Todas as organizações têm um só grupo de executores padrão. Proprietários da organização e usuários com a permissão "Gerenciar grupos de executores e executores da organização" podem criar grupos de executores adicionais no nível da organização. Para obter mais informações sobre funções de organização personalizadas, consulte "Sobre as funções da organização personalizadas".

Se nenhum grupo for especificado durante o processo de registro, os executores serão adicionados automaticamente ao grupo padrão. Posteriormente, você pode mover o executor do grupo padrão para um grupo personalizado. Para obter mais informações, confira "Como mover um executor para um grupo".

Para obter informações sobre como criar um grupo de executores com a API REST, confira "Pontos de extremidade da API REST do GitHub Actions".

  1. No GitHub.com, navegue até a página principal da organização.

  2. No nome da sua organização, clique Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela das guias no perfil de uma organização. A guia "Configurações" está contornada em laranja escuro.

  3. Na barra lateral esquerda, clique em Ações e escolha Grupos de executores.

  4. Na seção "Grupos de executores", clique em Novo grupo de executores.

  5. Digite um nome para o grupo do seu executor.

  6. Atribua uma política para acesso ao repositório.

    Você pode configurar um grupo de executores para ser acessível a uma lista específica de repositórios ou a todos os repositórios na organização. Por padrão, somente repositórios privados podem acessar executores em um grupo de executores, mas você pode substituir isso. Essa configuração não poderá ser substituída se você configurar um grupo de executores da organização que tenha sido compartilhado por uma empresa.

  7. Atribua uma política para acesso ao fluxo de trabalho.

    Você pode configurar um grupo de executores para ser acessível a uma lista específica de fluxos de trabalho ou a todos os fluxos de trabalho. Essa configuração não poderá ser substituída se você estiver configurando o grupo de executores de uma organização que foi compartilhado por uma empresa. Se você especificar o fluxo de trabalho que pode acessar o grupo de executores, precisará usar o caminho completo para o fluxo de trabalho, incluindo o nome e o proprietário do repositório, e fixar o fluxo de trabalho em um branch, uma tag ou um SHA completo. Por exemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Somente os trabalhos definidos diretamente nos fluxos de trabalho selecionados terão acesso ao grupo de executores. Os grupos de executores pertencentes à organização não podem acessar os fluxos de trabalho de uma organização diferente na empresa. Nesse caso, você precisa criar um grupo de executores pertencente à empresa. 1. Clique em Criar grupo para criar o grupo e aplicar a política.

Criar um grupo de executor auto-hospedado para uma empresa

Aviso: Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

Para obter mais informações, confira "Sobre executores auto-hospedados".

As empresas podem adicionar os executores delas a grupos para gerenciamento de acesso. As empresas podem criar grupos de executores acessíveis por meio de organizações específicas na conta da empresa ou por fluxos de trabalho específicos . Os proprietários da organização podem atribuir políticas adicionais de acesso do repositório granular ou políticas de acesso do fluxo de trabalho para os grupos de executores corporativos. Para obter informações sobre como criar um grupo de executores com a API REST, confira os pontos de extremidade da empresa na API REST de GitHub Actions.

Se nenhum grupo for especificado durante o processo de registro, os executores serão adicionados automaticamente a um grupo padrão. Posteriormente, você pode mover o executor do grupo padrão para um grupo personalizado. Para obter mais informações, confira "Como mover um executor para um grupo".

Ao criar um grupo, você deve escolher uma política que defina quais organizações têm acesso ao grupo de executores.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Grupos de executores.

  6. Clique em Novo grupo de executores.

  7. Em "Nome do grupo", digite um nome para o grupo de executores.

  8. Para escolher uma política para o acesso da organização, selecione o menu suspenso Acesso à organização e clique em uma política. Você pode configurar um grupo de executor para que possa ser acessado por uma lista específica de organizações ou a todas as organizações da empresa.

  9. Atribua uma política para acesso ao fluxo de trabalho.

    Você pode configurar um grupo de executores para ser acessível a uma lista específica de fluxos de trabalho ou a todos os fluxos de trabalho. Essa configuração não poderá ser substituída se você estiver configurando o grupo de executores de uma organização que foi compartilhado por uma empresa. Se você especificar o fluxo de trabalho que pode acessar o grupo de executores, precisará usar o caminho completo para o fluxo de trabalho, incluindo o nome e o proprietário do repositório, e fixar o fluxo de trabalho em um branch, uma tag ou um SHA completo. Por exemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Somente os trabalhos definidos diretamente nos fluxos de trabalho selecionados terão acesso ao grupo de executores.

  10. Clique em Salvar grupo para criar o grupo e aplicar a política.

Como alterar quais organizações podem acessar um grupo de executores

Aviso: Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

Para obter mais informações, confira "Sobre executores auto-hospedados".

Para grupos de executores em uma empresa, você pode alterar quais organizações na empresa podem acessar um grupo de executores.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Grupos de executores.

  6. Em "Acesso à organização", use o menu suspenso para clicar em Organizações selecionadas.

    1. À direita do menu suspenso, clique em .
    2. Na janela pop-up, use as caixas de seleção para selecionar organizações que podem usar esse grupo de executores.
  7. Clique em Salvar grupo.

Como alterar quais repositórios podem acessar um grupo de executores

Aviso: Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

Para obter mais informações, confira "Sobre executores auto-hospedados".

Para grupos de executores em uma organização, você pode alterar quais repositórios na organização podem acessar um grupo de executores.

  1. Acesse a página principal da organização em que os grupos de executores estão localizados.

  2. Clique em Configurações.

  3. Na barra lateral esquerda, clique em Ações e escolha Grupos de executores.

  4. Na lista de grupos, clique no grupo de executores que deseja configurar.

  5. Em “Acesso ao repositório”, use o menu suspenso para clicar em Repositórios selecionados.

    1. À direita do menu suspenso, clique em .
    2. Na janela pop-up, use as caixas de seleção para selecionar os repositórios que podem acessar esse grupo de executores.
  6. Clique em Salvar grupo.

Como alterar quais fluxos de trabalho podem acessar um grupo de executores

Aviso: Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

Para obter mais informações, confira "Sobre executores auto-hospedados".

Você pode configurar um grupo de executores para executar fluxos de trabalho selecionados ou todos os fluxos de trabalho. Por exemplo, você pode usar essa configuração para proteger segredos armazenados em executores auto-hospedados ou para padronizar os fluxos de trabalho de implantação restringindo um grupo de executores a fim de executar apenas um fluxo de trabalho reutilizável específico. Esta configuração não pode ser substituída se você configurar o grupo de executores da organização que foi compartilhado por uma empresa.

Como alterar quais fluxos de trabalho podem acessar um grupo de executores da organização

  1. Acesse a página principal da organização em que os grupos de executores estão localizados.

  2. Clique em Configurações.

  3. Na barra lateral esquerda, clique em Ações e escolha Grupos de executores.

  4. Na lista de grupos, clique no grupo de executores que deseja configurar.

  5. Em Acesso ao fluxo de trabalho, selecione o menu suspenso e clique em Fluxos de trabalho selecionados.

  6. Clique em .

  7. Insira uma lista separada por vírgulas dos fluxos de trabalho que podem acessar o grupo de executores. Use o caminho completo, incluindo o nome e proprietário do repositório. Fixar o fluxo de trabalho em um ramo, tag ou SHA completo. Por exemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Apenas trabalhos definidos diretamente nos fluxos de trabalho selecionados terão acesso ao grupo de executores.

    Os grupos de executores pertencentes à organização não podem acessar os fluxos de trabalho de uma organização diferente na empresa. Em vez disso, você deve criar um grupo de executores pertencente à empresa.

  8. Clique em Salvar.

Como alterar quais fluxos de trabalho podem acessar um grupo de executores corporativos

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Grupos de executores.

  6. Na lista de grupos, clique no grupo de executores que deseja configurar.

  7. Em Acesso ao fluxo de trabalho, selecione o menu suspenso e clique em Fluxos de trabalho selecionados.

  8. Clique em .

  9. Insira uma lista separada por vírgulas dos fluxos de trabalho que podem acessar o grupo de executores. Use o caminho completo, incluindo o nome e proprietário do repositório. Fixar o fluxo de trabalho em um ramo, tag ou SHA completo. Por exemplo: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Apenas trabalhos definidos diretamente nos fluxos de trabalho selecionados terão acesso ao grupo de executores.

    Os grupos de executores pertencentes à organização não podem acessar os fluxos de trabalho de uma organização diferente na empresa. Em vez disso, você deve criar um grupo de executores pertencente à empresa.

  10. Clique em Salvar.

Alterando o nome de um grupo de executores

Você pode editar o nome de seus grupos de executores nos níveis corporativo e organizacional.

Como alterar o nome de um grupo de executores da organização

  1. Acesse a página principal da organização em que os grupos de executores estão localizados.
  2. Clique em Configurações.
  3. Na barra lateral esquerda, clique em Ações e escolha Grupos de executores.
  4. Na lista de grupos, clique no grupo de executores que deseja configurar.
  5. Insira o novo nome do grupo de executores no campo de texto em "Nome do grupo".
  6. Clique em Save (Salvar).

Como alterar o nome de um grupo de executores corporativos

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Grupos de executores.

  6. Na lista de grupos, clique no grupo de executores que deseja configurar.

  7. Insira o novo nome do grupo de executores no campo de texto em "Nome do grupo".

  8. Clique em Save (Salvar).

Adicionando um executor auto-hospedado a um grupo automaticamente

Você pode usar o script de configuração para adicionar automaticamente um novo executor a um grupo. Por exemplo, esse comando registra um novo executor e usa o parâmetro --runnergroup para adicioná-lo a um grupo chamado rg-runnergroup.

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

O comando irá falhar se o grupo do executor não existir:

Could not find any self-hosted runner group named "rg-runnergroup".

Mover um executor auto-hospedado para um grupo

Se você não especificar o grupo de um executor durante o processo de registro, seus novos executores são automaticamente atribuídos ao grupo padrão e poderão ser transferidos para outro grupo.

Como mover um executor da organização para um grupo

  1. No GitHub.com, navegue até a página principal da organização.

  2. No nome da sua organização, clique Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela das guias no perfil de uma organização. A guia "Configurações" está contornada em laranja escuro.

  3. Na barra lateral esquerda, clique em Ações e clique em Executores.

  4. Na lista de "Executores", clique no executor que você deseja configurar.

  5. Selecione o menu suspenso Grupo de executores.

  6. Em "Transferir executor para o grupo", escolha um grupo de destino para o executor.

Como mover um executor corporativo para um grupo

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Executores.

  6. Na lista de "Executores", clique no executor que você deseja configurar.

  7. Selecione o menu suspenso Grupo de executores.

  8. Em "Transferir executor para o grupo", escolha um grupo de destino para o executor.

Remover um grupo de executor auto-hospedado

Para remover um grupo de executores, primeiro você deve mover ou remover todos os executores do grupo.

Como remover um grupo de executores de uma organização

  1. Acesse a página principal da organização em que os grupos de executores estão localizados.
  2. Clique em Configurações.
  3. Na barra lateral esquerda, clique em Ações e escolha Grupos de executores.
  4. Na lista de grupos, à direita do grupo que você deseja excluir, clique em .
  5. Para remover o grupo, clique em Remover grupo.
  6. Revise as solicitações de confirmação e clique em Remover este grupo de executores.

Como remover um grupo de executores de uma empresa

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da empresa, clique em Políticas.

  4. Em " Políticas", clique em Ações.

  5. Clique na guia Grupos de executores.

  6. Na lista de grupos, à direita do grupo que você deseja excluir, clique em .

  7. Para remover o grupo, clique em Remover grupo.

  8. Revise as solicitações de confirmação e clique em Remover este grupo de executores.

Usar nomes exclusivos para grupos de executores

GitHub Actions exige que os nomes de grupos de executores precisem ser exclusivos no nível da organização. Isso significa que uma organização não poderá mais criar um grupo de executores com o mesmo nome que um na empresa. Além disso, os usuários verão uma faixa de aviso em qualquer grupo de executores que compartilhem o mesmo nome de um grupo na empresa, sugerindo que o grupo da organização deve ser renomeado.

Para evitar ambiguidade, um fluxo de trabalho falhará se houver grupos de executores duplicados na organização e na empresa. Para resolver isso, você pode renomear um dos grupos de executores na organização ou na empresa ou atualizar o arquivo de fluxo de trabalho para adicionar um prefixo ao nome do grupo de executores:

  • org/ ou organization/
  • ent/ ou enterprise/

Exemplo: usar prefixos para diferenciar grupos de executores

Por exemplo, se você tiver um grupo de executores chamado my-group na organização e outro chamado my-group na empresa, poderá atualizar seu arquivo de fluxo de trabalho para usar org/my-group ou ent/my-group para diferenciar os dois.

Usando org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Usando ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]