Général:FAQ ExternalAD : Différence entre versions

De WikiFr_dbSQWare
Aller à : navigation, rechercher
m (Identification du contrôleur de domaine)
m (Identification du contrôleur de domaine)
 
(30 révisions intermédiaires par le même utilisateur non affichées)
Ligne 43 : Ligne 43 :
 
Sur la machine dbsqware avec le compte dbsqware modifier le fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php pour modifier si besoin les variables $lvsqw_ldaphost, $lvsqw_ldapport et  $lvsqw_ldapbind.<br>
 
Sur la machine dbsqware avec le compte dbsqware modifier le fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php pour modifier si besoin les variables $lvsqw_ldaphost, $lvsqw_ldapport et  $lvsqw_ldapbind.<br>
 
<br>
 
<br>
<p span style="border: 1px solid silver; padding: 10px; background-color: #E8E8E8;">
+
On met à jour le fichier dans le nom de <span style="color: blue;">serveur contrôleur de domaine, le port</span> sur lequel il écoute, et enfin le <span style="color: blue;">nom de domaine précédé d'un "@"</span>.<br>
 +
<br>
 +
<p style="border: 1px solid silver; padding: 10px; background-color: #E8E8E8;">
 
<span style="color: green">#From dbsqware@vmsqwarebox</span><br>
 
<span style="color: green">#From dbsqware@vmsqwarebox</span><br>
 
<br>
 
<br>
Ligne 49 : Ligne 51 :
 
...<br>
 
...<br>
 
function gfsqw_connection_external_ad($lasqw_parameters)<br>
 
function gfsqw_connection_external_ad($lasqw_parameters)<br>
{<br>
+
{
         $lvsqw_error = false;<br>
+
<br><span style="margin-left: 40px;">
         $lvsqw_errorMSG = "";<br>
+
         $lvsqw_error = false;
         $lvsqw_userName = $lasqw_parameters[0];<br>
+
<br><span style="margin-left: 40px;">
         $lvsqw_password = $lasqw_parameters[1];<br></span>
+
         $lvsqw_errorMSG = "";
<br>
+
<br><span style="margin-left: 40px;">
         // Server connection<br>
+
         $lvsqw_userName = $lasqw_parameters[0];
<br>
+
<br><span style="margin-left: 40px;">
         // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\<br>
+
         $lvsqw_password = $lasqw_parameters[1];
         //          Variables : $lvsqw_ldaphost<br>
+
<br><br><span style="margin-left: 40px;">
         //                              $lvsqw_ldapport<br>
+
         // Server connection
         //      To be adapted according to the company    /  Fr: A adapter selon l'entreprise<br>
+
<br><br><span style="margin-left: 40px;">
         // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\<br>
+
         // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\
<br>
+
<br><span style="margin-left: 40px;">
         $lvsqw_ldaphost = <span style="color: blue;">"srvaddsw01.domain.tld"</span>;          // /!\ EXAMPLE /!\<br>
+
         //          Variables : $lvsqw_ldaphost
         $lvsqw_ldapport = <span style="color: blue;">389</span>;                  // /!\ EXAMPLE /!\<br>
+
<br><span style="margin-left: 40px;">
<br>
+
         //                              $lvsqw_ldapport
<br>
+
<br><span style="margin-left: 40px;">
         $lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);<br>
+
         //      To be adapted according to the company    /  Fr: A adapter selon l'entreprise
         ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);<br>
+
<br><span style="margin-left: 40px;">
         ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);<br>
+
         // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\
<br>
+
<br><span style="margin-left: 40px;">
         if($lvsqw_ldapconnect){<br>
+
<br><span style="margin-left: 40px;">
<br>
+
         $lvsqw_ldaphost = <span style="color: blue;">"srvadds.domain.tld"</span>;          // /!\ EXAMPLE /!\
                 // Authentication<br>
+
<br><span style="margin-left: 40px;">
<br>
+
         $lvsqw_ldapport = <span style="color: blue;">389</span>;                  // /!\ EXAMPLE /!\
                 // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\<br>
+
<br><span style="margin-left: 40px;">
                 //          Example with '@dbsqware.ad'              /  Fr: Exemple avec '@dbsqware.ad'<br>
+
         $lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);
                 //      To be adapted according to the company    /  Fr: A adapter selon l'entreprise<br>
+
<br><span style="margin-left: 40px;">
                 // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\<br>
+
         ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
 +
<br><span style="margin-left: 40px;">
 +
         ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);
 +
<br><br><span style="margin-left: 40px;">
 +
         if($lvsqw_ldapconnect){
 +
<br><br><span style="margin-left: 80px;">
 +
                 // Authentication
 +
<br><span style="margin-left: 80px;">
 +
                 // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\
 +
<br><span style="margin-left: 80px;">
 +
                 //          Example with '@dbsqware.ad'              /  Fr: Exemple avec '@dbsqware.ad'
 +
<br><span style="margin-left: 80px;">
 +
                 //      To be adapted according to the company    /  Fr: A adapter selon l'entreprise
 +
<br><span style="margin-left: 80px;">
 +
                 // /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\      /!\
 +
<br><span style="margin-left: 80px;">
 +
                $lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.<span style="color: blue;">'@domain.tld'</span>, $lvsqw_password);      // /!\ EXAMPLE /!\
 +
<br><span style="margin-left: 80px;">
 +
...<br>
 +
</p>
 
<br>
 
<br>
                $lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.<span style="color: blue;">'@domain.tld'</span>, $lvsqw_password);      // /!\ EXAMPLE /!\<br>
+
{{Warning | Ne modifier que les informations en bleu si nécessaire.}}
<br>
 
...<br>
 
</p></span>
 
 
 
{{Warning | Ne modifier que les informations en bleu}}
 
 
 
 
<br>
 
<br>
  

Version actuelle datée du 16 août 2024 à 11:57

Généralités


Attention.png
Warning:
Avant toutes choses, n'allez pas plus loin si vous n'avez pas lu la section "Concepts dbSQWare" !.


Dans ce chapitre, on considèrera que SQWareWeb a été installé sur dbsqware@sqwarebox ...

Limites de cette section

Ce chapitre ne traite que de la configuration du socle pour trouver le serveur Active Directory, puis déclarer l'utilisateur sur l'interface web de dbsqware, sur un socle déjà paramétré et fonctionnel.

MODOP général Ajout d'un utilisateur


Explication des différents type d'utilisateurs

Dans dbsqware vous pouvez créer et ajouter des utilisateurs de différents types :

  • des utilisateurs locaux
  • des utilisateurs de votre Active Directory
  • des utilisateurs API
  • des utilisateurs API Maj


Note.png
Note:
Pensez à vous connecter sur l'interface web dbsqware avec un compte ayant les privilèges admin pour faire les manipulations proposées.


Pour Ajouter ou Créer un utilisateur à se connecter : il faut aller sur l'interface web de dbsqware dans Administratation (menu 1) Access (menu 2) Logins (menu 3).

En haut à droite vous cliquez sur le bouton Add.

Add_button


Ajout d'un utilisateurs Active Directory

Il y aura quelques informations et configurations nécessaires à cette configuration :

  • votre machine dbsqware doit pouvoir identifier les DC (Domain Controler) de votre domaine
    • soit en utilisant 1 DC ou plus en tant que server DNS
    • soit en utilisant comme serveur DNS ; un DNS ayant les enregistrements SRV pointant sur vos DC
  • votre machine dbSQWare et vos DC doivent avoir une connectivité réseau sur les ports ldap utilisés dans votre infra (389 par défaut)
  • les utilisateurs déclarés dans dbSQWare doivent exister sur votre domaine


Identification du contrôleur de domaine

Sur la machine dbsqware avec le compte dbsqware modifier le fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php pour modifier si besoin les variables $lvsqw_ldaphost, $lvsqw_ldapport et $lvsqw_ldapbind.

On met à jour le fichier dans le nom de serveur contrôleur de domaine, le port sur lequel il écoute, et enfin le nom de domaine précédé d'un "@".

#From dbsqware@vmsqwarebox

dbsqware@vmsqwarebox:/home/dbsqware/dbSQWare/SQWareWeb/custom $ vi authentication_custom.php
...
function gfsqw_connection_external_ad($lasqw_parameters)
{
$lvsqw_error = false;
$lvsqw_errorMSG = "";
$lvsqw_userName = $lasqw_parameters[0];
$lvsqw_password = $lasqw_parameters[1];

// Server connection

// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Variables : $lvsqw_ldaphost
// $lvsqw_ldapport
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\

$lvsqw_ldaphost = "srvadds.domain.tld"; // /!\ EXAMPLE /!\
$lvsqw_ldapport = 389; // /!\ EXAMPLE /!\
$lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);

if($lvsqw_ldapconnect){

// Authentication
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Example with '@dbsqware.ad' / Fr: Exemple avec '@dbsqware.ad'
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.'@domain.tld', $lvsqw_password); // /!\ EXAMPLE /!\
...


Attention.png
Warning:
Ne modifier que les informations en bleu si nécessaire..


Ajout des utilisateurs sur l'interface web dbsqware

Pour autoriser l'utilisateur à se connecter : il faut aller sur l'interface web de dbsqware dans Administratation (menu 1) Access (menu 2) Logins (menu 3).

En haut à droite vous cliquez sur le bouton Add.

Add_button


Lors de la création de l'utilisateurs :

  • dans Authentification : choisir external_ad
  • dans User Name : mettre le login AD de votre utilisateur
  • dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
  • dans comments : commentaires optionnels

add_user_faq


Utilisateur créé

A partir de là votre utilisateur peut se connecter mais il n'a pas encore de privilèges.
new_user


Si on le connecte l'interface n'a aucune option disponible, ni aucun lien. no_priv

MODOP général ajout de privilèges à utilisateur

Pour donner des droits à l'utilisateur : il faut aller sur l'interface web de dbsqware dans Administratation (menu 1) Access (menu 2) LoginsPrivs (menu 3).

En haut à droite vous cliquez sur le bouton Add.

Add_button


Lors de l'ajout de privilèges :

  • dans Grantee User Name : choisir votre nouvel utilisateur
  • dans Grantee Group Name : choisir le groupe qui correspond aux privilèges que vous voulez donner à cet utilisateur
  • dans comments : commentaires optionnels

LOGINSPRIVS


Une fois connecté votre utilisateur aura les droits sélectionnés

PRIVS_TRUE