Amministrazione di diritti di accesso, gruppi e utenti

L'abilitazione dell'accesso a un archivio CRX prevede diversi argomenti:

Gli elementi di base sono i seguenti:

User AccountsCRX autentica l'accesso identificando e verificando un utente (da parte di tale persona o altra applicazione) in base ai dettagli contenuti nell'account utente.

In CRX ogni account utente è un nodo nell'area di lavoro. Un account utente CRX ha le seguenti proprietà:

  • Rappresenta un utente di CRX.

  • Contiene un nome utente e una password.

  • È applicabile per quell’area di lavoro.

  • Non può avere utenti secondari. Per i diritti di accesso gerarchici, utilizzare i gruppi.

  • Puoi specificare i diritti di accesso per l’account utente.

    Tuttavia, per semplificare la gestione, consigliamo (nella maggior parte dei casi) di assegnare diritti di accesso agli account di gruppo. L’assegnazione di diritti di accesso per ogni singolo utente diventa rapidamente molto difficile da gestire (le eccezioni sono determinati utenti di sistema quando esistono solo una o due istanze).

Gli account Group AccountsGroup sono raccolte di utenti e/o di altri gruppi. Questi vengono utilizzati per semplificare la gestione in quanto una modifica dei diritti di accesso assegnati a un gruppo viene applicata automaticamente a tutti gli utenti di quel gruppo. Un utente non deve appartenere ad alcun gruppo, ma spesso appartiene a diversi.

In CRX un gruppo ha le seguenti proprietà:

  • Rappresenta un gruppo di utenti con diritti di accesso comuni. Ad esempio, autori o sviluppatori.

  • È applicabile per quell’area di lavoro.

  • può avere membri; possono essere singoli utenti o altri gruppi.

  • Il raggruppamento gerarchico può essere ottenuto con le relazioni tra membri. Non puoi posizionare un gruppo direttamente sotto un altro gruppo nell’archivio.

  • È possibile definire i diritti di accesso per tutti i membri del gruppo.

Access RightsCRX utilizza i diritti di accesso per controllare l'accesso a specifiche aree dell'archivio.

Questo viene fatto assegnando privilegi per consentire o negare l’accesso a una risorsa (nodo o percorso) nell’archivio. Poiché è possibile assegnare vari privilegi, questi devono essere valutati per determinare quale combinazione è applicabile alla richiesta corrente.

CRX ti consente di configurare i diritti di accesso per gli account utente e per i gruppi. Gli stessi principi di valutazione di base sono poi applicati a entrambi.

Valutazione dei diritti di accesso

NOTA

CRX implementa il controllo degli accessi come definito da JSR-283.

Un’installazione standard di un archivio CRX è configurata per utilizzare elenchi di controllo degli accessi basati sulle risorse. Questa è una possibile implementazione del controllo degli accessi JSR-283 e una delle implementazioni presenti con Jackrabbit.

Argomenti e Principali

CRX utilizza due concetti chiave durante la valutazione dei diritti di accesso:

  • Un principal è un'entità che detiene diritti di accesso. I principali includono:

    • Un account utente.

    • Un account di gruppo

      Se un account utente appartiene a uno o più gruppi, lo raggruppa anche con ciascuno di questi gruppi principali.

  • Un oggetto viene utilizzato per rappresentare l'origine di una richiesta.

    Viene utilizzato per consolidare i diritti di accesso applicabili a tale richiesta. Questi sono tratti da:

    • Entità utente principale

      I diritti che assegni direttamente all’account utente.

    • Tutti i gruppi principali associati a tale utente

      Tutti i diritti assegnati a uno qualsiasi dei gruppi a cui appartiene l'utente.
      Il risultato viene quindi utilizzato per consentire o negare l’accesso alla risorsa richiesta.

Compilazione dell'elenco dei diritti di accesso per un soggetto

In CRX il soggetto dipende da:

  • entità utente
  • tutte le entità gruppo associate a tale utente

L'elenco dei diritti di accesso applicabili all'oggetto è costituito da:

  • i diritti che assegni direttamente all’account utente
  • più tutti i diritti assegnati a uno qualsiasi dei gruppi a cui appartiene l'utente

chlimage_1-307

NOTA
  • CRX non prende in considerazione alcuna gerarchia di utenti quando compila l’elenco.
  • CRX utilizza una gerarchia di gruppi solo quando includi un gruppo come membro di un altro gruppo. Non esiste un'ereditarietà automatica delle autorizzazioni di gruppo.
  • L’ordine in cui si specificano i gruppi non influisce sui diritti di accesso.

Risoluzione dei diritti di richiesta e di accesso

Quando CRX gestisce la richiesta confronta la richiesta di accesso dall'oggetto con l'elenco di controllo accessi sul nodo del repository:

Quindi, se Linda richiede di aggiornare il nodo /features nella seguente struttura di archivio:

chlimage_1-308

Ordine di precedenza

I diritti di accesso in CRX sono valutati come segue:

  • Le entità utente hanno sempre la precedenza sui gruppi principali indipendentemente da:

    • ordine nell'elenco dei controlli di accesso
    • la loro posizione nella gerarchia dei nodi
  • Per un dato entità principale esiste (al massimo) 1 negazione e 1 permette l'ingresso su un dato nodo. L'implementazione cancella sempre le voci ridondanti e si assicura che lo stesso privilegio non sia elencato sia nelle voci allow che deny.

NOTA

Questo processo di valutazione è appropriato per il controllo dell'accesso basato sulle risorse di un'installazione CRX standard.

Prendendo due esempi in cui l'utente aUser è membro del gruppo aGroup:

   + parentNode
     + acl
       + ace: aUser - deny - write
     + childNode
       + acl
         + ace: aGroup - allow - write
       + grandChildNode

Nel caso di cui sopra:

  • aUser non dispone dell'autorizzazione di scrittura su grandChildNode.
   + parentNode
     + acl
       + ace: aUser - deny - write
     + childNode
       + acl
         + ace: aGroup - allow - write
         + ace: aUser - deny - write
       + grandChildNode

In questo caso:

  • aUser non dispone dell'autorizzazione di scrittura su grandChildNode.

  • Il secondo ACE per aUser è ridondante.

I diritti di accesso da più entità di gruppo vengono valutati in base al loro ordine, sia all'interno della gerarchia che all'interno di un unico elenco di controllo di accesso.

Best practice

Nella tabella seguente sono elencati alcuni consigli e best practice:

Consiglio... Motivo...
Usa gruppi

Evita di assegnare diritti di accesso in base all’utente. Ci sono diversi motivi per questo:

  • Hai molti più utenti dei gruppi, quindi i gruppi semplificano la struttura.
  • I gruppi forniscono una panoramica su tutti gli account.
  • L'ereditarietà è più semplice con i gruppi.
  • Gli utenti vanno e vengono. I gruppi sono a lungo termine.
Sii Positivo

Utilizzare sempre le istruzioni Allow per specificare i diritti di accesso dell'entità gruppo (laddove possibile). Evitare di utilizzare un'istruzione Rifiuta.

I gruppi principali vengono valutati in ordine, sia all'interno della gerarchia che nell'ordine all'interno di un singolo elenco di controllo di accesso.

Mantieni semplice

Investire un po' di tempo e di pensiero durante la configurazione di una nuova installazione sarà ben pagato.

L'applicazione di una struttura chiara semplificherà la manutenzione e l'amministrazione in corso, garantendo che sia i colleghi attuali che i futuri successori possano comprendere facilmente ciò che viene implementato.

Prova Utilizza un’installazione di test per esercitarti e accertarti di comprendere le relazioni tra i vari utenti e gruppi.
Utenti/gruppi predefiniti Aggiorna sempre gli utenti e i gruppi predefiniti immediatamente dopo l'installazione per evitare problemi di sicurezza.

Amministrazione utente

Viene utilizzata una finestra di dialogo standard per Amministrazione utente.

Devi aver effettuato l’accesso all’area di lavoro appropriata, quindi puoi accedere alla finestra di dialogo da entrambi:

  • il collegamento Amministrazione utente sulla console principale di CRX
  • il menu Sicurezza di CRX Explorer

chlimage_1-309

Proprietà


  • UserIDShort name per l'account, utilizzato quando si accede a CRX.

  • Nome entitàNome completo
    per l'account.


  • PasswordNecessaria quando si accede a CRX con questo account.


  • ntlmhashAssegnato automaticamente per ogni nuovo account e aggiornato quando la password viene modificata.

  • È possibile aggiungere nuove proprietà definendo un nome, un tipo e un valore. Fai clic su Salva (simbolo di spunta verde) per ciascuna nuova proprietà.

Appartenenza al gruppoVengono visualizzati tutti i gruppi a cui appartiene l'account. La colonna Ereditato indica l'appartenenza ereditata a seguito dell'appartenenza di un altro gruppo.

Facendo clic su un GroupID (se disponibile) si aprirà Amministrazione dei gruppi per quel gruppo.

​ImpersonatoriLa funzionalità Impersona permette a un utente di lavorare a nome di un altro utente.

Ciò significa che un account utente può specificare altri account (utente o gruppo) che possono funzionare con il proprio account. In altre parole, se l'utente-B può rappresentare l'utente-A, l'utente-B può intraprendere azioni utilizzando i dettagli account completi dell'utente-A (inclusi ID, nome e diritti di accesso).

Ciò consente agli account dell’impersonatore di completare le attività come se utilizzassero l’account che stanno impersonando; ad esempio, durante un'assenza o per condividere un carico eccessivo a breve termine.

Se un account ne impersona un altro è molto difficile da vedere. I file di registro non contengono informazioni sul fatto che si è verificata una rappresentazione sugli eventi. Quindi, se l’utente-B rappresenta l’utente-A, tutti gli eventi avranno l’aspetto di come se fossero stati eseguiti personalmente dall’utente-A.

Creazione di un account utente

  1. Apri la finestra di dialogo Amministrazione utente .

  2. Fare clic su Crea utente.

  3. Puoi quindi immettere le Proprietà :

    • ​UserIDusato come nome dell'account.
    • ​Password necessaria per l'accesso.
    • Nome principale per fornire un nome di testo completo.
    • Percorsi intermedi che possono essere utilizzati per formare una struttura ad albero.
  4. Fare clic sul simbolo di spunta verde Salva.

  5. La finestra di dialogo viene espansa per consentire di:

    1. Configura Proprietà.
    2. Vedere Appartenenza al gruppo.
    3. Definire Impersonatori.
NOTA

A volte si può notare una perdita di prestazioni durante la registrazione di nuovi utenti in installazioni con un numero elevato di:

  • users
  • groups con molti membri

Aggiornamento di un account utente

  1. Con la finestra di dialogo Amministrazione utente apri la visualizzazione a elenco di tutti gli account.

  2. Spostarsi nella struttura ad albero.

  3. Fai clic sull’account necessario per aprire per la modifica.

  4. Apporta una modifica, quindi fai clic su Salva (simbolo di spunta verde) per quella voce.

  5. Fare clic su Chiudi per terminare o su Elenco… per tornare all'elenco di tutti gli account utente.

Rimozione di un account utente

  1. Con la finestra di dialogo Amministrazione utente apri la visualizzazione a elenco di tutti gli account.

  2. Spostarsi nella struttura ad albero.

  3. Seleziona l'account richiesto e fai clic su Rimuovi utente; l’account verrà eliminato immediatamente.

NOTA

Questo rimuove il nodo per l'entità dall'archivio.

Le voci dei diritti di accesso non vengono rimosse. Questo garantisce l'integrità storica.

Definizione delle proprietà

Puoi definire Proprietà per account nuovi o esistenti:

  1. Apri la finestra di dialogo Amministrazione utente per l'account appropriato.
  2. Definire un nome Proprietà.
  3. Seleziona il Tipo dall’elenco a discesa.
  4. Definire il Valore.
  5. Fai clic su Salva (simbolo di clic verde) per la nuova proprietà.

Le proprietà esistenti possono essere eliminate con il simbolo del cestino.

Ad eccezione della password, le proprietà non possono essere modificate, devono essere eliminate e ricreati.

Modifica della password

La Password è una proprietà speciale che può essere modificata facendo clic sul collegamento Cambia password.

Puoi anche cambiare la password nel tuo account utente dal menu Sicurezza in CRX Explorer.

Definizione di un impersonatore

Puoi definire gli utenti impersonatori per account nuovi o esistenti:

  1. Apri la finestra di dialogo Amministrazione utente per l'account appropriato.

  2. Specifica l'account da consentire per rappresentare tale account.

    Puoi utilizzare Sfoglia per selezionare un account esistente.

  3. Fai clic su Salva (simbolo di spunta verde) per la nuova proprietà.

Amministrazione dei gruppi

Viene utilizzata una finestra di dialogo standard per Amministrazione dei gruppi.

Devi aver effettuato l’accesso all’area di lavoro appropriata, quindi puoi accedere alla finestra di dialogo da entrambi:

  • il collegamento Amministrazione del gruppo sulla console principale di CRX
  • il menu Sicurezza di CRX Explorer

chlimage_1-47

Proprietà


  • Nome dell'account GroupIDShort per l'account del gruppo.

  • Nome principaleNome
    completo per l'account del gruppo.

  • È possibile aggiungere nuove proprietà definendo un nome, un tipo e un valore. Fai clic su Salva (simbolo di spunta verde) per ciascuna nuova proprietà.


  • MembriÈ possibile aggiungere utenti o altri gruppi come membri di questo gruppo.

Appartenenza al gruppoVisualizza tutti i gruppi a cui appartiene l'account del gruppo corrente. La colonna Ereditato indica l'appartenenza ereditata a seguito dell'appartenenza di un altro gruppo.

Facendo clic su un GroupID si aprirà la finestra di dialogo relativa a tale gruppo.

​MembriElenca tutti gli account (utenti e/o gruppi) che sono membri del gruppo corrente.

La colonna Ereditato indica l'appartenenza ereditata a seguito dell'appartenenza a un altro gruppo.

NOTA

Quando il ruolo Proprietario, Editor o Visualizzatore viene assegnato a un utente in una cartella di risorse, viene creato un nuovo gruppo. Il nome del gruppo è in formato mac-default-<foldername> per ogni cartella in cui sono definiti i ruoli.

Creazione di un account di gruppo

  1. Apri la finestra di dialogo Amministrazione dei gruppi .

  2. Fare clic su Crea gruppo.

  3. Puoi quindi immettere le Proprietà :

    • Nome principale per fornire un nome di testo completo.
    • Percorsi intermedi che possono essere utilizzati per formare una struttura ad albero.
  4. Fare clic sul simbolo di spunta verde Salva.

  5. La finestra di dialogo viene espansa per consentire di:

    1. Configura Proprietà.
    2. Vedere Appartenenza al gruppo.
    3. Gestisci Membri.

Aggiornamento di un account di gruppo

  1. Con la finestra di dialogo Amministrazione dei gruppi apri la visualizzazione a elenco di tutti gli account.

  2. Spostarsi nella struttura ad albero.

  3. Fai clic sull’account necessario per aprire per la modifica.

  4. Apporta una modifica, quindi fai clic su Salva (simbolo di spunta verde) per quella voce.

  5. Fare clic su Chiudi per terminare o su Elenco… per tornare all'elenco di tutti gli account del gruppo.

Rimozione di un account di gruppo

  1. Con la finestra di dialogo Amministrazione dei gruppi apri la visualizzazione a elenco di tutti gli account.

  2. Spostarsi nella struttura ad albero.

  3. Seleziona l'account richiesto e fai clic su Rimuovi gruppo; l’account verrà eliminato immediatamente.

NOTA

Questo rimuove il nodo per l'entità dall'archivio.

Le voci dei diritti di accesso non vengono rimosse. Questo garantisce l'integrità storica.

Definizione delle proprietà

Puoi definire le Proprietà per account nuovi o esistenti:

  1. Apri la finestra di dialogo Amministrazione dei gruppi per l'account appropriato.
  2. Definire un nome Proprietà.
  3. Seleziona il Tipo dall’elenco a discesa.
  4. Definire il Valore.
  5. Fai clic su Salva (simbolo di spunta verde) per la nuova proprietà.

Le proprietà esistenti possono essere eliminate con il simbolo del cestino.

Membri

È possibile aggiungere membri al gruppo corrente:

  1. Apri la finestra di dialogo Amministrazione dei gruppi per l'account appropriato.

  2. Effettua una delle seguenti operazioni:

    • Immettere il nome del membro richiesto (account utente o gruppo).
    • Oppure utilizza Sfoglia… per cercare e selezionare l'entità (account utente o gruppo) che si desidera aggiungere.
  3. Fai clic su Salva (simbolo di spunta verde) per la nuova proprietà.

Oppure eliminare un membro esistente con il simbolo del cestino.

Accesso alla gestione dei diritti

Con la scheda Controllo accessi di CRXDE Lite è possibile definire i criteri di controllo accessi e assegnare i relativi privilegi.

Ad esempio, per Percorso corrente selezionare la risorsa richiesta nel riquadro a sinistra, la scheda Controllo accesso nel riquadro in basso a destra:

crx_accesscontrol_tab

Le politiche sono classificate in base a:

  • Criteri applicabili per
    il controllo degli accessiQuesti criteri possono essere applicati.

    Si tratta di criteri disponibili per la creazione di un criterio locale. Una volta selezionato e aggiunto un criterio applicabile, diventa un criterio locale.

  • Criteri per il controllo degli accessi localiSi tratta
    di criteri per il controllo degli accessi applicati. È quindi possibile aggiornarli, ordinarli o rimuoverli.

    I criteri locali sostituiranno i criteri ereditati dall'elemento padre.

  • Regole di controllo degli accessi efficaci
    Queste sono le policy di controllo degli accessi che sono ora in vigore per qualsiasi richiesta di accesso. Essi mostrano i criteri aggregati derivati sia dai criteri locali sia da quelli ereditati dall'elemento padre.

Selezione criteri

I criteri possono essere selezionati per:

  • Percorso correnteCome nell’esempio precedente, seleziona una risorsa all’interno del repository.
    Verranno mostrate le politiche per questo "percorso attuale".


  • RepositorySeleziona il controllo di accesso a livello di archivio. Ad esempio, quando si imposta il
    jcr:namespaceManagement privilegio, che è rilevante solo per l'archivio, non un nodo.


  • PrincipaleEntità registrata nell'archivio.

    È possibile digitare il nome Principale oppure fare clic sull'icona a destra del campo per aprire la finestra di dialogo Seleziona entità.

    Questo consente di cercare un utente o Gruppo. Seleziona l'entità richiesta dall'elenco risultante, quindi fai clic su OK per riportare il valore alla finestra di dialogo precedente.

crx_accesscontrol_selectprincipal

NOTA

Per semplificare la gestione, ti consigliamo di assegnare diritti di accesso agli account di gruppo, non a singoli account utente.

È più facile gestire alcuni gruppi, piuttosto che molti account utente.

Privilegi

I seguenti privilegi sono disponibili per la selezione quando si aggiunge una voce di controllo accessi (per informazioni dettagliate, consulta API di sicurezza ):

Nome privilegio Che controlla il privilegio a...
jcr:read Recupera un nodo e leggi le relative proprietà e i relativi valori.
rep:write Si tratta di un privilegio aggregato specifico per jackrabbit di jcr:write e jcr:nodeTypeManagement.
jcr:all Si tratta di un privilegio aggregato che contiene tutti gli altri privilegi predefiniti.
Avanzate
crx:replicate Esegui la replica di un nodo.
jcr:addChildNodes Crea nodi figlio di un nodo.
jcr:lifecycleManagement Esegui operazioni del ciclo di vita su un nodo.
jcr:lockManagement Bloccare e sbloccare un nodo; aggiornare un blocco.
jcr:modifyAccessControl Modificare i criteri di controllo degli accessi di un nodo.
jcr:modifyProperties Crea, modifica e rimuovi le proprietà di un nodo.
jcr:namespaceManagement Registrare, annullare la registrazione e modificare le definizioni dei namespace.
jcr:nodeTypeDefinitionManagement Importa le definizioni dei tipi di nodo nel repository.
jcr:nodeTypeManagement Aggiungi e rimuovi i tipi di nodo mixin e cambia il tipo di nodo primario di un nodo. Questo include anche tutte le chiamate ai metodi di importazione Node.addNode e XML in cui il mixin o il tipo principale di nuovo nodo è esplicitamente specificato.
jcr:readAccessControl Leggi i criteri di controllo accessi di un nodo.
jcr:removeChildNodes Rimuovere i nodi secondari di un nodo.
jcr:removeNode Rimuovi un nodo.
jcr:retentionManagement Esegui operazioni di gestione della conservazione su un nodo.
jcr:versionManagement Eseguire operazioni di controllo delle versioni su un nodo.
jcr:workspaceManagement Creazione ed eliminazione di aree di lavoro tramite l’API JCR.
jcr:write Questo è un privilegio aggregato che contiene:
- jcr:modifyProperties
- jcr:addChildNodes
- jcr:removeNode
- jcr:removeChildNodes
rep:privilegeManagement Registra nuovo privilegio.

Registrazione di nuovi privilegi

È inoltre possibile registrare nuovi privilegi:

  1. Dalla barra degli strumenti selezionare Strumenti, quindi Privilegi per visualizzare i privilegi attualmente registrati.

    ac_Privilegi

  2. Utilizza l'icona Registra privilegio (+) per aprire la finestra di dialogo e definire un nuovo privilegio:

    ac_privilegeregister

  3. Fai clic su OK per salvare. Il privilegio sarà ora disponibile per la selezione.

Aggiunta di una voce di controllo di accesso

  1. Seleziona la risorsa e apri la scheda Controllo accessi .

  2. Per aggiungere un nuovo Criteri per il controllo degli accessi locali, fai clic sull'icona + a destra dell'elenco Criteri per il controllo degli accessi applicabili:

    crx_accesscontrol_applicabile

  3. Una nuova voce viene visualizzata in Criteri di controllo accessi locali:

    crx_accesscontrol_newlocal

  4. Fai clic sull'icona + per aggiungere una nuova voce:

    crx_accesscontrol_addentry

    NOTA

    Al momento è necessaria una soluzione alternativa per specificare una stringa vuota.

    A questo scopo è necessario utilizzare "".

  5. Definisci i criteri di controllo accessi e fai clic su OK per salvare. Il nuovo criterio:

    • essere elencati in Criteri di controllo accessi locali
    • le modifiche saranno riportate in Criteri di controllo accessi effettivi.

CRX convalida la tua selezione; per un dato entità principale esiste (al massimo) 1 negazione e 1 permette l'ingresso su un dato nodo. L'implementazione cancella sempre le voci ridondanti e si assicura che lo stesso privilegio non sia elencato sia nelle voci allow che deny.

Ordinamento dei criteri di controllo accessi locali

L'ordine nell'elenco indica l'ordine in cui vengono applicati i criteri.

  1. Nella tabella di Criteri di controllo accessi locali selezionare la voce richiesta e trascinarla nella nuova posizione nella tabella.

    crx_accesscontrol_reorder

  2. Le modifiche verranno visualizzate sia nelle tabelle relative a Locale che in quelle relative a Criteri di controllo accessi effettivi.

Rimozione di un criterio di controllo degli accessi

  1. Nella tabella di Criteri di controllo accessi locali fare clic sull'icona rossa (-) a destra della voce.

  2. La voce verrà rimossa sia dalle tabelle relative a Locale che da Criteri di controllo accessi effettivi.

Verifica di un criterio di controllo degli accessi

  1. Dalla barra degli strumenti di CRXDE Lite selezionare Strumenti, quindi Controllo accesso di prova….

  2. Viene visualizzata una nuova finestra di dialogo nel riquadro in alto a destra. Seleziona il Percorso e/o Principale da testare.

  3. Fai clic su Test per visualizzare i risultati della selezione:

    crx_accesscontrol_test

In questa pagina