Casa Finanza personale Controllo degli accessi basato sugli attributi (ABAC) in NoSQL - manichini

Controllo degli accessi basato sugli attributi (ABAC) in NoSQL - manichini

Video: Biblical Series I: Introduction to the Idea of God 2025

Video: Biblical Series I: Introduction to the Idea of God 2025
Anonim

Un modello utile per la sicurezza consiste nell'applicare le autorizzazioni in base ai dati all'interno di un record anziché assegnare separatamente le autorizzazioni al record. Questo potrebbe essere basato su valori di metadati, colonne individuali (cloni Bigtable) o elementi (database Aggregato NoSQL).

Un buon esempio è il nome di un cliente che viene citato all'interno di un documento. Potresti voler limitare l'accesso a tutti i documenti che menzionano il cliente per le sole persone che hanno accesso alle informazioni di questo cliente. È possibile limitare l'accesso a questi documenti elaborando i dati all'interno del documento e applicando le relative autorizzazioni di sicurezza in base al valore di tali dati.

Nessun database NoSQL fornisce questa funzionalità immediatamente. Questo perché le autorizzazioni devono essere assegnate al record dopo che i dati sono stati salvati dall'applicazione, ma prima che siano disponibili per il recupero da altre applicazioni o utenti. Pertanto, questa autorizzazione deve essere eseguita entro il limite della transazione.

Inoltre, pochissimi database NoSQL supportano transazioni compatibili con ACID (MarkLogic, FoundationDB e Neo4j, ad esempio). Se un database non supporta l'assegnazione immediata delle autorizzazioni in base ai dati contenuti in un documento, ma supporta le transazioni ACID e i trigger pre-commit, è possibile una soluzione semplice.

Generalmente è facile scrivere un trigger che controlli la presenza di un valore all'interno di un record e modificare le autorizzazioni in base al suo valore. Finché un database lo supporta durante il processo di commit e non dopo il commit, allora sai che i tuoi dati sono resi sicuri usando un semplice trigger pre-commit.

Ad esempio, MarkLogic Server supporta transazioni ACID serializzabili e trigger pre-commit. Di seguito è riportato un semplice documento XML che desidero supportare per il controllo degli accessi basato sugli attributi:

jbloggs ACME Lorem Ipsum Dolar Sit Amet …

I trigger di MarkLogic Server utilizzano il linguaggio XQuery W3C. Il seguente esempio XQuery è un semplice trigger che, se installato in MarkLogic, assegna le autorizzazioni di lettura e scrittura:

versione xquery "1. 0-ml"; import module namespace trgr = ' // marklogic. com / xdmp / trigger 'at' / MarkLogic / trigger. xqy '; dichiarare la variabile $ trgr: uri come xs: stringa esterna; dichiarare la variabile $ trgr: trigger as node () external; if ("ACME" = fn: doc ($ trgr: uri) / MeetingReport / Customer) quindi xdmp: document-set-permissions ($ trgr-uri, (xdmp: permission ("seniorsales", "update"), xdmp: permesso ("vendite", "leggi"))) else ()

Una volta che il trigger è installato nel file setperms.xqy in un database di moduli server MarkLogic, eseguire il seguente codice nell'applicazione di codifica Web per MarkLogic - Console di query per abilitare il trigger. Su un'installazione MarkLogic Server predefinita, è possibile trovare la Console di interrogazione all'URL: // localhost: 8000 / qconsole.

Questo è il codice che mostra come installare il trigger utilizzando Query Console:

versione xquery "1. 0-ml"; import module namespace trgr = " // marklogic. com / xdmp / trigger" in "/ MarkLogic / trigger. xqy '; trgr: create-trigger ("setperms", "Imposta permessi dei documenti di vendita", trgr: trigger-data-event (trgr: collection-scope ("meetingreports"), trgr: document-content ("modify"), trgr: pre -commit ()), trgr: trigger-module (xdmp: database ("Modules"), "/ trigger /", "setperms. xqy"), fn: true (), xdmp: default-permissions (), fn: false ())
Controllo degli accessi basato sugli attributi (ABAC) in NoSQL - manichini

Scelta dell'editore

Visio 2007 For Dummies Cheat Sheet - dummies

Visio 2007 For Dummies Cheat Sheet - dummies

Utilizzando i tasti di scelta rapida in Microsoft Visio 2007 per lavorare con le forme, eseguire azioni comuni i comandi e le finestre di dialogo aperte, insieme alle barre degli strumenti di Visio, ti aiuteranno a creare diagrammi efficaci in modo rapido e semplice.

Che combina documenti in WordPerfect 12 - dummies

Che combina documenti in WordPerfect 12 - dummies

Ogni documento di WordPerfect vive nel proprio piccolo file accogliente sul disco rigido. Ma a volte vuoi abbattere i muri tra i tuoi documenti e metterli insieme, organizzare una piccola festa o qualsiasi altra cosa. Supponiamo che uno dei tuoi documenti contenga una descrizione standard del prodotto che vendi - future sul cioccolato. Quindi ...

Correzione degli errori con WordPerfect Office 2002 - dummies

Correzione degli errori con WordPerfect Office 2002 - dummies

La funzione QuickCorrect di wordPerfect, attivata per impostazione predefinita, fornisce correzione degli errori as-you-type. Digitare una parola in modo errato e WordPerfect lo corregge non appena si colpisce la barra spaziatrice. Ad esempio, se si digita teh, WordPerfect presuppone che l'utente intendesse veramente scrivere il testo, quindi il programma cambia automaticamente in. Non ti infastidisce nemmeno ...

Scelta dell'editore

Flash CS5 Pubblica impostazioni per file HTML - dummies

Flash CS5 Pubblica impostazioni per file HTML - dummies

Per presentare filmati Adobe Flash Creative Suite 5 sul Web, dovrai pubblicare un file HTML che contenga il tuo file SWF Flash. Questo file HTML non solo visualizza il filmato ma include anche tutto il codice necessario per controllare le dimensioni, l'aspetto e le opzioni di runtime (come ad esempio la ripetizione del filmato). Il file HTML ...

Come aggiungere il codice di stop con il pannello operativo in Adobe Flash CS6 - dummies

Come aggiungere il codice di stop con il pannello operativo in Adobe Flash CS6 - dummies

Scoprirai che la codifica tramite la finestra dell'Editor di codice del pannello Azioni in Adobe Flash CS6 offre una notevole flessibilità per alcune attività come l'aggiunta di un'azione di arresto nel video Flash. L'istruzione stop () fa esattamente quello che sembra: blocca la timeline su qualunque frame su cui è posizionata. Un uso comune di ...

Flash CS5 Pubblica impostazioni per file SWF - dummies

Flash CS5 Pubblica impostazioni per file SWF - dummies

Adobe Flash Creative Suite 5 I file SWF sono filmati compressi utilizzati da il Flash Player per la visualizzazione sul Web o direttamente sul computer dell'utente. Quando si sceglie di pubblicare un file SWF, è possibile specificare le impostazioni che determinano la versione, la sicurezza e la qualità. Le impostazioni SWF sono disponibili nella scheda Flash ...

Scelta dell'editore

Crea volantini e annunci con Photoshop Elements 10 - manichini

Crea volantini e annunci con Photoshop Elements 10 - manichini

Se vendi cuccioli o pubblichi uno spazio aperto casa, aggiungere una foto a un annuncio o un volantino aiuta davvero a riportare a casa il messaggio. Con Photoshop Elements 10, è facile massimizzare le opportunità di vendita. Ecco i passaggi abbreviati per creare rapidamente un annuncio o un volantino: Nella modalità Modifica foto completa, scegli Archivio → Nuovo → File vuoto. ...

Crea il tipo di paragrafo in Photoshop Elements 10 - dummies

Crea il tipo di paragrafo in Photoshop Elements 10 - dummies

Se hai pezzi di testo più grandi, di solito è più pratico per inserire il testo in Photoshop Elements 10 come tipo di paragrafo. L'inserimento del tipo di paragrafo è simile all'inserimento di testo in un programma di elaborazione testi o di impaginazione, tranne per il fatto che il testo è contenuto all'interno di un rettangolo di selezione. Quando si digita e si arriva alla fine di ...

Crea una presentazione da Photoshop Elements 10 - dummies

Crea una presentazione da Photoshop Elements 10 - dummies

Crei un file di progetto nell'Editor di diapositive in Photoshop Elements 10 e quindi esportarlo per un numero di usi diversi. Un progetto Photoshop Elements ha un vantaggio rispetto a un documento PDF in relazione alla revisione del contenuto. È possibile semplicemente aprire il progetto, apportare revisioni e produrre la presentazione - ...