UserGroupPerm

From PlanetForge

Jump to: navigation, search

Contents

Panorama de toutes les notions permettant de gérer identités et permissions dans une forge

Approche fonctionnelle

Partons de la définition d'une forge (idéale?) ou de ce que propose en général une forge et essayons de voir ou les identités et permissions interviennent.

  • La forge est un ensemble d'outils dans lequel on fédère un ensemble de données communes tels que
    • Les identités
    • Les groupes (rôles, ugroup)
    • Les permissions
    • La continuité de session entre les outils
  • Chaque projet est géré de façon autonome par ses administrateurs (nécessité de la fonction voir en tant que, possibilité de donner des droits)
  • Partage d'un look entre outils avec préférence utilisateur
  • La forge propose un suivi d'activité
    • Traçabilité des actions (qui fait quoi, qui accède à quoi)
    • Statistiques (qui utilise quoi)
    • Recherche (nécessitant éventuellement une visibilité en fonction des droits)
  • La forge fournit un ensemble de services transverses pouvant dépendre de l'identifiant de l'utilisateur
    • Accueil
    • Synthèse Utilisateur (Ma Page)
    • Carte logicielle
    • Fragments de code
    • Demande d'aide
    • Admin globale
    • Statistiques globales
    • Gestion des compétences
    • Recherche
    • Messagerie
  • La forge contient différents type de projets
    • Projets public
    • Projets privé
    • Projets non restreints.
  • La forge contient différents type d'utilisateurs spécialisées
    • Utilisateurs admin global
    • Utilisateurs admin projet
    • Utilisateurs restreints
  • La forge aime bien les fonctions de Fédération d'identité et/ou unification d'identité
    • Single Sign On
    • Annuaire d'entreprise
  • La taille de la forge est un facteur déterminant de sa façon de gérer les utilisateurs
    • Forges à très gros volume
      • Clustering, Akamisation, Distribution, technique par dns
      • Web seulement ?
    • Forges à volume "raisonable"
      • Forge d'intranet
      • SSO non limité au "Web"

La forge cherche avant tout à simplifier la vie des utilisateurs, mais on s'aperçoit que la gestion des droits reste assez hétérogène et finit parfois par déconcerter les utilisateurs.

  • omniprésence du fait qu'une forge est destinée à un utilisateur
  • omniprésence de la notion de groupe

Approche Théorique / Standardisation

Approche technique

De la gestion de User/Group/Permission à tous les étages

  • NSS (pgsql, mysql, ldap, nis, db)
  • PAM (pgsql, mysql, kerberos)
  • Apache mod-auth (pqsql, mysql, ldap, kerberos, sasl, external) auth(Type), authn(Provider), authz(Authorization)
  • session-based, cookie-based, apache-based
  • Annuaires / Fournisseur d'identité ?
    • openldap (et ses backend)
    • active directory
    • ...
  • SASL


Voir UserRole

"Sortir les permissions du code" -> Important pour l'import export

Une forge n'est pas forcement que du Web (ssh, ftp, ...)

Objectif(s) de cette session

  • faire l'inventaires des solutions existantes
    • pas vraiment d'unicité de traitement
  • définir une modélisation
    • les annuaires ont le mérite de proposer une solution souvent utilisée
    • explorer les solutions de fourniture d'identité
    • une sécurité basée sur des acl
    • contrôle et tracé d'accès sont liés
  • identifier les solutions pour l'implémenter
    • utiliser un annuaire ou le modèle de l'annuaire ?
    • séparer les permissions ?
    • gérer les acl dans un annuaire ?


Par où commencer ?

  • Distinguer 2 types de logiciels dans les forges
    • Les logiciels développés
      • Admin, Trackers, Forums
      • Facilité d'évolution de modification
    • Les logiciels intégrés
      • Wiki (phpwiki, mediawiki), Calendar, Trackers (Mantis, Bugzilla)
      • Quelle stratégie d'intégration adopter
        • Répéter les patchs
        • Soumettre les patchs
      • Normalisation au niveau des distributions
        • Debian -> policy
        • Redhat -> ?
      • Normalisation des données
        • S'appuyer sur les schémas LDAP
        • S'appuyer sur les ontologies
      • Normalisation des formats d'échange
      • Normalisation des URLs
Personal tools