Docs/ Segurança/ Equipes e RBAC

Equipes e RBAC

Organize sua equipe com controle de acesso baseado em funções, permissões em nível de projeto e uma trilha de auditoria completa de todas as ações.

Criando uma Equipe

Equipes permitem que múltiplos usuários colaborem na mesma instância sh0. O primeiro usuário (criado durante a instalação) é automaticamente o proprietário da equipe com privilégios totais de administrador.

  1. Navegue até Configurações → Equipe no painel.
  2. Sua equipe padrão é criada automaticamente. Você pode renomeá-la aqui.
  3. Adicione uma descrição e avatar da equipe (opcional).
Página de configurações da equipe com nome e descrição
Note
Na versão atual, o sh0 suporta uma única equipe por instância. Suporte a múltiplas equipes (para agências gerenciando múltiplos clientes) está planejado para uma versão futura.

Convidando Membros

Os administradores convidam novos membros pelo endereço de e-mail. O sh0 não envia nenhum e-mail: o convite gera um link de uso único, exibido uma só vez a quem convida, para ser repassado pelos seus próprios meios. O membro convidado abre o link e escolhe a própria senha; você nunca a conhece. Membros de equipe e papéis exigem uma licença Business.

  1. Abra Equipe na barra lateral.
  2. Clique em Convidar usuário.
  3. Insira o endereço de e-mail e selecione uma função (Admin, Desenvolvedor ou Visualizador).
  4. Confirme, copie o link de convite e envie-o à pessoa. Ele vale por 7 dias, para um único uso, e não será exibido novamente.
Diálogo de convite de membro com campo de e-mail e seletor de função
Terminal
curl -X POST https://your-server:9000/api/team/invite \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "role": "developer"
  }'

Enquanto o link não for usado, o membro aparece como Convite pendente (e depois Convite expirado após 7 dias). Gerar ligação de acesso emite um novo link; o anterior deixa de funcionar. Pela CLI, sh0 users invite <email> --role developer mostra o link da mesma forma.

Tipos de Função

O sh0 fornece três funções integradas com níveis crescentes de acesso:

FunçãoDescriçãoCaso de Uso
AdministradorAcesso total a todos os recursos, configurações, gerenciamento de equipe e cobrança.CTOs, líderes DevOps, proprietários de infraestrutura
DesenvolvedorPode criar, implantar e gerenciar aplicações. Não pode acessar configurações da equipe ou do servidor.Engenheiros de software, membros da equipe DevOps
VisualizadorAcesso somente leitura. Pode visualizar aplicações, logs e métricas mas não pode modificar nada.Stakeholders, equipe de QA, auditores
Lista de membros da equipe mostrando diferentes funções com badges

Matriz de Permissões

Aqui está o detalhamento completo do que cada função pode fazer:

AçãoAdministradorDesenvolvedorVisualizador
Visualizar aplicações e painéisSimSimSim
Visualizar logs e métricasSimSimSim
Criar e implantar aplicaçõesSimSimNão
Gerenciar variáveis de ambienteSimSimNão
Gerenciar domínios e SSLSimSimNão
Acessar terminalSimSimNão
Gerenciar membros da equipeSimNãoNão
Configurações do servidor e nósSimNãoNão
Cobrança e licençaSimNãoNão

Acesso em Nível de Projeto

Além de funções globais, você pode restringir o acesso de um usuário a projetos específicos. Isso é útil quando diferentes membros da equipe trabalham em aplicações diferentes.

  1. Vá para a aba Configurações → Acesso do projeto.
  2. Clique em Adicionar Membro e selecione um membro da equipe.
  3. Escolha o nível de acesso para este projeto (Acesso Total, Apenas Implantação, Apenas Visualização).
Configurações de acesso em nível de projeto mostrando permissões de membros
Tip
Por padrão, Admins têm acesso a todos os projetos. Desenvolvedores veem todos os projetos a menos que você os restrinja explicitamente. Visualizadores só podem ver projetos aos quais receberam acesso.

Log de Auditoria

O sh0 registra toda ação significativa realizada por membros da equipe. O log de auditoria fornece uma linha do tempo completa de quem fez o quê e quando.

Eventos rastreados incluem:

  • Eventos de login e logout
  • Criação, implantação e exclusão de aplicações
  • Alterações em variáveis de ambiente
  • Adições e remoções de domínio
  • Convites de membros da equipe e alterações de função
  • Modificações de configurações
  • Operações de banco de dados (backup, restauração, exclusão)
Log de auditoria mostrando uma linha do tempo de ações da equipe com usuário, ação e timestamp
Terminal
curl https://your-server:9000/api/team/audit-log?page=1&per_page=50 \
  -H "Authorization: Bearer YOUR_TOKEN"
Note
Logs de auditoria são retidos por 90 dias por padrão. Você pode configurar o período de retenção em Configurações → Segurança.

Removendo Membros

Admins podem remover membros da equipe em Configurações → Equipe → Membros. Remover um membro:

  • Revoga imediatamente todas as sessões ativas.
  • Remove o acesso a todos os projetos e recursos.
  • Não exclui nenhum recurso que criaram (aplicações, bancos de dados, etc.).
  • Preserva suas ações no log de auditoria para responsabilização.
Terminal
curl -X DELETE https://your-server:9000/api/team/members/usr_abc123 \
  -H "Authorization: Bearer YOUR_TOKEN"
Warning
O proprietário da equipe não pode ser removido. Para transferir a propriedade, contate o suporte ou reatribua a função de proprietário em Configurações → Equipe primeiro.