Torne-se administrador

Problema

  1. Administradores podem acessar inadvertidamente partes confidenciais do fórum
  2. Tais acessos indesejados não estão sendo registrados
  3. Administradores podem perder a configuração incorreta devido aos seus superpoderes que ocultam a experiência normal para eles

Descrição do Recurso

No mesmo espírito do recurso Impersonating a user, um usuário com privilégio de administrador deve poder tornar-se administrador para executar tarefas administrativas apenas quando isso for necessário.

Ao contrário do recurso de Impersonação, este recurso não exigirá logout para recuperar os privilégios normais do usuário.

Este recurso permitiria:

  1. que administradores naveguem no site como um usuário normal, compartilhando a experiência diária de outros usuários;
  2. impedir que administradores acessem inadvertidamente espaços privados do fórum;
  3. proteger o acesso não autorizado a tais espaços privados com um registro real do acesso do administrador.

O primeiro ponto é útil porque a experiência do administrador é muito diferente da experiência do usuário, e os administradores podem não conseguir perceber problemas do usuário (por exemplo, relacionados a permissões incorretas definidas em categorias ou grupos, etc.)

O segundo ponto pode ser crítico em casos onde um grupo requer confidencialidade: clicar em um link pode levar o administrador a invadir inadvertidamente e quebrar a confidencialidade.

O terceiro ponto permitiria que os administradores fossem responsabilizados pelo acesso não autorizado a partes confidenciais do fórum, enquanto atualmente não são de forma alguma.

Como poderia funcionar?

  • A escalada de privilégios deve estar disponível apenas para contas de administrador reais;
  • “Administrador” poderia ser considerado como um Nível de Confiança extra (por exemplo, nível 5 [1]);
  • Retornar ao modo “normal” simplesmente voltaria ao [abbr title=“Nível de Confiança”]TL[/abbr] anterior;

Em vez de fornecer uma “perspectiva de administrador” totalmente nova, o modo Administrador poderia adicionar uma camada extra de interface do usuário:

  • destacar links que funcionam apenas porque você é administrador
  • destacar categorias às quais você só tem acesso porque você é administrador
  • destacar associações de grupo que você pode ver porque você é administrador (por exemplo, se você é membro do grupo com acesso limitado à associação de grupo, o destaque não se aplicará)
  • destacar informações que apenas administradores podem ver

  1. Uma referência ao filme de Chris Marker Level 5 no qual um programador de computador tenta completar o videogame de seu falecido marido sobre a batalha de Okinawa para superar o luto. ↩︎

3 curtidas

Eu acho que isso é semelhante a

3 curtidas

Consigo ver como é semelhante, mas há problemas na outra discussão que se relacionam com o problema aqui:

Exceto que, quando você é administrador, não tem como ver que um link para uma conversa confidencial à qual normalmente não teria acesso é, na verdade, proibido. Este é apenas um caso (que ocorreu conosco ontem e nos levou a iniciar este tópico) em que a não separação de administrador e participante pode ser problemática.

Além disso, vejo que a equipe do Discourse tem o hábito de ser toda administradora, o que cria um superpoder horizontal e não ajuda, como cultura, a diferenciar entre uso normal e uso privilegiado. Nem todas as comunidades são horizontais, às vezes as pessoas de tecnologia que têm privilégios de administrador não devem ser confiáveis com tudo no fórum, e isso não é um caso extremo: foi construído em sistemas de computador desde o início que root pode ver e fazer tudo. O privilégio certamente vem com responsabilidade, mas às vezes a benevolência não é suficiente, especialmente quando não se consegue distinguir entre o que é aceitável e o que é proibido.

Embora a solução de “usar outro perfil de navegador” para lidar com uma conta normal e de administrador não seja muito prática, especialmente porque todos nos acostumamos a ter as ferramentas à mão. Lançar um novo navegador cada vez que um recurso de administrador é necessário pode ser muito irritante (nem todo mundo gosta nem pode se dar ao luxo de ter recursos ociosos em sua máquina). Também não impede que a situação do espião privilegiado \u003cabbr title=“Bastard Operator From Hell”\u003eBOFH\u003c/abbr\u003e aconteça.

Os tempos mudam. Aqui, temos um administrador que acidentalmente acessou informações confidenciais que afetaram a vida de outras pessoas, e elas não deveriam ter acesso. Isso é violação de privacidade. É um problema de segurança.

Entendo a complexidade potencial, mas a questão central permanece e deve ser resolvida de uma forma ou de outra. Na minha opinião, seria útil revisitar a questão agora que a base de código amadureceu e avaliar se a abordagem proposta seria viável.

Sim! Ter avisos e proteções sobre esse tipo de problema (de invasão) seria útil.


Sobre plugins existentes:

Eu preferiria ter uma separação realmente limpa entre participante e administrador usando a metáfora clássica e bem conhecida de sudo, por todas as razões declaradas acima.

1 curtida

Concordo que o mecanismo sudo - no Windows, o diálogo de Controle de Conta de Usuário - é uma boa maneira para uma conta ter o potencial de agir como administrador, mas sem ter sempre a capacidade.

Em um dos meus fóruns, a abordagem que uso é ter um login de administrador, mas geralmente usar o Impersonate User para fazer login como uma conta normal sempre. Quando preciso agir como administrador, faço logout e login novamente. Isso significa duas contas.

Uma vantagem de duas contas é que, quando posto ou comento com minha conta normal, não pareço uma pessoa poderosa e importante. (Às vezes, comentar como administrador será visto como uma declaração ou uma ação policial. Depende da cultura e da expectativa do leitor.)

1 curtida

Como esse recurso, se eventualmente for implementado (não se esqueça de votar nele!), levará tempo para acontecer, estamos avaliando o uso de duas contas. Isso significa: converter contas existentes em contas normais. Veja o que isso deve implicar (tentarei editar esta postagem, ou transformá-la em uma wiki para que possamos manter uma documentação atualizada cobrindo as ressalvas)…

:warning: ainda não testado: tudo isso é teórico, tirado da minha cabeça.

Convertendo uma conta de administrador do Discourse existente em uma conta de usuário normal

Como não queremos perder o histórico e a “experiência do fórum” da conta original, precisamos proceder com cuidado antes de remover o privilégio de administrador.

Dado o usuário eu com o e-mail eu-original@email.exemplo.

Primeiro caso: conta de administrador em DISCOURSE_DEVELOPER_EMAILS

Se o e-mail da conta de administrador fizer parte de DISCOURSE_DEVELOPER_EMAILS, ele não pode ser rebaixado para uma conta normal.

  1. Crie uma nova conta que se tornará administrador, por exemplo, eu2 com o e-mail eu-original+admin@email.exemplo.
  2. De mim, conceda privilégio de administração à nova conta eu2.
  3. Edite app.yml (ou web_only.yml se você usar a configuração de contêiner duplo) para substituir eu-original@email.exemplo por eu-original+admin@email.exemplo e reconstrua o contêiner.
  4. De eu2, rebaixe a conta original eu.

Agora você tem uma conta de usuário normal com toda a sua experiência (eu) e uma nova conta apenas para administradores (eu2): vá para “Pós-efeitos”.

Segundo caso: conta de administrador promovida de usuário normal

Isso é mais simples, pois você pode rebaixar este usuário sem ter que reconstruir o contêiner.

  1. Crie uma nova conta que se tornará administrador, por exemplo, eu2 com o e-mail eu-original+admin@email.exemplo.
  2. De mim, conceda privilégio de administração à nova conta eu2.
  3. De eu2, rebaixe a conta original eu.

Agora você tem uma conta de usuário normal com toda a sua experiência (eu) e uma nova conta apenas para administradores (eu2): vá para “Pós-efeitos”.

Pós-efeitos

Antes, você tinha uma única conta de usuário com privilégio de administrador: recebia notificações de atualizações do sistema, revisava sinalizações e podia acessar todas as áreas, incluindo aquelas que você não deveria ver (por exemplo, mensagens privadas de usuários se não estiverem criptografadas) ou categorias restritas a grupos dos quais você não faz parte. Tudo isso acabou! Agora você deve se conectar regularmente à sua conta de administrador para fazer qualquer coisa que costumava fazer com sua conta única de usuário/administrador (o que é mais um motivo pelo qual o recurso proposto é útil). Você precisa criar essa disciplina para abrir as duas contas ao mesmo tempo se quiser notificações de administrador em tempo real (por exemplo, usando uma guia privada no Firefox, ou equivalente para outros navegadores).

Ressalvas

Você não deve usar sua conta de administrador para nada além de administração.

Não navegue por discussões enquanto for administrador! Esse tempo é perdido para a progressão do seu próprio nível de confiança, e você nunca sabe quando pode clicar em um link que está fora dos limites para você como pessoa.

Se você ler algo enquanto estiver em sua conta de administrador que o faça reagir, mude para sua guia de usuário normal e navegue até o URL original ou, se seu usuário normal não tiver acesso a essa seção: esqueça imediatamente (a menos que, é claro, você deva reagir com seu chapéu de administrador).

Você deve configurar sua conta de administrador para ter uma aparência diferente

Mude seu avatar para garantir que você nunca confunda sua conta de administrador e sua conta de usuário normal. Torne seu perfil invisível. Mude sua imagem de fundo ou tema, seu nome para incluir “ADMIN” ou algo como “ESTA CONTA NÃO POSTA”, etc. Apenas certifique-se de que você não queira ser tentado a postar com sua conta de administrador, nunca.

Você deve configurar sua conta de administrador para filtrar notificações

A FAZER: detalhar esta seção

Você deve configurar sua conta de administrador para silenciar todas as notificações por e-mail (a menos que você queira receber tais notificações, por exemplo, para evitar ter que manter uma guia de administrador aberta o tempo todo) E você é capaz de distinguir claramente quais são destinadas a você como pessoa, ou para sua função de administrador.

Provavelmente você desejará ser notificado em seu desktop para capturar sinalizações e mensagens importantes.

O que fazer com a categoria staff e sussurros?

Sim, você atingiu mais um problema complicado com o uso de duas contas separadas para participação como administrador e usuário normal. Às vezes, você deve interagir no fórum como administrador. Isso é provavelmente inevitável. Tente não se tornar esquizofrênico e tente minimizar suas intervenções de staff o máximo que puder. Por favor, relate suas táticas para lidar com este problema árduo e motive toda a equipe de administradores do Discourse a implementar este recurso. :wink:

Vantagens da solução de Duas Contas

  1. Separação limpa entre participação e administração (mais ou menos)
  2. Você não pode cometer erros de sua conta normal
  3. Todas as suas ações de administrador são devidamente registradas
  4. Como usuário, você experimenta o fórum como qualquer outro usuário, então pode facilmente capturar problemas de permissão
  5. Se você postar como admin, mas pretendia postar como você mesmo, pode mudar a propriedade para sua outra conta (mas isso meio que anula ter duas contas).

Então os administradores serão usuários normais ou TL4s, mas poderão ativar o ‘modo de administrador’ para usar os recursos especiais de administrador?
Se sim, o que impede os administradores de deixarem sempre ativado?

2 curtidas

Essa é uma observação interessante. Alguma maneira de diminuir a lacuna - permitir que um grupo controle a entrega de notificações, sem o conteúdo? “Existem posts sinalizados” “Há uma mensagem esperando” “Sua instalação está desatualizada”

1 curtida

Aqui está uma ideia: a função de administrador não pode postar em uma categoria ou tópico público, não pode curtir uma postagem.

2 curtidas

Isso também significa que a conta pode ser ignorada como um usuário normal. Recebendo apenas atualizações necessárias do administrador se quisermos ignorá-los.
Ótimo mesmo :+1:t2:

1 curtida