Autorizzazione basata sui reclami rispetto al controllo di accesso basato sugli attributi

9

C'è una differenza tra Controllo dell'accesso basato sugli attributi che è solitamente associato a XACML e Autorizzazione basata sulla rivendicazione che sembra essere un termine coniato da Microsoft?

Il secondo è semplicemente il nome / implementazione di Microsoft per ABAC? O sono i due concetti completamente diversi?

Mi sono imbattuto in entrambi i termini durante le mie ricerche e sembrano cose simili se non identiche a me, ma forse mi manca qualcosa? Le affermazioni e gli attributi sono solo nomi diversi per la stessa idea?

Attributi:

Attribute-based access control defines a new access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. (Wikipedia)

Reclami:

Claims-based authorization is an approach where the authorization decision to grant or deny access is based on arbitrary logic that uses data available in claims to make the decision. (MSDN)

    
posta magnattic 28.04.2014 - 21:32
fonte

2 risposte

6

ABAC e CBAC sono praticamente la stessa cosa. Microsoft non chiama gli attributi delle cose, ma si riferisce ad esse come affermazioni perché gli attributi tendono ad essere associati con SAML mentre le attestazioni sono per lo più indipendenti dal protocollo.

XACML è un modello / implementazione che espone ABAC, mentre non esiste alcun modello o implementazione CBAC concreta, non da Microsoft comunque. Ciò è dovuto principalmente al fatto che i modelli di autorizzazione generici sono un rompicapo e sono eccessivamente complicati, e il senso della guida è che ogni applicazione ha permessi diversi, quindi dovresti capirlo da solo.

    
risposta data 29.04.2014 - 03:00
fonte
3

CBAC (controllo dell'accesso basato sulle attestazioni) e ABAC (controllo dell'accesso basato sull'attributo) sono essenzialmente gli stessi per cui un reclamo è un "attributo" affermato. Ad esempio, prendi un attributo da Active Directory e trasformalo in reclamo.

Tuttavia, ci sono alcuni problemi con CBAC:

  • prima di tutto, è un termine specifico di Microsoft, non un modello per sé come ABAC o RBAC.
  • in secondo luogo, la stessa Microsoft usa CBAC per significare cose diverse. CBAC in .NET, CBAC in Windows Server 2012 (Windows Server 8) e CBAC in Sharepoint per nominarne solo alcuni
  • CBAC non definisce l'autorizzazione stessa, ma solo il modo in cui ottieni attestazioni o attributi. Lascia l'intera scatola di "come si fa a dare senso alle affermazioni" fino all'implementazione, motivo per cui CBAC non significa necessariamente la stessa cosa in SharePoint come in un'applicazione .NET.
    • In SharePoint, l'accesso è concesso se un utente ha almeno un reclamo per la risorsa
    • in Windows Server, esiste un linguaggio dei criteri denominato SDDL che definisce cosa è consentito in base alle attestazioni (affermazioni sull'utente provenienti da AD e rivendicazioni sul file proveniente dalla classificazione del file)
    • in un'app .NET, spetta allo sviluppatore decidere cosa fanno con il reclamo.

ABAC sull'altro è un modello che implementa XACML, l'eXtensible Access Control Markup Language. ABAC e XACML definiscono come utilizzare gli attributi per definire l'autorizzazione. Le autorizzazioni sono definite utilizzando le politiche basate sugli attributi. Le politiche usano gli attributi per definire cosa è permesso e cosa è negato.

In XACML, è sempre chiaro cosa può essere permesso o negato. Le politiche sono definite e mantenute centralmente. XACML definisce anche un'architettura standard (che, tra l'altro, non è stata inventata da XACML) con la nozione di punto di decisione della politica e punto di applicazione della politica.

Ti consiglierei di leggere su ABAC e XACML qui:

Saluti, David.

    
risposta data 29.04.2014 - 13:05
fonte

Leggi altre domande sui tag