Posso usare il servizio di gestione utenti di stormpath con una libreria XACML come BALANA?

4

Sto cercando di implementare alcuni controlli di accesso di sicurezza in un software che sto costruendo. Mi sono imbattuto in Stormpath per la gestione degli utenti e hanno in qualche modo un approccio per RBAC, ma quello che stavo considerando è fare affidamento su XACML per ABAC e in particolare < a href="http://xacmlinfo.org/2012/08/16/balana-the-open-source-xacml-3-0-implementation/"> BALANA da WSO2 nel senso che posso impostare gli attributi per gli utenti e archiviano i profili in stormpath mentre mi affido a XACML per i criteri.

Sono un po 'nuovo in questo quindi mi chiedevo solo se questo sia consigliabile o se ci fosse un altro approccio sarebbe utile nel mio caso per riutilizzare le cose per sicurezza invece di costruire le cose da zero.

    
posta user53158 03.08.2014 - 15:05
fonte

2 risposte

1

Una delle cose che la gente fa spesso con Stormpath è l'assegnazione di politiche di autorizzazione (come XACML o semplici "permessi" o dati proprietari, qualunque) a Account o Gruppi memorizzandoli in CustomData .

Le risorse primarie in Stormpath ( Account , Group , Directory , Application , Tenant ) consentono di archiviare dati di schemi in-hoc nella customData della risorsa per qualsiasi cosa tu abbia bisogno, come campi personalizzati o, naturalmente, informazioni sulla politica di autorizzazione.

Ad esempio, con Account s, sarebbe facile prima autenticare il Account e, in seguito a un'autenticazione corretta, ottenere customData dell'account e ottenere la sua politica di autorizzazione (ad es. XACML) e poi controllarlo comunque tu desiderio.

Questo diventa più potente quando fai la stessa cosa con Group di risorse.

Ad esempio, uno schema comune per trovare la politica efficace (aggregata) di un account consiste nell'aggregare tutte le politiche su tutto Group s di cui Account è membro. In questo schema, l'account è autorizzato a fare tutto ciò che è rappresentato nel suo customData diretto o in uno qualsiasi dei suoi gruppi ' customData .

Non so quale linguaggio di programmazione usi, ma, come esempio di come questo potrebbe essere ottenuto, gli utenti di Stormpath che usano Apache Shiro fai questa tecnica esatta con le autorizzazioni di Shiro, il concetto di politica di autorizzazione basato su stringhe incorporato di Shiro.

Indipendentemente dal linguaggio di programmazione o dal formato della politica di autorizzazione (ad esempio XACML anziché le stringhe di autorizzazione), è possibile sfruttare le risorse di Stormpath ei loro dati personalizzati per schemi di autorizzazione simili o personalizzati. Spero che questo aiuti!

    
risposta data 15.10.2014 - 00:22
fonte
1

Dipende dalla tua architettura. In linea di principio è possibile utilizzare XACML con qualsiasi strumento di gestione utente o gestione autenticazione. Le domande principali sono:

  • dove inserisci il tuo PEP?
  • In che modo prenderà l'identità dell'utente?
  • Come passerà al PDP?
  • Il PDP deve chiamare un PIP sottostante? Dovrà chiamare Stormpath per recuperare gli attributi utente?

Per ulteriori informazioni sull'architettura e la lingua XACML, puoi consultare il blog degli sviluppatori di Axiomatics:

risposta data 03.08.2014 - 20:53
fonte

Leggi altre domande sui tag