Vai al contenuto principale

Sicurezza e autorizzazioni

La sicurezza è al centro di Senso MCP. La soluzione si basa sui meccanismi di Joomla e non introduce alcuna backdoor: l’assistente può fare solo ciò che i vostri permessi consentono.


Tre livelli di controllo

Ogni chiamata a uno strumento attraversa tre filtri successivi, che si sommano:

  1. Gli interruttori del componente — una policy globale del sito. Uno strumento disattivato nell'amministrazione di Senso MCP non esiste per nessuno, indipendentemente dall'account. Allo stesso modo, la modalità globale sola lettura rimuove tutti gli strumenti di scrittura.
  2. L'ACL di Joomla — i permessi dell'account connesso. Ogni strumento è associato a un'azione e a un componente Joomla, esattamente come nell'amministrazione.
  3. Gli scope OAuth — l'ambito concesso a una determinata connessione. Durante l'autorizzazione, l'utente sceglie le aree degli strumenti (contenuti, media, menu…) che affida a questo assistente e può selezionare solo quelle a cui i suoi permessi Joomla gli consentono di accedere.

Uno strumento può quindi essere utilizzato solo se è attivato sul sito, consentito dall'ACL dell'account e incluso negli scope della connessione.

Allineamento con l'ACL di Joomla

Gli strumenti MCP rispettano l'ACL (Access Control List) di Joomla. Un account che non dispone di un determinato permesso nell'amministrazione non lo possiede neppure tramite MCP: lo strumento non compare nell'elenco trasmesso all'assistente e una chiamata forzata viene rifiutata con il messaggio « Insufficient permission ». La corrispondenza segue il nome dello strumento:

StrumentiAzione Joomla richiestaEsempio
create_*core.create sul componentecreare un articolo: core.create su com_content
update_*core.editmodificare un modulo: core.edit su com_modules
delete_*core.deleteeliminare una categoria
set_*_state, reorder_*core.edit.statepubblicare, ritirare dalla pubblicazione, riordinare
letture delle estensionicore.manage su com_installerelencare gli aggiornamenti disponibili
strumenti della cachecore.manage su com_cachesvuotare la cache

I gruppi standard di Joomla sono sufficienti: un Editore o un Publisher può agire solo sui contenuti, mentre un Amministratore può utilizzare quasi tutti gli strumenti.

Letture filtrate

Il controllo non si limita alle scritture. Le ricerche e le consultazioni di articoli e categorie restituiscono solo gli elementi pubblicati compresi nei livelli di accesso dell'account, a meno che quest'ultimo non disponga di permessi di modifica. I dati che rivelano informazioni sensibili sono riservati agli account autorizzati: cronologia delle versioni (bozze, cestino), parametri dei moduli, impostazioni di YOOtheme (script, CSS).

Strumenti riservati ai Super utenti

Alcuni strumenti hanno una portata che va oltre i contenuti e riguarda l'intero sito. Come in Joomla, richiedono il permesso globale core.admin, ossia l'appartenenza al gruppo Super utenti:

  • installare, aggiornare o disinstallare un'estensione;
  • modificare un file di template;
  • modificare le impostazioni di Senso MCP.

Un Amministratore non li vede. È una scelta deliberata: queste azioni possono iniettare codice o script in tutte le pagine e richiedono lo stesso livello di fiducia dell'accesso al server.

L'add-on YOOtheme Pro, invece, non rientra più in questo elenco: le sue operazioni di scrittura (pagine, template, impostazioni) seguono ora l'ACL del componente interessato — com_content per le pagine e i relativi collegamenti, com_templates per template, impostazioni e snapshot — così un Amministratore può gestire il builder senza un account Super utente.

È necessario essere un Super utente?

No. Un account ordinario è sufficiente per la stragrande maggioranza degli utilizzi. Scegliete il gruppo Joomla corrispondente alle vostre esigenze: redazione con il ruolo di Editore o Publisher, gestione ordinaria con quello di Amministratore, riservando un account Super utente alle sole operazioni sulle estensioni e alla modifica diretta dei file di template.

Per una connessione tramite token API di Joomla (anziché tramite OAuth), l'account deve inoltre disporre del permesso API Login (core.login.api) e non deve essere bloccato.

Mai una password esposta

Senso MCP non trasmette mai alcuna password all'assistente. L'autenticazione si basa su token OAuth o API e gli strumenti di gestione degli utenti non gestiscono né restituiscono password.

Ambito degli strumenti

Mantenete il controllo dell'ambito: ogni plugin attivato aggiunge strumenti, ogni plugin disattivato li rimuove e ogni strumento dispone del proprio interruttore. Gli strumenti si dividono tra lettura (consultazione) e scrittura (modifica): attivate solo quelli necessari al vostro utilizzo.

Buone pratiche

  • create un account per ogni utilizzo (un assistente, un'automazione), applicando il principio del minimo privilegio;
  • servite sempre il sito tramite HTTPS;
  • attivate solo i plugin e gli strumenti realmente utili;
  • concedete a una connessione solo gli scope di cui ha bisogno;
  • revocate un accesso non appena non è più necessario.