Papéis e permissões na SSP Enterprise

·6 min de leitura·Por SSP Editorial Team
Capa da SSP Academy: papéis e permissões na SSP Enterprise

Papéis e permissões na SSP Enterprise

A pergunta que decide se a custódia compartilhada realmente funciona não é "quem manda?". É "quem pode mover o dinheiro?" — e num sistema bem construído essas são perguntas diferentes com respostas diferentes.

A SSP Enterprise responde a elas em dois lugares separados. A autoridade administrativa mora nos registros da organização, onde pode ser concedida e revogada como qualquer outra permissão. A autoridade de gasto mora no endereço do cofre, onde não pode. Este artigo é o mapa completo das duas, incluindo os casos em que as pessoas mais se surpreendem.

Se você não leu o panorama de como organizações e cofres se encaixam, SSP Enterprise: cofres multisig para equipes é a peça anterior a esta.

Dois sistemas, de propósito

Um papel de organização governa o espaço de trabalho: convidar pessoas, criar cofres, mudar configurações, ler a trilha de auditoria. É um registro em banco de dados. Mude-o e a mudança vale de imediato.

Um papel de cofre governa um cofre específico, e um de seus três valores — signatário — significa que sua chave pública faz parte de como o endereço daquele cofre foi derivado. Isso não muda editando nada. Só muda criando outro cofre em outro endereço e movendo os fundos.

Dois sistemas de papéis, uma pessoa

A consequência prática, e a frase mais importante deste artigo: um dono da organização que não seja signatário de um cofre não pode gastar daquele cofre. Nem com acesso ao painel, nem com acesso ao banco de dados, nem com a cooperação da SSP. O endereço não sabe o que é um dono.

Papéis de organização, com precisão

Quatro papéis, estritamente hierarquizados.

CapacidadeDonoAdminMembroObservador
Ler cofres, atividade, trilha de auditoriaSimSimSimSim
Convidar novas pessoasSimSimSó se a organização permitirNão
Mudar o papel de um membro ou observadorSimSimNãoNão
Mudar o papel de outro adminSimNãoNãoNão
Mudar configurações da organizaçãoSimSimNãoNão
Transferir a propriedade, excluir a organizaçãoSimNãoNãoNão
Sair da organizaçãoNão — transfira primeiroSimSimSim

Três detalhes dessa tabela merecem destaque.

Admins não podem mexer em outros admins. Um admin pode promover, rebaixar e remover membros e observadores, mas no momento em que o alvo é outro admin a operação é recusada. Isso é deliberado: significa que uma única conta de admin comprometida não consegue desmontar em silêncio o resto da camada administrativa.

Convites por membros são um interruptor no nível da organização. Por padrão, convidar é uma capacidade de admin. Uma organização pode optar por permitir que membros também convidem — útil para equipes maiores em que a integração não deveria fazer fila atrás de duas pessoas, e melhor desligado se você quer um perímetro apertado.

O dono não pode sair. Existe exatamente um dono, e a saída é transferir a propriedade a outra pessoa primeiro. Isso evita o modo de falha em que uma organização fica sem ninguém capaz de executar operações exclusivas do dono.

Papéis de cofre, com precisão

Três papéis, e o escopo deles é um único cofre, não a organização.

Um admin de cofre administra o cofre: suas políticas, suas configurações de notificação, seus observadores. Um admin de cofre não é necessariamente signatário, e um admin de cofre que não seja signatário não pode aprovar uma proposta.

Um signatário detém uma das chaves do M-de-N do cofre. Signatários redigem propostas e as aprovam. A chave pública deles está no endereço.

Um observador de cofre vê saldos, propostas e histórico sem poder redigir nem aprovar nada. Útil para auditores, contadores e qualquer um que precise de visibilidade sem autoridade.

Como papéis de cofre são por cofre, a mesma pessoa pode ser signatária no cofre de operações e só observadora no de tesouraria. É um arranjo normal e saudável: dá autoridade de gasto do dia a dia a quem precisa, mantendo a reserva atrás de um comitê diferente e menor.

Convites vão para identidades, não para caixas de entrada

Um convite na SSP Enterprise é endereçado a uma identidade WK — a identidade multisig 2-de-2 derivada do SSP Wallet e do SSP Key de alguém — e não a um endereço de e-mail.

Isso é uma propriedade de segurança, não um incômodo. Um endereço de e-mail pode ser comprometido, encaminhado ou digitado errado e cair na mão de outra pessoa. Uma identidade WK só pode ser apresentada por quem detém os dois dispositivos daquela pessoa, o que significa que um convite não pode ser aceito por quem por acaso leu a mensagem.

Duas consequências decorrem. Primeira: a pessoa que você convida precisa ter a SSP configurada antes de poder entrar; não existe caminho de "cadastre-se pelo e-mail do convite", por projeto. Segunda: convites são auditáveis de um jeito que convites por e-mail não são, porque a aceitação é um ato assinado.

Convites expirados não são apagados. São guardados indefinidamente, porque "quem foi convidado e nunca entrou" é exatamente o tipo de pergunta que uma auditoria faz meses depois. Nada na trilha de auditoria tem prazo de validade.

O que exige assinar de novo

Algumas operações são consequentes demais para autorizar com um cookie de sessão. Treze delas exigem que você assine de novo com seus dois dispositivos no momento em que age, entre elas:

  • Transferir a propriedade de uma organização
  • Excluir uma organização
  • Remover um membro
  • Mudar o e-mail empresarial de uma conta

A mecânica importa aqui. O servidor gera o desafio a ser assinado — nunca o cliente — e o desafio é vinculado à ação específica, ao alvo específico e a um horário. Uma assinatura capturada de uma operação não pode ser reproduzida em outra.

Toda tentativa é registrada em definitivo, inclusive as que falham. Um padrão de tentativas falhas de ações críticas é, ele mesmo, um sinal que vale ter nos registros.

Onde mudanças de papel ficam registradas

Toda mudança de permissão é escrita na trilha de auditoria da organização: papéis concedidos e revogados, convites emitidos, aceitos, recusados e revogados, membros entrando e saindo, remoções e transferências de propriedade. Mudanças no nível do cofre têm eventos próprios — signatários e observadores adicionados ou removidos, edições de política, mudanças de status do cofre.

Registros de auditoria são permanentes. Não há expiração nem rotina de limpeza, porque o valor de uma trilha de auditoria está inteiramente nas partes de que ninguém previu precisar. Uma organização que descobre um problema em novembro quer o registro de março.

Desenhando seu arranjo de papéis

Alguns padrões que se sustentam na prática.

Separe o administrador dos signatários. Deixe um líder de operações com administração da organização para gerenciar pessoas e configurações de cofre, sem colocar a chave dele no endereço da tesouraria. Aí a conveniência administrativa não carrega risco de custódia.

Distribua papéis de observador generosamente à área financeira. Acesso de leitura é barato e torna a conciliação possível sem ampliar o conjunto de quem pode gastar. Não há razão para um contador ser signatário.

Mantenha o comitê da tesouraria menor que o de operações. Uma reserva 3-de-5 e um cofre operacional 2-de-3 é uma divisão comum e sensata: o dinheiro que você toca diariamente tem uma barra de aprovação mais baixa que o que você toca anualmente. 2-de-2 x 2-de-3 x m-de-n cobre como raciocinar sobre os números.

Decida o procedimento de saída antes de alguém sair. Remover alguém da organização é mudança de papel; removê-lo como signatário é um cofre novo e uma migração de fundos. Escreva qual você vai fazer e confirme que o conjunto restante de signatários ainda alcança o limiar. O que acontece se uma das suas chaves for comprometida percorre o cenário vizinho.

Não trate políticas como permissões. Listas brancas, travas de tempo e regras de aprovação moldam o que é proposto, mas o limiar é a única coisa que a rede impõe. Desenhe seus papéis como se o motor de políticas não existisse e depois acrescente políticas como melhorias de processo por cima.

A hierarquia de papéis é fácil de acertar se você mantiver uma pergunta em primeiro plano: quais dessas mudanças exigem um endereço novo, e quais são apenas registros? Tudo na camada da organização é um registro. Só o conjunto de signatários é um endereço.

Compartilhar este artigo

Artigos relacionados