====== Authz proxy ======
FIXME: présentation
**Doc OpenLDAP :** https://www.openldap.org/doc/admin24/sasl.html#SASL%20Proxy%20Authorization
===== Activation =====
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 :
- ''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).
- ''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).
- ''any'' : possibilité d'autoriser l'authentification proxy via l'un ou l'autre des attributs précédents
- ''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''.
===== Configuration des autorisations =====
**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.