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 tem um ou mais papéis, que determinam o seu nível de acesso e as ações que pode executar. Um membro pode fazer tudo o que qualquer um dos seus papéis permite.

Na edição Enterprise, os papéis integrados podem ser estendidos com papéis personalizados, que concedem permissões adicionais e granulares em modelos 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.

A seção Team de um projeto tem duas abas: Members, com os usuários e os seus papéis, e Roles, com os papéis personalizados (Enterprise).

Membros da equipe

Papéis integrados​

Os quatro papéis integrados são:

  • 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.

  • Último Owner
    Um projeto não pode ficar sem Owner. Por isso, ninguém além de um administrador pode remover o último Owner do projeto nem tirar o papel de Owner dele. O último Owner também não pode sair do projeto.

  • 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 modelo 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 inventário, 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, inventários, 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 modelos de tarefa selecionados. Isso permite dar a um membro da equipe acesso aos modelos de que ele precisa sem promovê-lo a um papel integrado superior.

Papéis personalizados​

Um papel personalizado é um papel que você mesmo cria, com as permissões que escolher. Você o atribui a um membro como um papel integrado. Um membro pode ter um papel personalizado sozinho ou junto com um papel integrado.

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 modelo controlam as ações em um único modelo de tarefa. Você as escolhe na aba Permissions desse modelo após adicionar o papel ao modelo.

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. Pode conter letras, números, _ e -, até 100 caracteres, por exemplo release_operator. Maiúsculas e minúsculas não importam: Ops e ops são o mesmo slug. Não é possível alterar o slug depois de criar o papel.
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 modelos de tarefa, repositórios, inventário, ambientes, entradas do Armazenamento de Chaves, agendamentos, integrações e runners. Este é um acesso em todo o projeto. Não pode ser limitado a recursos individuais que não sejam modelos.
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 inventário, repositório, ambiente ou entrada do Armazenamento de Chaves. Os modelos de tarefa são o único tipo de recurso que suporta atribuições granulares de papéis.

Acesso apenas a modelos

Para criar um papel granular que adicione acesso apenas a modelos 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 modelos 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 modelos de tarefa específicos​

As permissões de modelo adicionam acesso a modelos 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 modelos. Você também pode adicionar permissões de modelo a um papel que já concede acesso em todo o projeto.

Abra o modelo desejado

  1. Abra Modelos de Tarefa e selecione o modelo de destino.
  2. Abra a aba Permissions.

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

Adicione o papel e conceda as permissões de modelo

  1. Selecione Add Role e escolha o papel personalizado a ser adicionado a este modelo.
  2. Selecione apenas as permissões de modelo 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 modelo com os controles necessários destacados

Para conceder ao mesmo papel acesso a outros modelos, repita estes passos para cada modelo.

Acesso existente ao projeto

As permissões de modelo 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 modelos de tarefa, adicionar um papel específico de modelo 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. Selecione o campo de papéis ao lado do membro desejado.
  3. Selecione o papel personalizado. Um membro pode ter vários papéis.

Excluir um papel em uso​

Se um papel ainda está atribuído a membros ou é usado em permissões de modelo, o Semaphore pergunta antes de excluí-lo e mostra quantos membros, projetos e permissões de modelo ele afeta. Selecione Delete with assignments para excluir o papel e retirá-lo de todos eles. Os membros que não têm outro papel são removidos dos seus projetos.

Se mapeamentos de grupo usam o papel, a caixa de diálogo também mostra quantos são. Apenas um administrador pode excluir um papel assim, e os mapeamentos de grupo dele são excluídos junto com o papel.

Não suportado no momento​

  • Permissões granulares para recursos que não são modelos. Atualmente, apenas os modelos podem ser controlados por papéis personalizados no nível de recurso individual.

Papéis de mapeamentos de grupo Enterprise​

info

Os mapeamentos de grupo estão disponíveis na edição Semaphore Enterprise.

Um administrador pode dar um papel de projeto a todos os membros de um grupo do seu provedor de identidade na página Group mappings. O Semaphore atualiza esses papéis cada vez que o usuário faz login pelo provedor de identidade. Veja Papéis de projeto a partir de grupos.

Na página Team, um papel assim tem um ícone de cadeado. Passe o mouse sobre o papel para ver o provedor e o grupo, por exemplo keycloak: devops.

  • Você não pode remover um papel de um mapeamento de grupo na página Team. Apenas um administrador pode alterar os mapeamentos de grupo.
  • Se você remover um membro ou retirar todos os papéis atribuídos manualmente a ele, os papéis de mapeamentos de grupo continuam e o membro continua no projeto.

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 integrado 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), exceto o último 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 modelos 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 ele seja o último Owner do 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?​

Um projeto não pode ficar sem Owner. Por isso, ninguém além de um administrador pode remover o último Owner do projeto nem tirar o papel de Owner dele. O último Owner também não pode sair do projeto. Se um administrador remover o último Owner, o projeto continua funcionando, e um administrador pode adicionar um novo Owner na página Team.

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 modelos individuais por meio de um papel personalizado.

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

Não. Os papéis personalizados se somam aos papéis integrados. Um membro pode ter um papel integrado, papéis personalizados ou ambos.

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

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