XACML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
XACML - Politiche per il controllo degli accessi |
m Annullata la modifica di 95.75.241.229 (discussione), riportata alla versione precedente di Giuseppe Masino Etichetta: Rollback |
||
(26 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
{{Formato file|nome=XACML|estensione=.xml , .alpha|licenza=https://www.oasis-open.org/resources/open-repositories/licenses}}
'''XACML''' (''eXtensible Access Control Markup Language'') è uno standard rilasciato da [[OASIS]] (''Organization for the Advancement of Structured Information Standards'') che definisce un linguaggio per la definizione di politiche di controllo degli accessi in formato [[XML]], e illustra come valutare le richieste di autorizzazione.▼
▲'''XACML''' (''eXtensible Access Control Markup Language'') è uno [[Norma tecnica|standard]]
Il [[linguaggio]] si basa su un processo di valutazione in stile ''[[Policy Based Access Control]]'' (PBAC). Le singole policy applicano il modello [[Attribute Based Access Control]] (ABAC). Poiché la definizione dello standard è [[XML]], il linguaggio può essere implementato per qualsiasi architettura.
Lo standard XACML si basa sulla definizione di policy per il controllo degli accessi a risorse. La richiesta di accesso è definita con una richiesta XACML e l'esito del processo di decisione autorizzativa è dato dalla combinazione delle regole (rules) definite nelle politiche (policies) applicabili a tale richiesta.
Nella nuova versione, a differenza della precedente, l'esito dell'autorizzazione dipende maggiormente dal contesto di valutazione della richiesta, nel dettaglio mediante azioni e/o informazioni aggiuntive fornite dalle ''obligation'' e dagli ''advice''; altre differenze di sintassi, principalmente per migliorare l'efficienza di scrittura, sono presentate in seguito, insieme al modello applicativo dello standard.
== Storia ==
La versione 1.0 è stata rilasciata da OASIS nel 2003.
La versione 2.0 è stata rilasciata da OASIS il 1 febbraio 2005.
La prima specifica del comitato XACML 3.0 è stata pubblicata il 10 agosto 2010.<ref>{{Cita web|url=https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml#CURRENT|titolo=OASIS eXtensible Access Control Markup Language (XACML) TC {{!}} OASIS|sito=www.oasis-open.org|lingua=en|accesso=18 maggio 2017}}</ref> La versione più recente - XACML 3.0 - è stata standardizzata nel gennaio 2013.<ref>{{Cita web|url=https://lists.oasis-open.org/archives/xacml/201301/msg00017.html|titolo=eXtensible Access Control Markup Language (XACML) V3.0 approved as an OA|sito=lists.oasis-open.org|accesso=18 maggio 2017}}</ref>
== Architettura ==
Il linguaggio XACML definisce due categorie di entità, entrambe definite da un [[Uniform Resource Identifier]]:
* '''Subject''': ovvero l'elemento che richiede l'accesso (es. Utenti, Computer, Servizi web...).
* '''Resources''': cioè gli elementi a cui il Subject vuole accedere (es. File, Documenti, Database...).
Per svolgere la sua funzione, XACML ha bisogno di vari componenti logici che svolgono funzioni separate:
* '''PEP''': il Policy Enforcement Point, il quale protegge una risorsa e ne permette l'accesso solo se la verifica di compatibilità con la policy è positiva.
* '''PDP''': Policy Decision Point, il quale riceve tutti i vari parametri (Policy, Soggetto, Risorsa richiesta, Tipo di accesso, Contesto...) e decide se concedere o meno l'accesso. Presa la decisione, questa sarà comunicata al PEP.
* '''PIP''': Policy Information Point, fornisce le informazioni relative all'accesso richiesto.
* '''PAP''': Policy Access Point, fornisce la policy applicabile all'accesso richiesto.
== Elementi della Policy ==
Ogni Policy è formata da alcuni elementi:
* Una o più '''Rule''', ovvero la singola regola nella politica. Essa a sua volta è formata da:
*# L’effetto della regola (permit/deny).
*# La condizione da verificare (opzionale).
* Il '''Target''', usato per controllare l’applicabilità della richiesta ed indicizzare le varie policy per il PDP. Contiene:
*# Uno o più Soggetti, può contenere l’elenco degli attributi legato al soggetto al quale è rivolta la policy.
*# Un'Azione, ciò che la policy permette di fare (view, execute, ecc).
*# Le Risorse, cioè il riferimento alle risorse da proteggere (URI).
== Funzionamento ==
Il tipico funzionamento dello schema XACML è il seguente:
Un soggetto (ad es. un Utente) vuole accedere a delle informazioni presenti su un Database.<br />Per far ciò, deve comunicare al PEP la sua identità, la risorsa a cui vuole accedere e l'operazione che vuole fare (Lettura, Scrittura...).
Il PEP, ricevuta la richiesta, la congela temporaneamente e consulta (attraverso un "traduttore di richiesta") il PDP.<br />Il traduttore è necessario in quanto ogni richiesta deve essere "contestualizzata" insieme alle informazioni provenienti dal PIP. Queste informazioni sono comunicate con un linguaggio apposito detto [[Security Assertion Markup Language]].
Il PDP, a sua volta, richiede la corrispondente policy di sicurezza al PAP, il quale avendo accesso al Policy Repository potrà fornire le informazioni necessarie.<br />Il PDP, avendo ora a disposizione tutti gli elementi (la richiesta, il contesto e la policy di sicurezza) deciderà se consentire o meno l'accesso e comunicherà il risultato al PEP.
Il PEP, ricevuta la decisione del PDP, autorizzerà (o bloccherà) l'accesso dell'utente alla risorsa.
== XACML 3.0 ==
{{...|informatica}}
== XACML e gli altri standard ==
{{...|informatica}}
== Note ==
<references />
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{portale|informatica}}
[[Categoria:Linguaggi di markup XML]]
[[Categoria:Standard OASIS]]
[[Categoria:Controllo degli accessi (informatica)]]
|