informatique:reseau:ldap:authzproxy

Authz proxy

Il faut commencer par définir la politique du serveur en éditant l'objet cn=config et en ajoutant/modifiant l'attribut olcAuthzPolicy avec une des valeurs suivantes :

  1. to : possibilité d'autoriser l'authentification proxy via l'attribut authzTo sur “les utilisateurs de service” (ceux qui ont le droit de se connecté en tant que quelqu'un d'autre).
  2. from : possibilité d'autoriser l'authentification proxy via l'attribut authzFrom sur les utilisateurs autorisant la délégation (ceux en tant que qui on se connectera).
  3. any : possibilité d'autoriser l'authentification proxy via l'un ou l'autre des attributs précédents
  4. all : possibilité d'autoriser l'authentification proxy si les deux attributs précédents autorisent la déléguation

Pour plus d'informations, lancer la commande man slapd-config et chercher olcAuthzPolicy.

Il faudra ensuite protéger via une ACL les attributs authzTo et authzFrom, par exemple avec les ACLs suivantes (en première position) :

{0}to attrs=authzTo by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by self read
{1}to attrs=authzFrom by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * read
L'utilisateur se connectant en tant qu'un autre doit avoir la possibilité de lire les attributs authzTo et/ou authzFrom, d'où une règle autorisant la lecture pour tout le monde sur l'attribut authzFrom et l'utilisateur lui-même sur l'attribut authzTo.

Exemple de configuration pour un utilisateur de service pouvant se connecter en tant que n'importe quel utilisateur en se basant sur un modèle de DN :

  • ajouter la valeur suivante dans l'attribut authzTo de l'utilisateur de service :
    {0}dn.regex:^uid=[^,]*,ou=people,o=ls$

FIXME : plein d'autres possibilités à documenter.

  • informatique/reseau/ldap/authzproxy.txt
  • Dernière modification : 2021/08/26 18:45
  • de bn8