XACML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiunta la storia dello standard, create le intestazioni per ulteriori informazioni. |
Nessun oggetto della modifica |
||
Riga 17:
== 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.
==
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.
*# Una 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:
<p>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...).</p>
<p>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]].</p>
<p>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.</p>
<p>Il PEP, ricevuta la decisione del PDP, autorizzerà (o bloccherà) l'accesso dell'utente alla risorsa.</p>
== XACML 3.0 ==
|