Implementa l'RBAC per la mia applicazione

3

Sto iniziando a lavorare su una nuova app Web per la quale richiedo l'implementazione del controllo degli accessi basato sui ruoli.

Ho identificato tre ruoli per la mia applicazione che saranno Ruolo 1, Ruolo 2 e Ruolo 3. Ogni utente si troverà in uno di questi gruppi o può essere anche in più gruppi.

Scendendo ulteriormente, ogni ruolo ha 2 funzionalità ad essi associate, ad esempio (D1, D2), (T1, T2) e (A1, A2) rispettivamente.

L'implementazione del controllo degli accessi fino a questo punto mi sembra abbastanza semplice.

Tuttavia, vi sono ulteriori drill-down per ciascun ruolo in base alle posizioni geografiche e ad un'altra categoria denominata Account (S1, S2 e S3). Ad esempio, un utente di ruolo 1 avrà accesso a D1 e D2 ma dovrebbe avere accesso solo ai dati del Nord America e agli account S1 e S2 ma non S3.

Questo è il posto dove sono in un vicolo cieco. Non sono in grado di inserire queste sottocategorie nelle autorizzazioni di controllo degli accessi perché le permutazioni sarebbero enormi.

Qualsiasi suggerimento per implementarlo sarebbe di grande aiuto.

    
posta Yash Kapila 06.06.2016 - 03:34
fonte

3 risposte

1

Posso suggerire le seguenti opzioni in base alle informazioni fornite:

  1. Definisci dominio dei dati (Nord America, Europa, ecc.) in base ai tuoi criteri e concedi ruoli solo all'interno di quel dominio. Ad esempio, concedere il ruolo 1 nel dominio dei dati A o nell'account S1. Abbastanza semplice, ma dipende dalla struttura dei dati.
  2. Aggiungi condizioni aggiuntive nello stile ABAC , ovvero concedi o neghi l'accesso a un ruolo specifico in caso alcune condizioni sono vere (ad esempio, se l'utente ha autorizzato Regioni = Regione risorsa corrente) Questo approccio aggiunge complessità alla soluzione e alla sua matrice di sicurezza, ma le politiche ABAC sono molto potenti e possono coprire vari casi.
risposta data 07.06.2016 - 14:36
fonte
0

Questo è un problema comune per i fornitori di soluzioni globali.

Gli account e le aree geografiche non sono ulteriori "drill-down" nel contesto delle autorizzazioni e dell'RBAC, ma rappresentano invece aree di governance più ampie all'interno delle quali entrano in vigore gli schemi RBAC.

Gli account e le aree geografiche sono più importanti di qualsiasi ruolo / capacità specifici in qualsiasi applicazione specifica. Gli account implicano spesso un rapporto di custodia, la cui violazione può sottoporre la società a cause legali o multe e regole di accesso in cui possono essere distintivi e differenziati in modo univoco da quelli di altri account.

Allo stesso modo, le regioni geografiche implicano diversi regimi legali, con regole speciali a cui si deve aderire che superino qualsiasi politica o approccio aziendale particolare.

Dato che le aziende di solito (anche se non sempre) coprono le regioni, il modello usuale è considerare i conti come il livello più alto. Qualsiasi account cliente specificato può avere più regioni in cui il cliente ha una presenza legale. In ciascuna di queste regioni, quindi, all'interno dell'account, può essere assegnato uno specifico schema RBAC agli utenti rilevanti per l'account.

In altre parole, un singolo utente dovrebbe avere ruoli univoci, esplicitamente enumerati per ogni regione in ciascun account. L'utente X può avere il ruolo 1 (con funzionalità D1 e A1) per l'account S1 nella regione Z, ma il ruolo 2 con funzionalità D2, T2 e A2 per l'account S1 nella regione Y e un insieme diverso per l'account S2 nelle regioni Z e Y .

    
risposta data 05.09.2016 - 21:52
fonte
0

Funzionalità di accesso: = ruoli Ruoli: = attributi Attributi: = proprietario dell'account, tipo di conto, regione, unità aziendale, *

OK, quindi dove è il problema quando si utilizzano corrispondenze esatte sul set di attributi? Cioè tutto nella regione C può utilizzare la funzionalità FA. Bene, dipende dal fatto che l'azienda stia bene con l'accesso non intenzionale ma legittimo e la responsabilità con il suo uso. Se si imposta l'accesso basato sul ruolo in cui non si elencano esplicitamente i titolari di account white, accertarsi di disporre di una traccia di accounting che registri tutti gli usi da parte dei titolari dell'account. Inoltre, se l'uso inappropriato ma legittimo provoca danni, evidenzia che il programma funziona secondo le specifiche e dispone di registri adeguati per determinare l'attribuzione dell'utente. Hanno anche una catena di chi consente l'accesso a cosa.

    
risposta data 06.09.2016 - 04:11
fonte

Leggi altre domande sui tag