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

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

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 uppgifterna 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 lösenord.

  • Gäller 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 vi dock att du (i de flesta fall) tilldelar åtkomsträttigheter till gruppkonton. Att tilldela åtkomsträttigheter för varje enskild användare blir snabbt mycket 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 den arbetsytan.

  • Den 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 som tilldelats 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 är motivet beroende av:

  • 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-307

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-308

Prioritetsordning order-of-precedence

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

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

    • deras ordning i åtkomstkontrollistan
    • sin position i nodhierarkin
  • För ett givet huvudobjekt finns (högst) 1 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 passar 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 åtkomsträttigheter 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 man konfigurerar en ny installation kommer att återbetalas väl.

Att använda en tydlig struktur förenklar 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 håller på att 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-309

Egenskaper

  • Användar-ID
    Kortnamn för kontot som 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 vidta åtgärder 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. t.ex. under frånvaro eller för att på kort sikt dela en för hög belastning.

Om ett konto personifierar ett annat är det väldigt 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 ser alla händelser ut som om de 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 utökas så att du kan:

    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 öppnas listvyn för alla konton.

  2. Navigera genom trädstrukturen.

  3. Klicka på det konto du vill öppna 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 öppnas listvyn för alla konton.

  2. Navigera genom trädstrukturen.

  3. Välj önskat konto och klicka på Ta bort användare; kontot tas bort 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 papperskorgssymbolen.

Med undantag för 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-47

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.

Om 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 utökas så att du kan:

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

Uppdatera ett gruppkonto updating-a-group-account

  1. Med Gruppadministration öppnas listvyn för alla konton.

  2. Navigera genom trädstrukturen.

  3. Klicka på det konto du vill öppna 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 öppnas listvyn för alla konton.

  2. Navigera genom trädstrukturen.

  3. Välj önskat konto och klicka på Ta bort grupp; kontot tas bort 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 papperskorgssymbolen.

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 papperskorgssymbolen.

Behörighetshantering access-right-management

Med Åtkomstkontroll -fliken i CRXDE Lite kan du definiera åtkomstkontrollprinciper och tilldela relaterade behörigheter.

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.

    Dessa profiler är tillgängliga för att skapa en lokal profil. När du har valt och lagt till en tillämplig princip blir den en lokal princip.

  • 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.

    På så sätt kan du 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 vi 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 helkanin-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åsa och låsa 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.
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 (+) för att öppna dialogrutan och definiera ett nytt 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å + om du vill lägga till en ny 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.
    Därför måste du använda "".
  5. Definiera din åtkomstkontrollprincip och klicka OK att spara. Din nya policy kommer att:

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

CRX validerar ditt val; för ett givet huvudkonto finns (högst) 1 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.

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 markera den önskade posten och dra 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 klicka 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. I verktygsfältet CRXDE Lite väljer du 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
5ce3024a-cbea-458b-8b2f-f9b8dda516e8