Formulazione della politica ABAC e domanda RBAC

1

Mi viene chiesto di rispondere a una domanda che dice:

One online book-store wants to grand access to clients regarding their subscription. There are 3 types of subscriptions A , B and C. Customers get access in the subscription type they chose. Also if a book is not listed in the subscription list it's free for all and , every 15th of every month all books are free.
1) Describe with formal representation the above policy on ABAC.
2) How many roles does the RBAC model needs and which?

Ho studiato l'Al-Kahtani & Carta di Sandhu, che copre solo l'RBAC, ma non ABAC.
A mio avviso, devo impostare 2 regole per ABAC.
La prima regola consentirà ai 3 tipi di abbonati di avere gratuitamente tutti i libri non elencati. La seconda regola conterrà una data (e) come 15 che consentirà a tutti i libri di essere liberi. O è qualcosa di completamente diverso?

Per quanto riguarda l'RBAC, ho bisogno di 3 ruoli per quanto riguarda i nomi delle sottoscrizioni.

Qualsiasi aiuto è apprezzato quando trovo una documentazione che abbia un esempio di formulazione della politica ABAC.

    
posta Jamesgr 21.01.2016 - 15:57
fonte

1 risposta

0

Axiomatics fornisce un ciclo di vita della politica di autorizzazione che ti aiuterà a formulare la tua politica ABAC.

  1. Definisci il caso d'uso
  2. Definisci i requisiti di autorizzazione del caso d'uso in dichiarazioni linguistiche naturali
  3. Identifica gli attributi utilizzati nelle dichiarazioni di linguaggio naturale
  4. Identifica da dove provengono gli attributi
  5. Rielaborare le istruzioni in linguaggio naturale come regole basate sugli attributi
  6. Definisci i casi di test
  7. Collega i punti: disegna un diagramma di architettura dell'intero sistema

Analizziamo il tuo esempio.

Usa caso

Un negozio di libri online vuole un grande accesso ai clienti per quanto riguarda il loro abbonamento. Esistono 3 tipi di abbonamento A, B e C.

Requisiti di autorizzazione

  1. I clienti ottengono l'accesso nel tipo di abbonamento che scelgono.
  2. Se un libro non è elencato nell'elenco delle iscrizioni è gratuito per tutti.
  3. Ogni 15 di ogni mese tutti i libri sono gratuiti.

Identifica attributi

Attributi utente

  1. Ruolo utente ad es. cliente
  2. Piano di abbonamento utente, ad es. A, B, C
  3. Facoltativamente lo stato del cliente (attivo, non attivo)

Attributi di risorse

  1. Piano di iscrizione al libro

Attributi di azione

  1. ID azione, ad es. visualizza, elimina, approva ...

Attributi contestuali

  1. Data / giorno del mese

Identifica la fonte degli attributi

In questa fase si definisce se gli attributi provengono da un database, da un LDAP, da un servizio Web ... Questo è più un problema di implementazione / distribuzione. In questo esercizio teorico, puoi saltare questo passaggio.

Rilancia le dichiarazioni linguistiche naturali come basate sugli attributi

  1. Un utente con il ruolo == cliente può eseguire l'azione == download su un oggetto di tipo == libro se customer.subscription == book.subscription
  2. Un utente con il ruolo == cliente può eseguire l'azione == download su un oggetto di tipo == book se book.subscription == ''
  3. Un utente con il ruolo == cliente può eseguire l'azione == download su un oggetto di tipo == book if date.day == '15'

In conclusione significa che il tuo modello RBAC ha bisogno di un singolo ruolo, cliente.

Puoi utilizzare la lingua ALFA per modellare le tue norme e convertirle in XACML, il controllo di accesso eXtensible Markup Language.

    
risposta data 22.01.2016 - 10:34
fonte

Leggi altre domande sui tag