Pular para o conteúdo principal

Segurança e permissões

A segurança está no centro do Senso MCP. A solução utiliza os mecanismos do Joomla e não introduz nenhuma porta dos fundos: o assistente só pode fazer o que as suas permissões permitem.


Três camadas de controle

Cada chamada de ferramenta passa por três filtros sucessivos, que se acumulam:

  1. Os interruptores do componente — uma política global do site. Uma ferramenta desativada na administração do Senso MCP não existe para ninguém, independentemente da conta. O modo global de somente leitura também remove todas as ferramentas de escrita.
  2. A ACL do Joomla — as permissões da conta conectada. Cada ferramenta está vinculada a uma ação e a um componente do Joomla, exatamente como na administração.
  3. Os escopos OAuth — o perímetro concedido a uma determinada conexão. Durante a autorização, o usuário escolhe os domínios de ferramentas (conteúdo, mídia, menus…) que confiará a esse assistente e só pode marcar aqueles aos quais suas permissões do Joomla dão acesso.

Portanto, uma ferramenta só pode ser usada se estiver ativada no site, permitida pela ACL da conta e abrangida pelos escopos da conexão.

Alinhamento com a ACL do Joomla

As ferramentas MCP respeitam a ACL (lista de controle de acesso) do Joomla. Uma conta que não tem determinada permissão na administração também não a terá pelo MCP: a ferramenta não aparece na lista enviada ao assistente, e uma chamada forçada é recusada com a mensagem « Insufficient permission ». A correspondência segue o nome da ferramenta:

FerramentasAção do Joomla necessáriaExemplo
create_*core.create no componentecriar um artigo: core.create em com_content
update_*core.editmodificar um módulo: core.edit em com_modules
delete_*core.deleteexcluir uma categoria
set_*_state, reorder_*core.edit.statepublicar, despublicar, reordenar
leituras de extensõescore.manage em com_installerlistar as atualizações disponíveis
ferramentas de cachecore.manage em com_cachelimpar o cache

Os grupos padrão do Joomla são suficientes: um Editor ou um Publicador só pode atuar sobre o conteúdo, enquanto um Administrador tem acesso à quase totalidade das ferramentas.

Consultas filtradas

O controle não se limita às operações de escrita. As pesquisas e consultas de artigos e categorias retornam apenas os itens publicados nos níveis de acesso da conta, exceto quando ela tem permissões de edição. Dados que revelam informações sensíveis são reservados às contas autorizadas: histórico de versões (rascunhos, lixeira), parâmetros dos módulos e configurações do YOOtheme (scripts, CSS).

Ferramentas reservadas ao Super Usuário

Algumas ferramentas têm um alcance que vai além do conteúdo e afeta o site inteiro. Assim como no Joomla, elas exigem a permissão global core.admin, ou seja, o grupo Super Usuários:

  • instalar, atualizar ou desinstalar uma extensão;
  • modificar um arquivo de tema;
  • alterar as configurações do próprio Senso MCP.

Um Administrador não as vê. Essa escolha é deliberada: essas ações podem inserir código ou scripts em todas as páginas e exigem o mesmo nível de confiança que o acesso ao servidor.

O complemento YOOtheme Pro, por outro lado, não faz mais parte dessa lista: suas operações de escrita (páginas, temas, configurações) agora seguem a ACL do componente correspondente — com_content para as páginas e seus vínculos, com_templates para os temas, configurações e instantâneos — de modo que um Administrador possa operar o construtor sem uma conta de Super Usuário.

É preciso ser Super Usuário?

Não. Uma conta comum é suficiente para a imensa maioria dos usos. Escolha o grupo do Joomla que corresponde à necessidade: redação com o perfil Editor ou Publicador, gerenciamento cotidiano com o perfil Administrador, e reserve uma conta de Super Usuário apenas para operações com extensões e edição direta de arquivos de tema.

Para uma conexão por token de API do Joomla (em vez de OAuth), a conta também deve ter a permissão API Login (core.login.api) e não estar bloqueada.

Nunca exponha uma senha

O Senso MCP nunca transmite uma senha ao assistente. A autenticação usa tokens OAuth ou de API, e as ferramentas de gerenciamento de usuários não manipulam nem retornam senhas.

Escopo das ferramentas

Você mantém o controle do escopo: cada plugin ativado adiciona ferramentas, cada plugin desativado as remove e cada ferramenta tem seu próprio interruptor. As ferramentas se dividem entre leitura (consulta) e escrita (modificação) — ative apenas o que for necessário para o seu uso.

Boas práticas

  • crie uma conta por uso (um assistente, uma automação), seguindo o princípio do menor privilégio;
  • sempre disponibilize o site por HTTPS;
  • ative apenas os plugins e as ferramentas realmente úteis;
  • conceda a uma conexão somente os escopos de que ela precisa;
  • revogue um acesso assim que ele não for mais necessário.