Behörighetsadministration för användare, grupper och åtkomst user-group-and-access-rights-administration

Att ge åtkomst till en CRX-databas omfattar flera ämnen:

De grundläggande elementen är:

Användarkonton - CRX autentiserar åtkomsten genom att identifiera och verifiera en användare (av en person eller ett annat program) enligt de uppgifter som finns på användarkontot.

I CRX är varje användarkonto en nod på arbetsytan. Ett CRX-användarkonto har följande egenskaper:

  • Den representerar en användare av CRX.

  • Den innehåller ett användarnamn och ett lösenord.

  • Gäller för den arbetsytan.

  • Den kan inte ha underanvändare. För hierarkiska åtkomsträttigheter bör du använda grupper.

  • Du kan ange åtkomsträttigheter för användarkontot.

    För att förenkla hanteringen rekommenderar Adobe att du (i de flesta fall) tilldelar åtkomsträttigheter till gruppkonton. Att tilldela åtkomsträttigheter för varje enskild användare blir snabbt svårt att hantera (undantagen är vissa systemanvändare när det bara finns en eller två instanser).

Gruppkonton - Gruppkonton är samlingar av användare och/eller andra grupper. De används för att förenkla hanteringen eftersom en ändring av de åtkomsträttigheter som tilldelats en grupp automatiskt tillämpas på alla användare i gruppen. En användare behöver inte tillhöra någon grupp, men tillhör ofta flera.

I CRX har en grupp följande egenskaper:

  • Den representerar en grupp användare med gemensamma åtkomsträttigheter. Till exempel författare eller utvecklare.
  • Gäller för den arbetsytan.
  • Det kan ha medlemmar. Dessa kan vara enskilda användare eller andra grupper.
  • Hierarkisk gruppering kan uppnås med medlemsrelationer. Du kan inte placera en grupp direkt under en annan grupp i databasen.
  • Du kan definiera åtkomsträttigheter för alla gruppmedlemmar.

Åtkomsträttigheter - CRX använder åtkomsträttigheter för att styra åtkomsten till specifika delar av databasen.

Detta görs genom att tilldela behörigheter för att antingen tillåta eller neka åtkomst till en resurs (nod eller sökväg) i databasen. Eftersom olika behörigheter kan tilldelas, måste de utvärderas för att avgöra vilken kombination som är tillämplig för den aktuella begäran.

Med CRX kan du konfigurera åtkomsträttigheter för både användar- och gruppkonton. Samma grundläggande utvärderingsprinciper tillämpas sedan på båda.

Hur åtkomsträttigheter utvärderas how-access-rights-are-evaluated

NOTE
CRX-implementeringar åtkomstkontroll enligt definition i JSR-283.
En standardinstallation av en CRX-databas är konfigurerad att använda resursbaserade åtkomstkontrollistor. Detta är en möjlig implementering av åtkomstkontrollen JSR-283 och en av implementeringarna i Jackrabbit.

Ämnen och huvudkonton subjects-and-principals

CRX använder två viktiga begrepp vid utvärdering av åtkomsträttigheter:

  • A huvudnamn är en enhet som har nyttjanderätt. Huvudposter är:

    • Ett användarkonto

    • Ett gruppkonto

      Om ett användarkonto tillhör en eller flera grupper är det även associerat med vart och ett av dessa gruppobjekt.

  • A ämne används för att representera källan för en begäran.

    Den används för att konsolidera de åtkomsträttigheter som är tillämpliga för den begäran. Dessa hämtas från:

    • Användarens huvudnamn

      De rättigheter som du tilldelar direkt till användarkontot.

    • Alla gruppobjekt som är associerade med den användaren

      Alla rättigheter tilldelas till någon av grupperna som användaren tillhör.

    Resultatet används sedan för att tillåta eller neka åtkomst till den begärda resursen.

Kompilera listan över åtkomsträttigheter för ett ämne compiling-the-list-of-access-rights-for-a-subject

I CRX beror motivet på:

  • användarens huvudnamn
  • alla gruppobjekt som är associerade med den användaren

Den förteckning över åtkomsträttigheter som är tillämpliga för föremålet är uppbyggd på följande:

  • de rättigheter som du tilldelar direkt till användarkontot
  • plus alla rättigheter som tilldelats någon av grupperna som användaren tillhör

chlimage_1-56

NOTE
  • CRX tar ingen hänsyn till användarhierarkin när listan kompileras.
  • CRX använder bara en grupphierarki när du tar med en grupp som medlem i en annan grupp. Det finns inget automatiskt arv av gruppbehörigheter.
  • Den ordning som du anger grupperna i påverkar inte åtkomsträttigheterna.

Löser begäran och åtkomsträttigheter resolving-request-and-access-rights

När CRX hanterar begäran jämför den åtkomstbegäran från ämnet med åtkomstkontrollistan på databasnoden:

Så om Linda begär att få uppdatera /features nod i följande databasstruktur:

chlimage_1-57

Prioritetsordning order-of-precedence

Åtkomsträttigheterna i CRX utvärderas enligt följande:

  • Användarprinciper har alltid företräde framför grupprincipobjekt oavsett:

    • i åtkomstkontrollistan
    • sin position i nodhierarkin
  • För ett givet huvudobjekt finns (som mest) ett neka och 1 tillåt post på en viss nod. Implementeringen rensar alltid bort redundanta poster och ser till att samma privilegium inte finns med i både Tillåt- och Neka-posterna.

NOTE
Den här utvärderingsprocessen är lämplig för den resursbaserade åtkomstkontrollen i en standard-CRX-installation.

Ta två exempel där användaren aUser är medlem i gruppen aGroup:

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

I ovanstående fall:

  • aUser saknar skrivbehörighet för grandChildNode.
   + parentNode
     + acl
       + ace: aUser - deny - write
     + childNode
       + acl
         + ace: aGroup - allow - write
         + ace: aUser - deny - write
       + grandChildNode

I detta fall:

  • aUser saknar skrivbehörighet för grandChildNode.
  • Den andra ACE för aUser är överflödigt.

Åtkomsträttigheter från flera gruppobjekt utvärderas baserat på deras ordning, både i hierarkin och i en enda åtkomstkontrollista.

Bästa praxis best-practices

I följande tabell visas några rekommendationer och metodtips:

Rekommendation...
Orsak...
Använd grupper

Undvik att tilldela behörigheter per användare. Det finns flera orsaker till detta:

  • Du har många fler användare än grupper, så grupper förenklar strukturen.
  • Grupper ger en översikt över alla konton.
  • Arv är enklare med grupper.
  • Användarna kommer och går. Grupper är långsiktiga.
Var positiv

Använd alltid Allow-satser för att ange åtkomsträttigheter för grupprincipobjektet (när det är möjligt). Undvik att använda programsatsen Neka.

Gruppobjekt utvärderas i ordning, både i hierarkin och i ordning i en enda åtkomstkontrollista.

Behåll det enkelt

Att investera lite tid och fundera när du konfigurerar en ny installation är väl återbetalt.

Genom att använda en tydlig struktur förenklas det pågående underhållet och administrationen, vilket säkerställer att både dina nuvarande kollegor och/eller framtida efterföljare enkelt kan förstå vad som implementeras.

Testa
Använd en testinstallation för att öva och se till att du förstår relationen mellan olika användare och grupper.
Standardanvändare/grupper
Uppdatera alltid standardanvändare och standardgrupper omedelbart efter installationen för att förebygga säkerhetsproblem.

Användaradministration user-administration

En standarddialogruta används för Användaradministration.

Du måste vara inloggad på rätt arbetsyta och sedan kan du öppna dialogrutan från båda:

  • den Användaradministration på huvudkonsolen för CRX
  • den Säkerhet menyn i CRX Explorer

chlimage_1-58

Egenskaper

  • Användar-ID

    Kortnamn för kontot används vid åtkomst till CRX.

  • Huvudnamn

    Ett fullständigt textnamn för kontot.

  • Lösenord

    Behövs vid åtkomst till CRX med det här kontot.

  • ntlmhash

    Tilldelad automatiskt för varje nytt konto och uppdateras när lösenordet ändras.

  • Du kan lägga till nya egenskaper genom att definiera namn, typ och värde. Klicka på Spara (grön bocksymbol) för varje ny egenskap.

Gruppmedlemskap

Detta visar alla grupper som kontot tillhör. Den ärvda kolumnen anger medlemskap som har ärvts som ett resultat av medlemskap i en annan grupp.

Om du klickar på ett GroupID (om tillgängligt) öppnas Gruppadministration för den gruppen.

Personifierare

Med personifieringsfunktionen kan en användare arbeta för en annan användares räkning.

Det innebär att ett användarkonto kan ange andra konton (användare eller grupp) som kan användas med deras konto. Med andra ord, om användare-B tillåts personifiera användare-A kan användare-B agera med hjälp av den fullständiga kontoinformationen för användare-A (inklusive ID, namn och åtkomsträttigheter).

Detta gör att persondatorkonton kan slutföra uppgifter som om de använde det konto de personifierar, till exempel under en frånvaro, eller dela en överbelastad belastning på kort sikt.

Om ett konto personifierar ett annat är det svårt att se. Loggfilerna innehåller ingen information om att personifiering har skett för händelserna. Så om användare-B personifierar användare-A kan alla händelser se ut som om de har utförts av användare-A personligen.

Skapa ett användarkonto creating-a-user-account

  1. Öppna Användaradministration -dialogrutan.

  2. Klicka Skapa användare.

  3. Sedan kan du ange Egenskaper:

    • Användar-ID används som kontonamn.
    • Lösenord behövs vid inloggning.
    • Huvudnamn om du vill ange ett fullständigt textnamn.
    • Mellanliggande sökväg som kan användas för att skapa en trädstruktur.
  4. Klicka på Spara (grön bocksymbol).

  5. Dialogrutan är utökad så att du kan göra följande:

    1. Konfigurera Egenskaper.
    2. Se Gruppmedlemskap.
    3. Definiera Personifierare.
NOTE
Prestandaförluster kan ibland ses när nya användare registreras i installationer som har ett stort antal av följande:
  • användare
  • grupper med många medlemmar

Uppdatera ett användarkonto updating-a-user-account

  1. Med Användaradministration öppnar du listvyn för alla konton.
  2. Navigera genom trädstrukturen.
  3. Klicka på önskat konto så att du kan öppna det för redigering.
  4. Gör en ändring och klicka sedan på Spara (grön bocksymbol) för den posten.
  5. Klicka Stäng för att slutföra, eller Lista… för att återgå till listan över alla användarkonton.

Ta bort ett användarkonto removing-a-user-account

  1. Med Användaradministration öppnar du listvyn för alla konton.
  2. Navigera genom trädstrukturen.
  3. Välj önskat konto och klicka på Ta bort användare; kontot raderas omedelbart.
NOTE
Detta tar bort noden för det här huvudkontot från databasen.
Åtkomsthögerposter tas inte bort. Detta garanterar den historiska integriteten.

Definiera egenskaper defining-properties

Du kan definiera Egenskaper för nya eller befintliga konton:

  1. Öppna Användaradministration för rätt konto.
  2. Definiera en Egenskap namn.
  3. Välj Typ i listrutan.
  4. Definiera Värde.
  5. Klicka på Spara (grön klicksymbol) för den nya egenskapen.

Befintliga egenskaper kan tas bort med papperskorgen.

Förutom lösenordet går det inte att redigera egenskaper, de måste tas bort och återskapas.

Ändra lösenordet changing-the-password

The Lösenord är en specialegenskap som du kan ändra genom att klicka på Ändra lösenord länk.

Du kan också ändra lösenordet till ditt eget användarkonto från Säkerhet i CRX Explorer.

Definiera en personifierare defining-an-impersonator

Du kan definiera personifierare för antingen nya eller befintliga konton:

  1. Öppna Användaradministration för rätt konto.

  2. Ange vilket konto som ska få personifiera det kontot.

    Du kan använda Bläddra… för att välja ett befintligt konto.

  3. Klicka på Spara (grön bocksymbol) för den nya egenskapen.

Gruppadministration group-administration

En standarddialogruta används för Gruppadministration.

Du måste vara inloggad på rätt arbetsyta och sedan kan du öppna dialogrutan från båda:

  • den Gruppadministration på huvudkonsolen för CRX
  • den Säkerhet menyn i CRX Explorer

chlimage_1-8

Egenskaper

  • GruppID

    Kortnamn för gruppkontot.

  • Huvudnamn

    Ett fullständigt textnamn för gruppkontot.

  • Du kan lägga till nya egenskaper genom att definiera namn, typ och värde. Klicka på Spara (grön bocksymbol) för varje ny egenskap.

  • Medlemmar

    Du kan lägga till användare eller andra grupper som medlemmar i den här gruppen.

Gruppmedlemskap

Detta visar alla grupper som det aktuella gruppkontot tillhör. Den ärvda kolumnen anger medlemskap som har ärvts som ett resultat av medlemskap i en annan grupp.

När du klickar på ett GroupID öppnas dialogrutan för den gruppen.

Medlemmar

Visar alla konton (användare och/eller grupper) som är medlemmar i den aktuella gruppen.

The Ärvd kolumn anger medlemskap som har ärvts som ett resultat av medlemskap i en annan grupp.

NOTE
När rollen Ägare, Redigerare eller Visningsprogram tilldelas till en användare i en resursmapp skapas en ny grupp. Gruppnamnet har formatet mac-default-<foldername> för varje mapp som rollerna är definierade för.

Skapa ett gruppkonto creating-a-group-account

  1. Öppna Gruppadministration -dialogrutan.

  2. Klicka Skapa grupp.

  3. Sedan kan du ange Egenskaper:

    • Huvudnamn om du vill ange ett fullständigt textnamn.
    • Mellanliggande sökväg som kan användas för att skapa en trädstruktur.
  4. Klicka på Spara (grön bocksymbol).

  5. Dialogrutan är utökad så att du kan:

    1. Konfigurera Egenskaper.
    2. Se Gruppmedlemskap.
    3. Hantera Medlemmar.

Uppdatera ett gruppkonto updating-a-group-account

  1. Med Gruppadministration öppnar du listvyn för alla konton.
  2. Navigera genom trädstrukturen.
  3. Klicka på önskat konto så att du kan öppna det för redigering.
  4. Gör en ändring och klicka sedan på Spara (grön bocksymbol) för den posten.
  5. Klicka Stäng för att slutföra, eller Lista… för att återgå till listan över alla gruppkonton.

Ta bort ett gruppkonto removing-a-group-account

  1. Med Gruppadministration öppnar du listvyn för alla konton.
  2. Navigera genom trädstrukturen.
  3. Välj önskat konto och klicka på Ta bort grupp; kontot raderas omedelbart.
NOTE
Detta tar bort noden för det här huvudkontot från databasen.
Åtkomsthögerposter tas inte bort. Detta garanterar den historiska integriteten.

Definiera egenskaper defining-properties-1

Du kan definiera egenskaper för nya eller befintliga konton:

  1. Öppna Gruppadministration för rätt konto.
  2. Definiera en Egenskap namn.
  3. Välj Typ i listrutan.
  4. Definiera Värde.
  5. Klicka på Spara (grön bocksymbol) för den nya egenskapen.

Befintliga egenskaper kan tas bort med papperskorgen.

Medlemmar members

Du kan lägga till medlemmar i den aktuella gruppen:

  1. Öppna Gruppadministration för rätt konto.

  2. Antingen:

    • Ange namnet på den obligatoriska medlemmen (användar- eller gruppkonto).
    • Eller använd Bläddra… om du vill söka efter och välja det huvudkonto (användar- eller gruppkonto) som du vill lägga till.
  3. Klicka på Spara (grön bocksymbol) för den nya egenskapen.

Eller ta bort en befintlig medlem med papperskorgen.

Behörighetshantering access-right-management

Med Åtkomstkontroll på fliken CRXDE Lite kan du definiera åtkomstkontrollprinciper och tilldela de relaterade behörigheterna.

Till exempel Aktuell bana Välj önskad resurs i den vänstra rutan på fliken Åtkomstkontroll i den nedre högra rutan:

crx_accescontrol_tab

Policyerna kategoriseras enligt:

  • Tillämpliga åtkomstkontrollprinciper

    Dessa profiler kan tillämpas.

    Det här är profiler som är tillgängliga för att skapa en lokal profil. När du väljer och lägger till en tillämplig profil blir den en lokal profil.

  • Principer för lokal åtkomstkontroll

    Detta är åtkomstkontrollprinciper som du har tillämpat. Du kan sedan uppdatera, beställa eller ta bort dem.

    En lokal princip åsidosätter alla principer som ärvs från den överordnade principen.

  • Effektiva åtkomstkontrollprinciper

    Detta är de åtkomstkontrollprinciper som nu gäller för alla åtkomstbegäranden. De visar de aggregerade policyer som härletts från både lokala policyer och eventuella ärvda från det överordnade.

Välj profil policy-selection

Du kan välja profiler för:

  • Aktuell bana

    Som i exemplet ovan väljer du en resurs i databasen. Profiler för den här "aktuella sökvägen" visas.

  • Databas

    Väljer åtkomstkontroll på databasnivå. När du till exempel anger jcr:namespaceManagement privilegium, som bara är relevant för databasen, inte en nod.

  • kapitalbelopp

    Ett huvudkonto som är registrerat i databasen.

    Du kan antingen skriva i kapitalbelopp eller klicka på ikonen till höger om fältet för att öppna Välj huvudkonto -dialogrutan.

    Detta gör att du kan Sök för Användare eller Grupp. Välj önskat huvudkonto i listan och klicka sedan på OK för att överföra värdet tillbaka till föregående dialogruta.

crx_access_control_selectpal

NOTE
För att förenkla hanteringen rekommenderar Adobe att du tilldelar åtkomsträttigheter till gruppkonton, inte enskilda användarkonton.
Det är enklare att hantera ett fåtal grupper än många användarkonton.

Behörighet privileges

Följande behörigheter är tillgängliga när du lägger till en åtkomstkontrollpost (se Säkerhets-API för fullständig information):

Namn på privilegium
Vilken styr privilegiet att...
jcr:read
Hämta en nod och läs dess egenskaper och värden.
rep:write
Detta är ett Jackrabbit-specifikt aggregeringsprivilegium för jcr:write och jcr:nodeTypeManagement.
jcr:all
Det här är ett aggregerat privilegium som innehåller alla andra fördefinierade privilegier.
Avancerat
crx:replicate
Utför replikering av en nod.
jcr:addChildNodes
Skapa underordnade noder för en nod.
jcr:lifecycleManagement
Utför livscykelåtgärder på en nod.
jcr:lockManagement
Lås och lås upp en nod. Uppdatera ett lås.
jcr:modifyAccessControl
Ändra en nods åtkomstkontrollprinciper.
jcr:modifyProperties
Skapa, ändra och ta bort egenskaperna för en nod.
jcr:namespaceManagement
Registrera, avregistrera och ändra namnutrymmesdefinitioner.
jcr:nodeTypeDefinitionManagement
Importera nodtypsdefinitioner till databasen.
jcr:nodeTypeManagement
Lägg till och ta bort blandade nodtyper och ändra den primära nodtypen för en nod. Detta inkluderar även alla anrop till importmetoderna Node.addNode och XML där den nya nodens mixin eller primära typ uttryckligen anges.
jcr:readAccessControl
Läs en nods åtkomstkontrollprincip.
jcr:removeChildNodes
Ta bort underordnade noder för en nod.
jcr:removeNode
Ta bort en nod.
jcr:retentionManagement
Utför kvarhållningsåtgärder på en nod.
jcr:versionManagement
Utför versionsåtgärder på en nod.
jcr:workspaceManagement
Skapa och ta bort arbetsytor med JCR-API:t.
jcr:write
Detta är ett sammanställningsprivilegium som innehåller:
- jcr:modifyProperties
- jcr:addChildNodes
- jcr:removeNode
- jcr:removeChildNodes
rep:privilegeManagement
Registrera ett nytt privilegium.

Registrerar nya behörigheter registering-new-privileges

Du kan även registrera nya behörigheter:

  1. Välj verktyg sedan Behörighet för att visa de behörigheter som för närvarande är registrerade.

    ac_privilegier

  2. Använd Registreringsprivilegium ikon (+) så att du kan definiera ett privilegium:

    ac_privilegieregister

  3. Klicka OK att spara. Privilegiet är nu tillgängligt för val.

Lägga till en åtkomstkontrollpost adding-an-access-control-entry

  1. Välj resursen och öppna Åtkomstkontroll -fliken.

  2. Lägga till en ny Principer för lokal åtkomstkontroll klickar du på + ikonen till höger om Tillämplig åtkomstkontrollprincip lista:

    crx_accescontrol_applicable

  3. En ny post visas under Principer för lokal åtkomstkontroll:

    crx_accescontrol_newlocal

  4. Klicka på + så att du kan lägga till en post:

    crx_accescontrol_addentry

    note note
    NOTE
    För närvarande krävs en tillfällig lösning för att ange en tom sträng.
    För detta måste du använda "".
  5. Definiera din åtkomstkontrollprincip och klicka OK att spara. Din nya policy är:

    • listas under Princip för lokal åtkomstkontroll
    • ändringarna återspeglas i Effektiva åtkomstkontrollprinciper.

CRX validerar ditt val. För ett givet huvudobjekt finns (som mest) en neka och en tillåt-post på en viss nod. Implementeringen rensar alltid bort redundanta poster och ser till att samma privilegium inte finns med i både Tillåt- och Neka-posterna.

Principer för lokal åtkomstkontroll vid beställning ordering-local-access-control-policies

Ordningen i listan anger i vilken ordning profilerna tillämpas.

  1. I tabellen Principer för lokal åtkomstkontroll markerar du den önskade posten och drar den till den nya positionen i tabellen.

    crx_accescontrol_reorder

  2. Ändringarna visas i båda tabellerna för Lokal och Effektiva åtkomstkontrollprinciper.

Ta bort en åtkomstkontrollprincip removing-an-access-control-policy

  1. I tabellen Principer för lokal åtkomstkontroll klickar du på den röda ikonen (-) till höger om inmatningen.
  2. Posten tas bort från båda tabellerna för Lokal och Effektiva åtkomstkontrollprinciper.

Testa en åtkomstkontrollprincip testing-an-access-control-policy

  1. Välj i verktygsfältet CRXDE Lite verktyg sedan Testa åtkomstkontroll….

  2. En ny dialogruta öppnas i den övre högra rutan. Välj Bana och/eller kapitalbelopp som du vill testa.

  3. Klicka Testa för att se resultaten av markeringen:

    crx_accescontrol_test

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2