2022-03-08 19:42:28 +01:00
<?xml version="1.0" encoding="utf-8"?>
<rougail version= "0.10" >
<services >
2023-06-23 08:12:05 +02:00
<service name= "ldap-client" target= "risotto" engine= "ansible" >
2023-02-14 14:24:16 +01:00
<certificate authority= "LDAP" owner= "ldap_key_file_owner" owner_type= "variable" server= "ldap_server_address" > ldap_client</certificate>
2023-06-23 08:12:05 +02:00
<file engine= "ansible" source= "ldap.conf" file_type= "variable" > ldap_client_file</file>
2022-03-08 19:42:28 +01:00
</service>
</services>
<variables >
2023-06-23 08:12:05 +02:00
<family name= "ldap" description= "Annuaire OpenLDAP" >
2022-06-24 19:00:16 +02:00
<family name= "server" description= "Serveur" >
2022-08-18 10:19:43 +02:00
<variable name= 'ldap_server_address' type= 'domainname' description= "Nom DNS du serveur LDAP" mandatory= 'True' supplier= "LDAP" />
2023-06-23 08:12:05 +02:00
<variable name= "ldap_server_ip" type= "ip" hidden= "True" />
2022-06-24 19:00:16 +02:00
<variable name= 'ldap_port' type= 'port' description= 'Port du serveur LDAP' hidden= "True" >
<value > 636</value>
</variable>
2023-06-23 08:12:05 +02:00
<variable name= 'prefix_domain_name' hidden= "True" mandatory= "True" provider= "global:prefix_domain_name" />
2022-06-24 19:00:16 +02:00
</family>
<family name= "client" description= "Client" >
2022-08-18 10:19:43 +02:00
<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" />
2023-06-23 08:12:05 +02:00
<variable name= 'ldapclient_address' hidden= "True" />
2022-08-18 10:19:43 +02:00
<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" />
2022-06-24 19:00:16 +02:00
<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>
2023-06-23 08:12:05 +02:00
<variable name= "ldap_client_file" type= "filename" description= "Nom du fichier du client LDAP" hidden= "True" />
2022-06-24 19:00:16 +02:00
</family>
2022-03-08 19:42:28 +01:00
</family>
</variables>
<constraints >
<check name= 'valid_base_dn' >
2022-05-04 10:29:03 +02:00
<target > ldapclient_base_dn</target>
2022-06-24 19:00:16 +02:00
</check>
2023-06-23 08:12:05 +02:00
<fill name= "get_ip" >
<param type= "information" > zones</param>
2022-08-18 10:19:43 +02:00
<param type= "variable" > ldap_server_address</param>
2023-06-23 08:12:05 +02:00
<target > ldap_server_ip</target>
</fill>
<fill name= 'get_default_base_dn' >
<param type= "variable" > prefix_domain_name</param>
2022-08-18 10:19:43 +02:00
<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>
2023-06-23 08:12:05 +02:00
<param type= 'variable' > ldapclient_address</param>
2022-08-18 10:19:43 +02:00
<param > ,</param>
<param type= 'variable' > ldapclient_base_dn</param>
<param name= "join" > </param>
<target > ldapclient_user</target>
2022-06-25 08:11:37 +02:00
</fill>
2023-06-23 08:12:05 +02:00
<fill name= "get_client_address" >
<param type= 'variable' > ldap_server_ip</param>
<param type= 'variable' > domain_name_eth</param>
<param type= 'variable' > network_eth</param>
<target > ldapclient_address</target>
</fill>
2022-06-24 19:00:16 +02:00
<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>
2022-03-08 19:42:28 +01:00
</fill>
2022-08-18 10:19:43 +02:00
<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>
2022-06-24 19:00:16 +02:00
</fill>
2022-12-25 20:23:58 +01:00
<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>
2022-03-08 19:42:28 +01:00
</constraints>
</rougail>