Général:FAQ GestionUtilisateurs : Différence entre versions
(Page créée avec « ==Généralités== <br> {{Warning | Avant toutes choses, n'allez pas plus loin si vous n'avez pas lu la section "Concepts dbSQWare" !}} Dans ce chapi... ») |
m (→Explication des différents types d'utilisateur) |
||
(147 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | + | =Généralités= | |
<br> | <br> | ||
{{Warning | Avant toutes choses, n'allez pas plus loin si vous n'avez pas lu la section [[DbSQWare:Concepts|"Concepts dbSQWare"]] !}} | {{Warning | Avant toutes choses, n'allez pas plus loin si vous n'avez pas lu la section [[DbSQWare:Concepts|"Concepts dbSQWare"]] !}} | ||
− | Dans ce chapitre, on considèrera que | + | <br> |
+ | Dans ce chapitre, on considèrera que SQWareWeb a été installé sur dbsqware@sqwarebox ... | ||
− | + | ==Limites de cette section== | |
− | Ce chapitre ne traite que de l' | + | Ce chapitre ne traite que de la gestion des utilisateurs de l'interface web de dbsqware, et que le module SQWareWeb est sur un socle déjà paramétré et fonctionnel.<br> |
− | |||
− | + | =MODOP général ajout d'un utilisateur= | |
− | + | <br> | |
− | + | ==Explication des différents types d'utilisateur== | |
− | |||
− | + | Dans dbsqware vous pouvez créer et ajouter des utilisateurs de différents types : | |
− | * | + | * des utilisateurs locaux |
− | * | + | * des utilisateurs externes, Active Directory ou ldap |
− | * | + | * des utilisateurs API |
− | * | + | * des utilisateurs API Maj |
− | + | <br> | |
− | |||
− | |||
− | + | {{Note| Pensez à vous connecter sur l'interface web dbsqware avec un compte ayant les privilèges admin pour faire les manipulations proposées}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Ajout d'un utilisateur local== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Ce sont des utilisateurs internes à dbSQWare et donc l'authentification est faite par la machine dbSQWare. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
− | + | Pour Ajouter un utilisateur local capable de se connecter : il faut aller sur l'interface web de dbsqware dans Administration (menu 1) Access (menu 2) Logins (menu 3). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | En haut à droite vous cliquez sur le bouton Add.<br> | |
− | |||
<br> | <br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:LOGINS FAQ.png|1400px|Add_button]] | |
− | |||
− | |||
− | |||
− | |||
− | + | Le formulaire suivant s'ouvre : | |
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:USER internal add FAQ.png|1400px|Formulaire]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Lors de la création de l'utilisateurs, remplir le formulaire de la façon suivante : | |
− | + | * dans Authentification : choisir internal | |
− | + | * dans User Name : mettre le login que vous voulez pour votre utilisateur | |
− | + | * dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs. | |
− | + | * choisir YES comme bouton sous SQWareWeb | |
− | + | * dans comments : commentaires optionnels | |
− | + | * saisir le mot de passe pour ce compte (une fois connecté l'utilisateur peut le changer) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
− | < | ||
− | |||
− | |||
− | |||
− | ==== | + | ==Ajout d'un utilisateur 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 doivent exister sur votre domaine | ||
+ | <br> | ||
− | + | ===Identification du contrôleur de domaine=== | |
− | |||
− | # | + | Il faut spécifier à dbSQWare comment trouver le contrôleur de domaine et le nom de domaine de vos utilisateurs.<br> |
− | + | <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> | ||
+ | <p span style="border: 1px solid silver; padding: 10px; background-color: #E8E8E8;"> | ||
+ | <span style="color: green">#From dbsqware@vmsqwarebox</span><br> | ||
+ | <br> | ||
+ | dbsqware@vmsqwarebox:/home/dbsqware/dbSQWare/SQWareWeb/custom $ vi authentication_custom.php<br> | ||
+ | ...<br> | ||
+ | function gfsqw_connection_external_ad($lasqw_parameters)<br> | ||
+ | {<br> | ||
+ | $lvsqw_error = false;<br> | ||
+ | $lvsqw_errorMSG = "";<br> | ||
+ | $lvsqw_userName = $lasqw_parameters[0];<br> | ||
+ | $lvsqw_password = $lasqw_parameters[1];<br></span> | ||
+ | <br> | ||
+ | // Server connection<br> | ||
+ | <br> | ||
+ | // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\<br> | ||
+ | // Variables : $lvsqw_ldaphost<br> | ||
+ | // $lvsqw_ldapport<br> | ||
+ | // To be adapted according to the company / Fr: A adapter selon l'entreprise<br> | ||
+ | // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\<br> | ||
+ | <br> | ||
+ | $lvsqw_ldaphost = <span style="color: blue;">"srvaddsw01.domain.tld"</span>; // /!\ EXAMPLE /!\<br> | ||
+ | $lvsqw_ldapport = <span style="color: blue;">389</span>; // /!\ EXAMPLE /!\<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | $lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);<br> | ||
+ | ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);<br> | ||
+ | ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);<br> | ||
+ | <br> | ||
+ | if($lvsqw_ldapconnect){<br> | ||
+ | <br> | ||
+ | // Authentication<br> | ||
+ | <br> | ||
+ | // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\<br> | ||
+ | // Example with '@dbsqware.ad' / Fr: Exemple avec '@dbsqware.ad'<br> | ||
+ | // To be adapted according to the company / Fr: A adapter selon l'entreprise<br> | ||
+ | // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\<br> | ||
+ | <br> | ||
+ | $lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.<span style="color: blue;">'@domain.tld'</span>, $lvsqw_password); // /!\ EXAMPLE /!\<br> | ||
+ | <br> | ||
+ | ...<br> | ||
+ | </p></span> | ||
+ | <br> | ||
+ | {{Warning | Ne modifier que les informations en bleu si nécessaire.}} | ||
− | + | ===Ajout des utilisateurs sur l'interface web dbSQWare === | |
− | + | Bien que l'authentification sera faite par votre contrôleur de domaine il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.<br> | |
− | + | <br> | |
− | + | Pour autoriser un utilisateur du domaine Active Directory à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).<br> | |
+ | <br> | ||
− | + | En haut à droite vous cliquez sur le bouton Add. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:LOGINS FAQ.png|1400px|Add_button]] | |
− | |||
− | |||
− | |||
− | + | <br> | |
− | + | Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante : | |
− | + | *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. | |
− | + | *choisir YES comme bouton sous SQWareWeb | |
− | . | + | *dans comments : commentaires optionnels |
− | |||
− | |||
− | + | [[Fichier:USER ADDS add FAQ.png|1400px|formulaire]] | |
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
− | |||
− | |||
− | |||
− | ==== | + | ==Ajout d'un utilisateur LDAP== |
− | + | Il y aura quelques informations et configurations nécessaires à cette configuration : | |
− | + | * votre machine dbSQWare doit pouvoir identifier le serveur ldap de votre domaine | |
− | + | ** soit en utilisant ce serveur en tant que serveur DNS | |
− | + | ** soit en utilisant comme serveur DNS un DNS ayant les enregistrements SRV pointant sur ce serveur ldap | |
− | < | + | * votre machine dbSQWare et votre serveur ldap doivent avoir une connectivité réseau sur les ports ldap utilisés dans votre infra. |
+ | * les utilisateurs doivent exister sur votre domaine | ||
+ | <br> | ||
− | === | + | ====Identification du serveur ldap==== |
− | + | Il faut spécifier à dbSQWare comment trouver le serveur ldap et le nom de domaine de vos utilisateurs.<br> | |
<br> | <br> | ||
− | + | Pour cela avec l'utilisateur dbsqware vous devez remplacer tout le contenu du fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php par :<br> | |
+ | <br> | ||
+ | <p span style="border: 1px solid silver; padding: 10px; background-color: #E8E8E8;"> | ||
+ | <?php | ||
+ | <br>//######################################################################################## | ||
+ | <br>// SQWareWeb module of dbSQWare | ||
+ | <br>// dbSQWare is distributed in the hope that it will be useful, | ||
+ | <br>// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
+ | <br>// MERCHANTABILITY or FITNESS for a PARTICULAR PURPOSE. See the | ||
+ | <br>// CGU/CGA for more details. | ||
+ | <br>// You should have received a copy of the CGU/CGA | ||
+ | <br>// along with this program. If not, see <http://www.dbsqware.com/licenses/>. | ||
+ | <br>// For information : contact@dbsqware.com or www.dbsqware.com | ||
+ | <br>//######################################################################################## | ||
+ | <br>//# @Copyright 2010-2025, dbSQWare (www.dbsqware.com) | ||
− | + | <br>error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING & ~E_STRICT); | |
− | Exemple | + | <br> |
− | < | + | <br>// Function : Login via AD |
− | + | <br>// ------------------------- | |
− | + | <br> | |
− | + | <br>// $lasqw_parameters ==> Array with 2 elements : | |
− | + | <br>// - username | |
− | + | <br>// - password | |
− | + | <br> | |
− | -- | + | <br>function gfsqw_connection_external_ad($lasqw_parameters) |
− | + | <br>{ | |
− | + | <br><span style="margin-left: 40px;"> | |
− | + | $lvsqw_error = false; | |
− | </ | + | <br><span style="margin-left: 40px;"> |
+ | $lvsqw_errorMSG = ""; | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | $lvsqw_userName = $lasqw_parameters[0]; | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | $lvsqw_password = $lasqw_parameters[1]; | ||
+ | <br> | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | $lvsqw_userLogin = "uid=" . $lvsqw_userName . ",ou=people,dc=example,dc=com" ; // For LDAP server, if needed change dn informations with yours | ||
+ | <br> | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | // Server connection | ||
+ | <br> | ||
+ | <br><span style="margin-left: 40px;"> // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ | ||
+ | <br><span style="margin-left: 40px;"> // Variables : $lvsqw_ldaphost $lvsqw_unixldaphost | ||
+ | <br><span style="margin-left: 40px;"> // $lvsqw_ldapport $lvsqw_unixldapport | ||
+ | <br><span style="margin-left: 40px;"> // To be adapted according to the company / Fr: A adapter selon l'entreprise | ||
+ | <br><span style="margin-left: 40px;"> // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ | ||
+ | <br> | ||
+ | <br><span style="margin-left: 40px;"> $lvsqw_ldaphost = "<span style="color: blue;">srv-adds01</span>"; // /!\ EXAMPLE for Active directory /!\ | ||
+ | <br><span style="margin-left: 40px;"> $lvsqw_ldapport = <span style="color: blue;">389</span>; // /!\ EXAMPLE for Active Directory/!\ | ||
+ | <br> | ||
+ | <br><span style="margin-left: 40px;"> $lvsqw_unixldaphost = "<span style="color: blue;">ldaps://srv-ldap01</span>"; // /!\ EXAMPLE for LDAP unix /!\ | ||
+ | <br><span style="margin-left: 40px;"> $lvsqw_unixldapport = <span style="color: blue;">636</span>; // /!\ EXAMPLE for LDAP unix /!\ | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | <br><span style="margin-left: 40px;"> $lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport); | ||
+ | <br><span style="margin-left: 40px;"> 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><span style="margin-left: 40px;"> | ||
+ | <br><span style="margin-left: 40px;"> if($lvsqw_ldapconnect){ | ||
+ | <br><span style="margin-left: 40px;"> | ||
+ | <br><span style="margin-left: 80px;"> // Authentication | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <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;"> | ||
+ | <br><span style="margin-left: 80px;"> $lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.<span style="color: blue;">'@dbsqware.ad'</span>, $lvsqw_password); // /!\ EXAMPLE /!\ | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <br><span style="margin-left: 80px;"> if(!($lvsqw_ldapbind)) { | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <br><span style="margin-left: 120px;"> ldap_close($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 120px;"> ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0); | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 120px;"> $lvsqw_ldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport); | ||
+ | <br><span style="margin-left: 120px;"> ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3); | ||
+ | <br><span style="margin-left: 120px;"> ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0); | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 120px;"> if($lvsqw_ldapconnect){ | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 120px;"> $lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userLogin, $lvsqw_password); | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 160px;"> if(!($lvsqw_ldapbind)) { | ||
+ | <br><span style="margin-left: 200px;"> $lvsqw_error = true; | ||
+ | <br><span style="margin-left: 200px;"> $lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 160px;"> } | ||
+ | <br><span style="margin-left: 120px;"> } | ||
+ | <br><span style="margin-left: 80px;"> ldap_close($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 80px;"> } | ||
+ | <br><span style="margin-left: 40px;"> } | ||
+ | <br><span style="margin-left: 40px;"> else { | ||
+ | <br><span style="margin-left: 80px;"> ldap_close($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <br><span style="margin-left: 80px;"> ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0); | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <br><span style="margin-left: 80px;"> $lvsqw_unixldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport); | ||
+ | <br><span style="margin-left: 80px;"> ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3); | ||
+ | <br><span style="margin-left: 80px;"> ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_REFERRALS, 0); | ||
+ | <br><span style="margin-left: 80px;"> if ($lvsqw_unixldapconnect){ | ||
+ | <br><span style="margin-left: 80px;"> | ||
+ | <br><span style="margin-left: 120px;"> $lvsqw_ldapbind = ldap_bind($lvsqw_unixldapconnect, $lvsqw_userLogin, $lvsqw_password); | ||
+ | <br><span style="margin-left: 120px;"> | ||
+ | <br><span style="margin-left: 120px;"> if(!($lvsqw_ldapbind)) { | ||
+ | <br><span style="margin-left: 160px;"> $lvsqw_error = true; | ||
+ | <br><span style="margin-left: 160px;"> $lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 120px;"> } | ||
+ | <br><span style="margin-left: 80px;"> } | ||
+ | <br><span style="margin-left: 80px;"> ldap_close($lvsqw_ldapconnect); | ||
+ | <br><span style="margin-left: 80px;"> $lvsqw_error = true; | ||
+ | <br><span style="margin-left: 80px;"> $lvsqw_errorMSG = "Unable to connect to LDAP server"; | ||
+ | <br><span style="margin-left: 40px;"> } | ||
+ | <br><span style="margin-left: 40px;"> return array($lvsqw_error, $lvsqw_errorMSG); | ||
+ | <br>} | ||
+ | <br> | ||
+ | <br>?> | ||
+ | </p></span> | ||
+ | <br> | ||
+ | Cette version du fichier vous permet d'avoir à la fois un domaine Active Directory et un domaine LDAP pour l'authentification externe de vos utilisateurs. | ||
+ | <br> | ||
+ | {{Warning | Ne modifier que les informations en bleu si nécessaire.}} | ||
− | + | ====Ajout des utilisateurs sur l'interface web dbSQWare ==== | |
− | + | Bien que l'authentification sera faite par votre serveur ldap il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.<br> | |
− | + | <br> | |
− | + | Pour autoriser un utilisateur du domaine ldap à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).<br> | |
− | + | <br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | + | En haut à droite vous cliquez sur le bouton Add. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:LOGINS FAQ.png|1400px|Add_button]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
− | + | Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante : | |
− | + | *dans Authentification : choisir external_ad | |
− | + | *dans User Name : mettre le login ldap de votre utilisateur | |
− | + | *dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs. | |
− | + | *choisir YES comme bouton sous SQWareWeb | |
− | + | *dans comments : commentaires optionnels | |
− | + | [[Fichier:USER ADDS add FAQ.png|1400px|formulaire]] | |
− | |||
− | + | <br> | |
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | =MODOP général ajout de privilèges à utilisateur= |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | + | Si vous venez d'ajouter un utilisateur, il peut se connecter mais il n'a pas encore de privilèges.<br> |
− | + | [[Fichier:LOGIN FAQ.png|300px|new_user]] | |
− | |||
− | |||
− | < | + | <br> |
− | + | Si on le connecte à l'interface, aucune option n'est disponible, ni aucun lien. | |
− | . | + | [[Fichier:NO PRIV FAQ.png|1400px|no_priv]] |
− | + | <br> | |
− | |||
− | |||
− | + | Pour donner des droits à l'utilisateur : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) LoginsPrivs (menu 3). | |
− | |||
− | |||
− | |||
− | |||
− | + | En haut à droite vous cliquez sur le bouton Add. | |
− | |||
− | |||
− | |||
− | + | [[Fichier:LOGINSPRIVS FAQ.png|1400px|Add_button]] | |
− | < | + | <br> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
+ | 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 | ||
− | + | [[Fichier:PRIVS FAQ.png|1400px|LOGINSPRIVS]] | |
− | + | <br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
− | + | Une fois connecté votre utilisateur aura les droits sélectionnés | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:PRIV FAQ.png|1400px|PRIVS_TRUE]] |
Version actuelle datée du 17 février 2025 à 13:59
Sommaire
Généralités
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 gestion des utilisateurs de l'interface web de dbsqware, et que le module SQWareWeb est sur un socle déjà paramétré et fonctionnel.
MODOP général ajout d'un utilisateur
Explication des différents types d'utilisateur
Dans dbsqware vous pouvez créer et ajouter des utilisateurs de différents types :
- des utilisateurs locaux
- des utilisateurs externes, Active Directory ou ldap
- des utilisateurs API
- des utilisateurs API Maj
Ajout d'un utilisateur local
Ce sont des utilisateurs internes à dbSQWare et donc l'authentification est faite par la machine dbSQWare.
Pour Ajouter un utilisateur local capable de se connecter : il faut aller sur l'interface web de dbsqware dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Le formulaire suivant s'ouvre :
Lors de la création de l'utilisateurs, remplir le formulaire de la façon suivante :
- dans Authentification : choisir internal
- dans User Name : mettre le login que vous voulez pour votre utilisateur
- dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
- saisir le mot de passe pour ce compte (une fois connecté l'utilisateur peut le changer)
Ajout d'un utilisateur 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 doivent exister sur votre domaine
Identification du contrôleur de domaine
Il faut spécifier à dbSQWare comment trouver le contrôleur de domaine et le nom de domaine de vos utilisateurs.
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.
#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 = "srvaddsw01.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 /!\
...
Ajout des utilisateurs sur l'interface web dbSQWare
Bien que l'authentification sera faite par votre contrôleur de domaine il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.
Pour autoriser un utilisateur du domaine Active Directory à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante :
- 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.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
Ajout d'un utilisateur LDAP
Il y aura quelques informations et configurations nécessaires à cette configuration :
- votre machine dbSQWare doit pouvoir identifier le serveur ldap de votre domaine
- soit en utilisant ce serveur en tant que serveur DNS
- soit en utilisant comme serveur DNS un DNS ayant les enregistrements SRV pointant sur ce serveur ldap
- votre machine dbSQWare et votre serveur ldap doivent avoir une connectivité réseau sur les ports ldap utilisés dans votre infra.
- les utilisateurs doivent exister sur votre domaine
Identification du serveur ldap
Il faut spécifier à dbSQWare comment trouver le serveur ldap et le nom de domaine de vos utilisateurs.
Pour cela avec l'utilisateur dbsqware vous devez remplacer tout le contenu du fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php par :
<?php
//########################################################################################
// SQWareWeb module of dbSQWare
// dbSQWare is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS for a PARTICULAR PURPOSE. See the
// CGU/CGA for more details.
// You should have received a copy of the CGU/CGA
// along with this program. If not, see <http://www.dbsqware.com/licenses/>.
// For information : contact@dbsqware.com or www.dbsqware.com
//########################################################################################
//# @Copyright 2010-2025, dbSQWare (www.dbsqware.com)
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
// Function : Login via AD
// -------------------------
// $lasqw_parameters ==> Array with 2 elements :
// - username
// - password
function gfsqw_connection_external_ad($lasqw_parameters)
{
$lvsqw_error = false;
$lvsqw_errorMSG = "";
$lvsqw_userName = $lasqw_parameters[0];
$lvsqw_password = $lasqw_parameters[1];
$lvsqw_userLogin = "uid=" . $lvsqw_userName . ",ou=people,dc=example,dc=com" ; // For LDAP server, if needed change dn informations with yours
// Server connection
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Variables : $lvsqw_ldaphost $lvsqw_unixldaphost
// $lvsqw_ldapport $lvsqw_unixldapport
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldaphost = "srv-adds01"; // /!\ EXAMPLE for Active directory /!\
$lvsqw_ldapport = 389; // /!\ EXAMPLE for Active Directory/!\
$lvsqw_unixldaphost = "ldaps://srv-ldap01"; // /!\ EXAMPLE for LDAP unix /!\
$lvsqw_unixldapport = 636; // /!\ EXAMPLE for LDAP unix /!\
$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.'@dbsqware.ad', $lvsqw_password); // /!\ EXAMPLE /!\
if(!($lvsqw_ldapbind)) {
ldap_close($lvsqw_ldapconnect);
ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0);
$lvsqw_ldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);
if($lvsqw_ldapconnect){
$lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userLogin, $lvsqw_password);
if(!($lvsqw_ldapbind)) {
$lvsqw_error = true;
$lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect);
}
}
ldap_close($lvsqw_ldapconnect);
}
}
else {
ldap_close($lvsqw_ldapconnect);
ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0);
$lvsqw_unixldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport);
ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_REFERRALS, 0);
if ($lvsqw_unixldapconnect){
$lvsqw_ldapbind = ldap_bind($lvsqw_unixldapconnect, $lvsqw_userLogin, $lvsqw_password);
if(!($lvsqw_ldapbind)) {
$lvsqw_error = true;
$lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect);
}
}
ldap_close($lvsqw_ldapconnect);
$lvsqw_error = true;
$lvsqw_errorMSG = "Unable to connect to LDAP server";
}
return array($lvsqw_error, $lvsqw_errorMSG);
}
?>
Cette version du fichier vous permet d'avoir à la fois un domaine Active Directory et un domaine LDAP pour l'authentification externe de vos utilisateurs.
Ajout des utilisateurs sur l'interface web dbSQWare
Bien que l'authentification sera faite par votre serveur ldap il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.
Pour autoriser un utilisateur du domaine ldap à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante :
- dans Authentification : choisir external_ad
- dans User Name : mettre le login ldap de votre utilisateur
- dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
MODOP général ajout de privilèges à utilisateur
Si vous venez d'ajouter un utilisateur, il peut se connecter mais il n'a pas encore de privilèges.
Si on le connecte à l'interface, aucune option n'est disponible, ni aucun lien.
Pour donner des droits à l'utilisateur : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) LoginsPrivs (menu 3).
En haut à droite vous cliquez sur le bouton Add.
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
Une fois connecté votre utilisateur aura les droits sélectionnés