La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Access Control (ACL e Content Access) Mario Baioli GLAD (gruppo di lavoro drupal Sapienza)http://www.corsodrupal.uniroma1.it.

Presentazioni simili


Presentazione sul tema: "Access Control (ACL e Content Access) Mario Baioli GLAD (gruppo di lavoro drupal Sapienza)http://www.corsodrupal.uniroma1.it."— Transcript della presentazione:

1 Access Control (ACL e Content Access) Mario Baioli GLAD (gruppo di lavoro drupal Sapienza)http://www.corsodrupal.uniroma1.it Corso Drupal advanced

2 Wikipedia ACL Una ACL è una lista ordinata di regole che stabilisce quali utenti o processi di sistema possono accedere a degli oggetti, e quali operazioni sono possibili su questi oggetti. Facendo l'esempio di una rete informatica, ci si troverebbe a dover decidere se far passare o meno un pacchetto o se permettere o meno ad un certo utente l'accesso ad un determinato file. Ciascuna regola, detta access control entry (ACE), esprime una o più condizioni o proprietà dell'oggetto da valutare (ad es. l'indirizzo sorgente di un pacchetto IP), e se queste proprietà sono verificate indica quale decisione prendere (ad es. lasciar passare il pacchetto oppure scartarlo). La valutazione inizia dalla prima regola: se l'insieme delle condizione/proprietà di questa risultano verificate si applica una prestabilita decisione o policy dell'ACL, proseguendo poi allo stesso modo con le regole successive. Se nessuna regola viene soddisfatta, viene applicata una decisione o policy di default. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 2

3 07/10/2014modulo ACL - dott. Mario Baioli ACL sta per Access Control List modulo nasce come API per altri moduli per creare liste di utenti a cui attribuire l’accesso ad un particolare nodo. In pratica non fa nulla da solo.. ACL fornisce un controllo dedicato fino al singolo utente su un singolo nodo. Reported installs: 23,814 sites currently report using this module. Downloads: 211,331 Automated tests: Enabled Last modified: June 2, 2014 Pagina 3

4 Perché usare il modulo ACL? 1.Avvertite l’esigenza di granularizzare l’accesso a ruoli e permessi ed i ruoli non sono sufficienti 2.Volete mantenere un certo ordine o meglio evitare un certo disordine e desiderate una soluzione granulare, adattabile a diversi tipi di contenuto del vostro progetto spingendovi fino al singolo nodo 3.Si desidera ottenere un controllo su tutto ciò che sta accadendo con i diritti di accesso. 4.Permette di scavalcare alcuni permessi assegnati ad un ruolo da uno specifico utente (o lista di utenti) 07/10/2014modulo ACL - dott. Mario Baioli Pagina 4

5 Ecco come iniziare con il modulo ACL Effettuare il download del modulo ACL e configurare tutti i diritti per il solo amministratore per il tipo di contenuto di cui desiderate restringere l’accesso. Questo è il metodo più facile per imparare come lavora questo modulo. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 5

6 Restrizione degli accessi Qualora volessimo rendere una pagina visibile solo agli utenti che appartengono ad un ruolo potremmo adottare diverse soluzioni. Una soluzione è permettere la visione/modifica di alcune pagine solo agli utenti del ruolo a cui sono collegati, cosa ormai nota. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 6

7 Alcuni moduli disponibili Content access (+ ACL) ha più funzioni Nodeaccess (è meno completo) Simple Access (per la versione 6 da scartare) Per le viste invece non c'è problema, visto che l'opzione è già prevista. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 7

8 La strada maestra è che prima va creato un Tipo di Contenuto e successivamente a questo Tipo di Contenuto é possibile associare i permessi in base al ruolo. 07/10/2014modulo ACL - dott. Mario Baioli Come fare … Pagina 8

9 Nel nostro caso Non vogliamo fermarci ad associare il Tipo di contenuto ad un ruolo Più esplicitamente tutti i nodi creati da quel tipo di contenuto potrebbero appartenere ad utenti diversi che hanno in comune i permessi associati al ruolo. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 9

10 Centriamo meglio cosa stiamo cercando Senza l’uso di ACL Una idea per evitare che un utente che dispone degli stessi permessi sul Tipo di contenuto possa accedere ad esempio in modifica sul nodo in considerazione è legarlo all’autore. Ma in questo caso l’associazione vale per il solo utente autore. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 10

11 Ragionando a voce alta Impostando un vincolo sull’accesso a un nodo in modifica per l’autore il problema è risolto se possiamo sostituire l’autore. E’ possibile? La risposta è si…… MA 07/10/2014modulo ACL - dott. Mario Baioli Pagina 11

12 Modificare l’autore di un nodo 1.Sebbene sia semplice nell’esecuzione nella realtà diventa macchinoso in quanto necessita l’intervento di un altro utente che abbia i permessi per interagire sui cosiddetti permessi di pubblicazione, normalmente l’amministratore. 2.Se così era progettato, il vecchio autore perde il permesso che era legato oltre che al ruolo di appartenenza, anche al fatto che a lui era associata la creazione del nodo e potrebbe non avere più accesso al nodo che aveva creato. 3.Con questa tecnica di modificare l’autore non cambia la sostanza che un solo utente può detenere questo permesso 4.Digressione… abbiamo già visto come associare tutti i nodi creati da un utente ad un altro utente, come associarli ad un utente anonimo, cioè lasciare vuoto il campo autore o eliminarli del tutto insieme all’utente 07/10/2014modulo ACL - dott. Mario Baioli Pagina 12

13 Con drupal puoi fare la stessa cosa in modi diversi Il nostro obiettivo è limitare l'accesso di un contenuto a una lista selezionata di utenti. Quindi dopo aver assegnato i ruoli e i permessi agli utenti, stabilisco che quel contenuto che inserisco sarà visibile – modificabile –alla mia lista di utenti e non modificabile da tutti gli altri Altra questione la visibilità del nodo, che vorrei fosse limitata alla mia lista di utenti selezionati 07/10/2014modulo ACL - dott. Mario Baioli Pagina 13

14 ACL + Content Access Perché ACL + Content Access? Il modulo ACL estende le potenzialità di Content Access fornendo un controllo di accesso a livello di singolo utente e per questo devono essere caricati entrambe i moduli per avere l’effetto che desideriamo 07/10/2014modulo ACL - dott. Mario Baioli Pagina 14

15 Ok, ci siamo convinti … proviamolo Andiamo a scaricare il modulo ACL Project Information Maintenance status: Seeking co-maintainer(s)Seeking co-maintainer(s) Development status: Under active developmentUnder active development Module categories: Community, Content, Content Access Control, Developer, Security, User Access & AuthenticationCommunityContentContent Access ControlDeveloperSecurityUser Access & Authentication Reported installs: 23,814 sites currently report using this module. View usage statistics.View usage statistics Downloads: 211,390 Automated tests: Enabled Last modified: June 2, /10/2014modulo ACL - dott. Mario Baioli Pagina 15

16 Download modulo ACL Al momento sul mio sito è up questo modulo: 07/10/2014modulo ACL - dott. Mario Baioli Versione DownloadsDataLinks 7.x-1.0tar.gz (15.26 KB)zip (17.99 KB)2011-Nov-26Notes Naturalmente il sito da cui effettuare il download è questo: https://www.drupal.org Pagina 16

17 Statistiche sull’utilizzo di ACL 07/10/2014modulo ACL - dott. Mario Baioli Pagina 17

18 Content Access ? Questo modulo permette di gestire le autorizzazioni per i Tipi di contenuto per ruolo e autore. Pertanto è possibile abilitare le impostazioni di accesso ai contenuti, in modo da poter personalizzare l'accesso per ogni nodo del contenuto al singolo utente anche di ruolo diverso oppure dello stesso ruolo per superare un permesso che impedisce la modifica sui contenuti creati da un altro autore. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 18

19 Download modulo Content Access Al momento sul mio sito è up questo modulo: 07/10/2014modulo ACL - dott. Mario Baioli Versione DownloadsDataLinks 7.x-1.x-devtar.gz (23.63 KB) zip (28.83 KB)2013-Sep-30Notes Naturalmente il sito da cui effettuare il download è questo: https://www.drupal.org Pagina 19

20 Dopo il download del file tar.gz 07/10/2014modulo ACL - dott. Mario Baioli Nel pannello moduli cercare CONTROLLO ACCESSI per attivarlo dei moduli apparirà Pagina 20

21 E adesso ? Aprire il tipo di contenuto in cui applicare il nuovo modulo appena caricato: ad esempio la nostra pagina base 07/10/2014modulo ACL - dott. Mario Baioli Pagina 21

22 07/10/2014modulo ACL - dott. Mario Baioli Pagina 22

23 Configurazione del tipo di contenuto per AC 07/10/2014modulo ACL - dott. Mario Baioli Se abilitato apparirà nel tipo di contenuto su cui state lavorando un nuovo pannello, chiamato «Controllo accessi». Pagina 23

24 Vogliamo assegnare diritti di modifica Ad un nodo che è stato prodotto dal tipo di contenuto «pagina base» vogliamo aggiungere il controllo accessi per consentire ad un utente di accedere per fare modifiche. Per progetto abbiamo deciso che il ruolo docente (che usiamo per questo test) può creare, modificare ed eliminare solo nodi di cui è l’autore. Verifichiamo se applicando il control access possiamo far modificare il nostro nodo di esempio ad un utente del ruolo docente che non è l’autore. 07/10/2014modulo ACL - dott. Mario Baioli Vogliamo assegnare diritti di modifica Pagina 24

25 Cominciamo da GRAND UPDATE ACCESS che è il menu che fa al caso nostro. Non dovremo fare altro che aggiungere nel campo di testo il nome utente da abilitare e poi cliccare su Add User per completare cliccare su invia. Da questo momento l’utente che andremo ad aggiungere potrà modificare questo singolo nodo appartenente al suo Tipo di contenuto mentre in precedenza non godeva di questo permesso. 07/10/2014modulo ACL - dott. Mario Baioli Adesso entra in gioco ACL These settings allow you to grant access to specific users. Ci siamo !! Qui possiamo configurare l’assegnazione di permessi che consentono di vedere, modificare ed eliminare content (nodi) a singoli utenti oppure a liste di utenti Pagina 25

26 Bello, fa anche qualcos’altro ? Allo stesso modo può anche essere impostata la visualizzazione che apre tutta una serie di scenari che vedremo in un prossimo corso se è conveniente trattarli con questo modulo oppure utilizzando altre soluzioni. Così a naso può essere conveniente se le liste sono limitate e gli utenti sono noti. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 26

27 Consente anche l’eliminazione Un permesso come l’eliminazione di un nodo viene concesso raramente, in quanto l’eliminazione di un nodo è irreversibile. Tuttavia in casi particolari possiamo concedere questo permesso ad un utente fidato che può procedere all’eliminazione esclusivamente di quel singolo nodo appartenente a quel Tipo di contenuto. 07/10/2014modulo ACL - dott. Mario Baioli Pagina 27

28 Altri Tipi di contenuto… Beh! Siamo incontentabili !!!! Qualcuno sicuramente avrà già chiesto se questo modulo una volta applicato su un Tipo di contenuto si estende a tutti gli altri oppure no! La configurazione di Access Control va fatta sul singolo Tipo di contenuto, non si estende a tutti, da qui la granularità 07/10/2014modulo ACL - dott. Mario Baioli Pagina 28

29 Granularità… Per granularità intendo dire che con l’applicazione di questo modulo un utente a cui in precedenza non era consentito l’utilizzo di un certo Tipo di contenuto perché per ragioni di progetto non si intende assegnarne la disponibilità al ruolo a cui appartiene, può invece utilizzare il Tipo di contenuto a cui viene associato, ma su un singolo nodo. Controindicazioni ???? Vedi oltre-> 07/10/2014modulo ACL - dott. Mario Baioli Pagina 29

30 controindicazioni Purtroppo sì, ma a mio parere sono più i vantaggi che gli svantaggi e quindi lo ho usato Vabbè ma quali sono le controindicazioni ? Il nodo per essere configurato con Access Control deve già esistere e poi il diritto di configurazione è in capo ad un utente del ruolo amministratore che notoriamente sono difficili da trovare 07/10/2014modulo ACL - dott. Mario Baioli Pagina 30

31 07/10/2014modulo ACL - dott. Mario Baioli Pagina 31


Scaricare ppt "Access Control (ACL e Content Access) Mario Baioli GLAD (gruppo di lavoro drupal Sapienza)http://www.corsodrupal.uniroma1.it."

Presentazioni simili


Annunci Google