dataset/seed/ldap-client/dictionaries/21_ldap-client.xml
2023-02-14 14:24:16 +01:00

80 lines
4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<rougail version="0.10">
<services>
<service name="ldap-client" target="risotto" engine="cheetah">
<certificate authority="LDAP" owner="ldap_key_file_owner" owner_type="variable" server="ldap_server_address">ldap_client</certificate>
<file source="ldap.conf" file_type="variable">ldap_client_file</file>
</service>
</services>
<variables>
<family name="annuaire" description="Annuaire OpenLDAP">
<family name="server" description="Serveur">
<variable name='ldap_server_address' type='domainname' description="Nom DNS du serveur LDAP" mandatory='True' supplier="LDAP"/>
<variable name='ldap_port' type='port' description='Port du serveur LDAP' hidden="True">
<value>636</value>
</variable>
</family>
<family name="client" description="Client">
<variable name='ldapclient_family' type='unix_user' description="Nom de la famille LDAP" supplier="LDAP:family"/>
<variable name='ldapclient_user' type='string' description="DN de l'utilisateur LDAP" mandatory='False' hidden="True" supplier="LDAP:dn"/>
<variable name='ldapclient_user_password' type='password' description="Mot de passe de l'utilisateur LDAP" mandatory='True' hidden="True" supplier="LDAP:password"/>
<variable name='ldapclient_base_dn' type='string' description="Base DN de l'annuaire" mandatory="True" supplier="LDAP:base_dn"/>
<variable name='ldapclient_search_dn' type='string' description="Base DN de l'annuaire des utilisateurs" mandatory="True"/>
<variable name='ldapclient_group_dn' type='string' description="Base DN de l'annuaire des groupes" mandatory="True"/>
<variable name='ldapclient_user_dn' type='string' description="Base DN de l'annuaire des utilisateurs n'appartenant à une famille" mandatory="True"/>
<variable name="ldap_key_file_owner" type="unix_user" description="Propriétaire du fichier de la clef privée LDAP" hidden="True">
<value>root</value>
</variable>
<variable name="ldap_client_file" type="filename" description="Nom du fichier du client LDAP" hidden="True"/>
</family>
</family>
</variables>
<constraints>
<check name='valid_base_dn'>
<target>ldapclient_base_dn</target>
</check>
<fill name='get_default_base_dn'>
<param type="variable">ldap_server_address</param>
<target>ldapclient_base_dn</target>
</fill>
<fill name='calc_value'>
<param>ou=accounts</param>
<param type="variable">ldapclient_base_dn</param>
<param name="join">,</param>
<target>ldapclient_search_dn</target>
</fill>
<fill name='calc_value'>
<param>cn=</param>
<param type='variable'>domain_name_eth0</param>
<param>,</param>
<param type='variable'>ldapclient_base_dn</param>
<param name="join"></param>
<target>ldapclient_user</target>
</fill>
<fill name="get_password">
<param name="server_name" type="variable">ldap_server_address</param>
<param name="username" type="variable">ldapclient_user</param>
<param name="description">remote account</param>
<param name="type">cleartext</param>
<param name="hide" type="variable">hide_secret</param>
<param name="temporary" type="boolean">True</param>
<target>ldapclient_user_password</target>
</fill>
<fill name="calc_ldapclient_base_dn">
<param type="variable">ldapclient_base_dn</param>
<param name="group" type="boolean">True</param>
<target>ldapclient_group_dn</target>
</fill>
<fill name="calc_ldapclient_base_dn">
<param type="variable">ldapclient_base_dn</param>
<target>ldapclient_user_dn</target>
</fill>
<fill name="calc_value">
<param>/etc/ldap/ldap.conf</param>
<param name="condition" type="variable">os_name</param>
<param name="expected">Debian</param>
<param name="default">/etc/openldap/ldap.conf</param>
<target>ldap_client_file</target>
</fill>
</constraints>
</rougail>