XACML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m sostituisco "rilasciato" con un termine appropriato, vedi qui - using AWB
m Annullata la modifica di 95.75.241.229 (discussione), riportata alla versione precedente di Giuseppe Masino
Etichetta: Rollback
 
(15 versioni intermedie di 13 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]] pubblicato 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. La versione attualmente stabile è la 3.0 <ref>[https://lists.oasis-open.org/archives/xacml/201301/msg00017.html Messaggio di approvazione come OASIS standard di XACML v3.0]</ref><ref>[http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.pdf XACML v3.0 OASIS Standard (2013)]</ref> del Gennaio 2013.
 
'''XACML''' (''eXtensible Access Control Markup Language'') è uno [[Norma tecnica|standard]] pubblicato 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. La versione attualmente stabile è la 3.0 <ref>[https://lists.oasis-open.org/archives/xacml/201301/msg00017.html Messaggio di approvazione come OASIS standard di  XACML v3.0]</ref><ref>[http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.pdf XACML v3.0 OASIS Standard (2013)]</ref> del Gennaiogennaio 2013.
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.
 
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.
 
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.
 
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.
== Data - Flow ==
 
== 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 ==
[[Categoria:XML]]
* {{Collegamenti esterni}}
[[Categoria:Formati di file]]
 
{{portale|informatica}}
 
[[Categoria:FormatiLinguaggi di filemarkup XML]]
[[Categoria:XMLStandard OASIS]]
[[Categoria:Controllo degli accessi (informatica)]]