Grouper Groups Management Toolkit

Vid Uppsala universitet används Grouper för avancerad grupphantering. Grouper untvecklas inom projekt i Internet2, SUNETs motsvarighet i USA, och är Open Source. Grouper har en egen hemsida och en egen Wiki hos Internet2.

Grouper är tätt kopplad till AKKA och innehåller organsatoriska grupper, t.ex. alla verksamma vid en institution, och funktionella grupper, t.ex. prefekter. Det är möjligt för andra applikationer vid universitetet att använda dessa grupper antingen via Grouper API, då gruppmedlemskap, attribut och andra avancerade gruppfunktioner är tillgängliga, eller via AKKAs fullständiga LDAP, då endast gruppmedlemskap är tillgängligt. Vidare är det möjligt för olika applikationer, t.ex. Medarbetarportalen, att lagra sina grupper i Grouper. Hanteringen av gruppmedlemskap hanteras då programatiskt från applikationen via Grouper API.

Vad innehåller en grupp

Viktig information som finns lagrad för en grupp är:

  • I vilken folder gruppen är lokaliserad
  • Kort gruppnamn för teknisk användning
  • Gruppnamn för visning
  • Global unik identifierare (GUID)
  • Beskrivning
  • Medlemmar inkl. eventuell tidsbegränsning per medlem

Det är möjligt att utöka lagrad information per grupp eller per gruppmedlemskap med utökning av s.k. attribut men dessa är systemövergripande. Dessa attribut blir tillgängliga för alla grupper alternativt alla gruppmedlemskap.

När en applikation frågar om vilka medlemmar som finns i en grupp finns det tre sätt att bestämma en begränsning för vad svaret ska innehålla:

  • Direkt medlemskap: Innehåller endast medlemmar, både användare och grupper, i den aktuella gruppen.
  • Indirekt medlemskap: Innehåller medlemmar, endast användare, i undergrupper och medlemmar, endast användare, från grupp i grupp, definitioner se nedan.
  • Direkt och indirekt medlemskap: Innehåller medlemmar, endast användare, i den aktuella gruppen men även medlemmar i undergrupper och medlemmar från grupp i grupp, definitioner se nedan.

Hierarkisk struktur

Strukturen i Grouper byggs upp som ett filsystem med rotnod som innehåller ett antal foldrar som i sin tur kan innehålla ett antal foldrar, grupper och användare som i sin tur kan innehålla… Gruppers hierarkiska namn byggs upp av kortnamn för foldrar och grupper i URI-form (folder1:folder2:grupp1:grupp2). Med avseende på detta är det mycket viktigt att bygga upp en bra, entydig och förståelig grupphierarki.

Undergrupper

Det är möjligt att hierarkiskt bestämma att en grupp är en undergrupp, eller delmängd, till en annan grupp och det är på detta sätt som roller i en grupp enklast kan hanteras. Med hjälp av kombinationen direkt och indirekt gruppmedlemskap innehåller modergruppen även medlemmarna i alla rollgrupper.

Grupper i grupper

Förutom möjligheten till hierarkiska undergrupper är det även möjligt att lägga till en grupp från var som helst i grupphierarkin i en grupp. T.ex. grupperna ekonomiadministratörer, personaladministratörer, katalogadministratörer osv. ingår i gruppen TA-personal. Med hjälp av kombinationen direkt och indirekt gruppmedlemskap innehåller gruppen TA-personal alla medlemmar från de andra grupperna.

Sammansatta grupper

Grouper kan förutom att hantera grupper med utpekade medlemmar, både individer och andra grupper, även hantera så kallade sammansatta grupper (eng. composite groups). En sammansatt grupp är en grupp där medlemskap hanteras per automatik utgående från medlemskap i två andra grupper, t.ex. gruppen alla prefekter vid Medicinska fakulteten byggs genom ett snitt av gruppen alla prefekter och gruppen alla anställda och övriga verksamma vid Medicinska fakulteten. Det går bygga mer avancerade sammansatta grupper genom att bygga en sammansatt grupp av sammansatta grupper.

Sammansatta grupper kan skapas med följande mängdoperationer:

  • Union mellan A och B: Ger en grupp som innehåller medlemmarna av både grupp A och grupp B, dvs. blått, grönt och gult område.
  • Snitt mellan A och B: Ger en grupp som innehåller de som är medlemmar i både grupp A och grupp B, dvs. grönt område.
  • Komplement av A relativt B: Ger en grupp som innehåller alla som är medlemmar i grupp A men inte i grupp B, dvs. blått område.

Rättighetsstyrd åtkomst till grupper

Grouper har ett inbyggt rättighetssystem för åtkomst till grupper. Rättigheterna ärvs hierarkiskt på samma sätt som i ett filsystem vilket gör att rättigheterna på en folder gäller för alla objekt i foldern om inte objektet har en egen uppsättning rättigheter. Det går att sätta upp rättigheter så att endast en enskild användare, eller grupp av användare, har rätt att genomföra en viss uppgift, t.ex. skapa grupper och underhålla gruppmedlemskap.