Pular para o conteúdo principal

Equipes

No Semaphore UI, cada projeto está associado a uma Equipe. Apenas os membros da equipe e os administradores podem acessar o projeto. Cada membro da equipe recebe um dos quatro papéis integrados, que determinam o seu nível de acesso e as ações que pode executar.

Na edição Enterprise, os papéis integrados podem ser estendidos com papéis personalizados, que concedem permissões adicionais e granulares em templates específicos.

dica

Para evitar a perda de acesso a um projeto, recomenda-se ter pelo menos dois membros da equipe com o papel Owner.

Papéis integrados

Cada membro da equipe tem exatamente um destes quatro papéis:

  • Owner
  • Manager
  • Task Runner
  • Guest

Abaixo estão as descrições detalhadas de cada papel e das suas permissões.

Owner

  • Permissões completas
    Os Owners podem fazer qualquer coisa dentro do projeto, incluindo gerenciar papéis, adicionar/remover membros e configurar quaisquer opções do projeto.

  • Vários owners
    Um projeto pode ter vários Owners, garantindo que haja mais de uma pessoa com privilégios completos.

  • Restrições à autorremoção
    Um Owner não pode se remover se for o único Owner do projeto. Isso evita que o projeto fique sem Owner.

  • Gerenciamento de outros owners
    Os Owners podem gerenciar (incluindo remover ou alterar os papéis de) todos os membros da equipe, incluindo outros Owners.

Manager

  • Amplo controle do projeto: os Managers têm quase as mesmas permissões que os Owners, o que lhes permite lidar com a maioria das tarefas do dia a dia e gerenciar o ambiente do projeto.

  • Os Managers não podem:

    • Remover o projeto.
    • Remover ou alterar os papéis dos Owners.
  • Caso de uso típico: atribua o papel Manager a membros seniores da equipe que precisam de acesso amplo, mas não necessitam da autoridade para excluir o projeto ou gerenciar Owners.

Task Runner

  • Executar tarefas: os Task Runners podem executar qualquer template de tarefa existente no projeto.

  • Somente leitura para os demais recursos: embora possam executar tarefas, eles têm apenas acesso de leitura aos demais recursos, como inventory, variáveis, repositórios etc.

  • Caso de uso típico: desenvolvedores ou engenheiros de QA que precisam acionar e monitorar tarefas, mas não precisam modificar as configurações do projeto nem gerenciar os membros da equipe.

Guest

  • Acesso somente leitura: os Guests têm acesso de leitura a todos os recursos do projeto (por exemplo, visualizar logs, inventories, painéis).

  • Sem permissões de escrita: eles não podem modificar configurações, executar tarefas ou alterar papéis.

  • Caso de uso típico: stakeholders ou outros colaboradores que só precisam visualizar o status e os detalhes do projeto sem fazer alterações.


RBAC estendido (Enterprise)

info

O RBAC estendido está disponível na edição Semaphore Enterprise, a partir do Semaphore v2.17.

O RBAC estendido adiciona permissões extras sobre os quatro papéis integrados. Os papéis integrados em si permanecem inalterados. Se você não definir papéis personalizados, cada projeto se comporta exatamente como na edição community.

Com o RBAC estendido, os papéis personalizados podem conceder permissões individuais em todo o projeto. Você também pode conceder a um papel permissões em templates de tarefa selecionados. Isso permite dar a um membro da equipe acesso aos templates de que ele precisa sem promovê-lo a um papel integrado superior.

Papéis personalizados

Um papel personalizado é um conjunto nomeado de permissões que complementa o papel integrado de um membro no projeto. Cada membro da equipe mantém o seu papel integrado. Os papéis personalizados adicionam permissões a ele.

Os papéis personalizados estão disponíveis em dois escopos:

  • Papéis globais são definidos no nível da instância e podem ser usados em qualquer projeto.
  • Papéis de projeto são definidos dentro de um único projeto e estão disponíveis apenas nesse projeto.

Níveis de permissão

Os papéis personalizados concedem permissões em dois níveis:

  • Permissões em todo o projeto ampliam o acesso de um usuário em todo o projeto. Você as escolhe ao criar o papel.
  • Permissões de template controlam as ações em um único template de tarefa. Você as escolhe na aba Permissions desse template após adicionar o papel ao template.

Criar um papel personalizado

Escolha o escopo antes de abrir o formulário do papel.

Papel global

Os papéis globais são criados uma única vez e podem ser atribuídos a usuários em qualquer projeto. Apenas um administrador da instância pode criar um papel global.

Abra o menu de administração no canto inferior esquerdo e selecione Roles.

Na lista de papéis de toda a instância, selecione New Role.

Abra Roles no menu do administrador e, em seguida, selecione New Role

Papel de projeto

Os papéis de projeto estão disponíveis apenas no projeto em que foram criados. Os Owners e Managers do projeto podem criá-los.

  1. Abra o projeto e vá em Team > Roles.
  2. Selecione New Role.

A aba Roles fica vazia até que o primeiro papel de projeto seja criado. Ela lista todos os papéis do projeto e contém o botão New Role.

Configurar um papel personalizado

Ambos os caminhos abrem o mesmo formulário de papel. Configure o papel de acordo com o acesso de que o membro da sua equipe precisa.

Caixa de diálogo New Role com os campos e as caixas de seleção de permissões

CampoDescrição
NameUm rótulo legível para o papel.
SlugUm identificador técnico único usado para referenciar o papel. Use letras minúsculas, números, sublinhados ou hifens, por exemplo release_operator.
PermissionsAs permissões em todo o projeto concedidas pelo papel.

Permissões em todo o projeto

Escolha apenas as permissões em todo o projeto de que o papel precisa:

PermissãoDescrição
Can run project tasksExecutar tarefas do projeto.
Can update projectEditar as informações básicas do projeto em Dashboard > Settings.
Can manage project resourcesGerenciar os recursos do projeto, como templates de tarefa, repositórios, inventory, ambientes, entradas do Key Store, agendamentos, integrações e runners. Este é um acesso em todo o projeto. Não pode ser limitado a recursos individuais que não sejam templates.
Can manage project usersGerenciar os membros do projeto e as atribuições de papéis.

As permissões em todo o projeto não podem ser limitadas a um único inventory, repositório, ambiente ou entrada do Key Store. Os templates de tarefa são o único tipo de recurso que suporta atribuições granulares de papéis.

Acesso apenas a templates

Para criar um papel granular que adicione acesso apenas a templates de tarefa selecionados, deixe todas as permissões em todo o projeto desmarcadas. O papel então não adiciona nenhuma permissão em todo o projeto por conta própria. Adicione-o aos templates necessários e escolha apenas as ações de que esse papel precisa neles.

Selecione Save quando a configuração do papel estiver pronta.

Configurar o acesso a templates de tarefa específicos

As permissões de template adicionam acesso a templates de tarefa selecionados. O exemplo abaixo usa um papel personalizado sem permissões em todo o projeto. Essa configuração de privilégio mínimo é útil quando um membro da equipe precisa apenas de ações selecionadas em templates. Você também pode adicionar permissões de template a um papel que já concede acesso em todo o projeto.

Abra o template desejado

  1. Abra Templates de Tarefa e selecione o template de destino.
  2. Abra a aba Permissions.

A aba Permissions lista os papéis já adicionados ao template.

Adicione o papel e conceda as permissões de template

  1. Selecione Add Role e escolha o papel personalizado a ser adicionado a este template.
  2. Selecione apenas as permissões de template de que o papel precisa, como Can run tasks ou Can update the template.

Este exemplo usa um papel criado anteriormente sem permissões em todo o projeto. Você pode escolher qualquer papel personalizado disponível no projeto.

Caixa de diálogo de permissões do template com os controles necessários destacados

Para conceder ao mesmo papel acesso a outros templates, repita estes passos para cada template.

Acesso existente ao projeto

As permissões de template são aditivas. Elas adicionam acesso sem substituir ou reduzir o acesso proveniente do papel integrado do usuário ou de outros papéis personalizados. Se um usuário já pode executar ou atualizar todos os templates de tarefa, adicionar um papel específico de template não restringe esse acesso.

Atribuir um papel personalizado em um projeto

Após criar e configurar um papel global ou de projeto, atribua-o ao membro da equipe desejado:

  1. Abra o projeto e vá em Team.
  2. Expanda Roles ao lado do usuário desejado.
  3. Selecione o papel personalizado.

Não suportado no momento

  • Mapeamento de grupos LDAP / OIDC. Os papéis personalizados são atribuídos por usuário. O mapeamento de grupos de diretórios externos para papéis personalizados não é suportado.
  • Permissões granulares para recursos que não são templates. Atualmente, apenas os templates podem ser controlados por papéis personalizados no nível de recurso individual.

Gerenciando os membros da equipe

  • Convidar novos membros: Owners e Managers podem convidar novos usuários para a equipe e atribuir a eles um papel inicial.

  • Alterar papéis: os Owners sempre podem alterar os papéis de qualquer membro da equipe. Os Managers podem alterar os papéis de Task Runners e Guests, mas não de outros Managers ou Owners.

  • Remover membros: os Owners e Managers podem remover membros da equipe com papéis inferiores.

    • Um Owner pode remover qualquer pessoa (incluindo outros Owners), mas não pode se remover se for o único Owner.
    • Um Manager pode remover Task Runners e Guests, mas não outros Managers ou Owners.

Boas práticas

  1. Mantenha redundância: atribua o papel Owner a pelo menos duas pessoas para garantir acesso contínuo e evitar um ponto único de falha.
  2. Siga o princípio do privilégio mínimo:
    • Dê aos membros da equipe o papel mínimo necessário para as suas tarefas.
    • Use os papéis Task Runner ou Guest para quem precisa apenas de permissões limitadas.
    • Na edição Enterprise, prefira papéis personalizados para conceder acesso a templates específicos em vez de elevar o papel integrado de um membro.
  3. Revise os membros regularmente:
    • À medida que a estrutura da equipe muda, reavalie os papéis.
    • Revogue o acesso ou rebaixe os papéis dos usuários que não precisam mais de privilégios elevados.
  4. Use managers para a administração do dia a dia:
    • Reserve o papel Owner para um grupo menor com autoridade máxima.
    • Delegue as tarefas rotineiras de gerenciamento do projeto aos Managers para reduzir o risco de grandes alterações acidentais ou exclusões de projeto.

Perguntas frequentes

1. Um Owner pode remover outro Owner?

Sim, um Owner pode remover ou alterar o papel de qualquer outro Owner, a menos que seja o único Owner restante no projeto.

2. Quem pode excluir o projeto?

Apenas os Owners podem excluir um projeto.

3. Os Managers podem adicionar ou remover outros Managers?

Não. Os Managers só podem adicionar ou remover usuários com os papéis Task Runner ou Guest. Para gerenciar Owners ou outros Managers, você precisa ser um Owner.

4. O que acontece se eu remover todos os Owners por acidente?

O Semaphore UI impede a remoção de um Owner se isso deixar o projeto sem nenhum Owner. Deve haver pelo menos um Owner o tempo todo.

5. Os Guests podem executar tarefas?

Não. Os Guests têm acesso somente leitura e não podem acionar nem gerenciar tarefas. Na edição Enterprise, você pode conceder a um Guest permissão para executar templates individuais por meio de um papel personalizado.

6. Os papéis personalizados substituem os papéis integrados?

Não. Os papéis personalizados estendem os papéis integrados com permissões adicionais no nível do projeto e dos templates. Cada membro da equipe continua tendo exatamente um papel integrado.

7. O RBAC estendido está disponível na edição community?

Não. O RBAC estendido requer uma assinatura do Semaphore Enterprise.