proj-esup-grouper

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Chaque groupe est géré par son administrateur désigné.

 

Délégation à un administrateur désigné

Les règles adoptées

L'"administrateur délégué" peut :

...

  • lire les autres membres du groupe

 

Le modèle de délégation proposé

La DSI a souhaité garder le controle sur les délégation. 

...

Le code du script gsh est basé sur les règles d'héritage :

<code>

// DELEGATION : REGLES D'HERITAGE DES PRIVILEGES

grouperSession = GrouperSession.startRootSession();

//

// PARAMETRESi A RENSEIGNER:

// le dossier a deleguer

// chemin = "ecr:ress:imp"

// chemin = "ecr:ress:imp:910"

chemin = "ur1:app:stockage:nas"

id = "920"

nom = "IUT de Rennes"

dossier = chemin + ":" +id

 

description = "Dossier pour tester la delegation"

// le demandeur : une personne ou un groupe

// demandeur="hjacob"

demandeur="ur1:pers:ser:957:57in:57sys:tous"

// les administrateurs Grouper qui auront le droit d'administrer le groupe des administrateurs delegues

administrateursGrouper="ur1:ress:adm"

 

// DOSSIER A DELEGUER

dossierADeleguer = addStem(chemin, id, nom);

dossierADeleguer = StemFinder.findByName(grouperSession, dossier);

RuleApi.reassignStemPrivilegesIfFromGroup(SubjectFinder.findRootSubject(),dossierADeleguer, Stem.Scope.SUB);

RuleApi.reassignGroupPrivilegesIfFromGroup(SubjectFinder.findRootSubject(), dossierADeleguer, Stem.Scope.SUB);

// setStemAttr(dossierADeleguer.getName(),"description",description);

// GROUPES A CREER

// le groupe des administrateurs locaux

administrateurs = addGroup(dossierADeleguer.getName(),"adm","Administrateurs "+ nom);

administrateurs = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":adm");

// le groupe des gestionnaires locaux

gestionnaires = addGroup(dossierADeleguer.getName(),"ges","Gestionnaires "+ nom);

gestionnaires = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":ges");

//

// le groupes des lecteurs des membres des groupes delegues

lecteurs = addGroup(dossierADeleguer.getName(),"lec","Lecteurs "+ nom);

lecteurs = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":lec");

//

// GROUPES INSTITUTIONNELS

// les groupes institutionnels des personnels

dossierDesPersonnels = StemFinder.findByName(grouperSession, "ur1:pers");

// les groupes institutionnels des etudiants

dossierDesEtudiants = StemFinder.findByName(grouperSession, "ur1:etu");

//

// GROUPES NON-INSTITUTIONNELS

// les groupes applicatifs

dossierApplicatifs = StemFinder.findByName(grouperSession, "ur1:app");

// les groupes des ressources

dossierDesRessources = StemFinder.findByName(grouperSession, "ur1:ress");

// les autres groupes

dossierAutresGroupes = StemFinder.findByName(grouperSession, "ur1:div");

//

// Droits admin sur le groupe des administrateurs locaux , pour les administrateurs de Grouper

grantPriv(administrateurs.getName(), administrateursGrouper, AccessPrivilege.ADMIN);

// DELEGATION AUX ADMINISTRATEURS LOCAUX

// droit de créion de sous-dossiers et de groupes dans le dossier delegue

grantPriv(dossierADeleguer.getName(), administrateurs.getName(), NamingPrivilege.STEM);

grantPriv(dossierADeleguer.getName(), administrateurs.getName(), NamingPrivilege.CREATE);

addMember(administrateurs.getName(),demandeur);

RuleApi.inheritFolderPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("stem, create"));

// droit d'administraion des groupes du dossier delegue

grantPriv(gestionnaires.getName(), administrateurs.getName(), AccessPrivilege.ADMIN);

grantPriv(lecteurs.getName(), administrateurs.getName(), AccessPrivilege.ADMIN);

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("admin"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("update"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

// visibilitées sur les groupes institutionnels et non-institutionnels

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

//

// DELEGATION AUX GESTIONNAIRES LOCAUX

// droits de mise àour/consultation des membres des groupes du dossier delegue

grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.UPDATE);

grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.READ);

grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.VIEW);

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("update"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("view"));

// droit de créion de groupes dans le dossier:  RuleApi.inheritFolderPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("create"));

// visibilitées sur les groupes institutionnels et non-institutionnels

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view"));

//

// DELEGATION AUX LECTEURS LOCAUX

// droit de consultation du contenu des groupes du dossier delegue

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, lecteurs.toSubject(), Privilege.getInstances("read"));

RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, lecteurs.toSubject(), Privilege.getInstances("view"));

</code>

Synchronisation Grouper - Services d'annuaires

...