Configurer le provisionnement des utilisateurs MariaDB
Le provisionnement des utilisateurs dans MariaDB rationalise la gestion des accès (IAM) et l'automatisation de vos utilisateurs externes et internes sur toutes les applications. miniOrange vous permet de créer, gérer et supprimer l'accès des utilisateurs aux applications sur site, cloud et hybrides
Voici trois étapes principales pour configurer la synchronisation des utilisateurs entre votre base de données et miniOrange IdP. Elles sont les suivantes :
- Partie A : Ajout de votre base de données MariaDB en tant que répertoire externe dans miniOrange IdP
- Partie B : Configuration des requêtes pour le provisionnement des utilisateurs
- Partie C : Configuration de l'approvisionnement des utilisateurs et du mappage des attributs
Considérez le schéma suivant pour configurer l'approvisionnement/déprovisionnement des utilisateurs. Nous avons utilisé ce schéma pour illustrer comment configurer les options d'une base de données simple. Vous pouvez utiliser cet exemple pour configurer votre propre base de données en tant que répertoire externe dans miniOrange.
Exemple de configuration :
| Type de base de données |
MariaDB-10.4.14 |
| Nom de la base de données |
Wordpress |
| URL de la base de données JDBC (pour MariaDB) |
jdbc:mysql://{domaine-du-serveur}:3306/wordpress |
| Tableau dans lequel les informations utilisateur sont stockées |
wp_users |
Description de la table wp_users :
| Colonne |
Type |
Description |
| ID |
bigint(20) non signé |
Colonne d'ID utilisateur |
| USER_LOGIN |
VARCHAR |
Colonne nom d'utilisateur |
| passe d'utilisateur |
VARCHAR |
Stocke le mot de passe de l'utilisateur ; stockera le mot de passe par défaut lors de la création de l'utilisateur |
| Afficher un nom |
VARCHAR |
Nom d'affichage de l'utilisateur |
| user_email |
VARCHAR |
Adresse e-mail de l'utilisateur |
Partie A : Ajouter la base de données MariaDB en tant que répertoire externe dans miniOrange IdP
- Reportez-vous aux étapes 1 à 3 de ceci. document.
Partie B : Configuration de l'attribution de privilèges d'utilisateur pour votre base de données
Il existe deux directions dans lesquelles le provisionnement des utilisateurs peut être configuré : entrant (c'est-à-dire depuis votre base de données vers miniOrange) et sortant (depuis miniOrange vers votre base de données).
Le provisionnement entrant traite de l'importation d'utilisateurs, tandis que le provisionnement sortant traite de la création/suppression/mise à jour d'utilisateurs. Dans les deux cas, le mappage d'attributs est nécessaire. Le mappage d'attributs entre les colonnes de la base de données et les attributs miniOrange IdP est effectué via une notation spéciale. Les valeurs des colonnes sont déduites par l'IdP miniOrange à l'aide de cette notation.
- Pour configurer le provisionnement des utilisateurs pour votre base de données, vous devez d'abord accéder à la section Répertoire externe. Ici, vous verrez la liste des répertoires externes configurés.

- Cliquez sur le menu déroulant à côté de votre base de données configurée et sélectionnez Modifier:

- Cela ouvrira la page d’édition de votre répertoire externe configuré.

- Vous êtes maintenant prêt à configurer toutes les fonctionnalités de provisionnement requises.
1. Importer des utilisateurs
- Il s'agit d'un exemple de provisionnement entrant. Les utilisateurs sont importés de la base de données dans le répertoire externe par défaut de miniOrange. Les attributs à sélectionner sont spécifiés dans la section Attributs de la base de données en tant que répertoire externe. Pour chaque attribut (à l'exception du nom d'utilisateur et du mot de passe) que vous souhaitez importer et mapper à un utilisateur dans le répertoire externe par défaut de miniOrange, vous devez spécifier une requête SELECT.
- Vous n'avez pas besoin de spécifier une requête SELECT pour les valeurs des colonnes de nom d'utilisateur et de mot de passe ; elles sont importées automatiquement à l'aide des noms de colonnes utilisés lors de la configuration de votre base de données en tant que répertoire externe.
- Dans la page de modification du magasin d'utilisateurs, faites défiler vers le bas jusqu'à ce que vous puissiez voir l'option permettant d'ajouter des attributs de base de données.

- Ajoutez autant de champs de saisie que nécessaire. Pour cet exemple, nous avons 3 colonnes de base de données - FIRSTNAME, LASTNAME et EMAIL_ADDRESS - à l'exclusion des colonnes USERNAME et PASSWORD. Les requêtes pour ces colonnes seront les suivantes :
- Requête pour le prénom →
SELECT '##FIRSTNAME##', FIRSTNAME FROM USERS WHERE USERNAME=?
- Requête pour le nom de famille →
SELECT '##LASTNAME##', LASTNAME FROM sUSERS WHERE USERNAME=?
- Demande d'adresse e-mail →
SELECT '##EMAIL_ADDRESS##', EMAIL_ADDRESS FROM USERS WHERE USERNAME=?
- La notation [ '##COLUMN_NAME##', COLUMN_NAME ] dans la requête indique à miniOrange que ce champ doit être renseigné avec la valeur de la colonne de la base de données, en fonction de l'identifiant unique du nom d'utilisateur.
- Votre configuration devrait ressembler à ceci une fois que vous avez terminé d'ajouter les requêtes :
2. Vérifiez les utilisateurs
- Cette requête est utilisée pour vérifier si un utilisateur particulier existe déjà dans la base de données. Un utilisateur qui existe déjà dans la base de données ne sera pas recréé. La structure de leur requête doit être telle qu'elle vérifie toutes les colonnes de la table qui définissent un utilisateur distinct.
- Pour notre exemple, nous allons comparer la valeur de la colonne USERNAME avec le champ correspondant dans miniOrange :
SELECT * FROM USERS WHERE USERNAME='##USERNAME##'
3. Créer un utilisateur
- Ces requêtes créent un utilisateur dans la base de données à chaque fois qu'un utilisateur est créé dans miniOrange. La requête doit contenir les noms de colonnes appropriés. Dans cet exemple, le mot de passe est défini sur une chaîne par défaut (qui doit être modifiée ultérieurement).
- Ces requêtes utilisent la même notation pour spécifier les attributs qui doivent être mappés de l'IdP miniOrange à la base de données. Il s'agit d'un exemple de provisionnement sortant.
- Dans notre exemple, nous allons synchroniser le nom d'utilisateur, le prénom, le nom et l'adresse e-mail de l'utilisateur nouvellement créé à partir de miniOrange avec la base de données. Nous allons transmettre une chaîne de mot de passe par défaut ('defaultPassword123#') à la base de données :
INSERT INTO USERS (USERNAME, PASSWORD, FIRSTNAME, LASTNAME, EMAIL_ADDRESS) VALUES
('##USERNAME##', 'defaultPassword123#',
'##FIRSTNAME##','##LASTNAME##','##EMAIL_ADDRESS##')
- Dans cet exemple, les chaînes [ '##USERNAME##', '##FIRSTNAME##', '##LASTNAME##' ] seront remplacées par les valeurs nom d'utilisateur, prénom et nom de l'utilisateur nouvellement créé dans miniOrange.
4. Mettre à jour l'utilisateur
- Ces requêtes mettent à jour un utilisateur dans la base de données chaque fois que les détails de l'utilisateur concernés sont modifiés dans miniOrange. Il s'agit d'un exemple de provisionnement sortant.
- Dans cet exemple, tous les champs d'un utilisateur particulier sont mis à jour dans la base de données lorsqu'une mise à jour est déclenchée dans miniOrange. La valeur du nom d'utilisateur est immuable dans miniOrange, c'est pourquoi elle a été utilisée dans la clause WHERE :
UPDATE USERS SET FIRSTNAME='##FIRSTNAME##', LASTNAME='##LASTNAME##',
EMAIL_ADDRESS='##EMAIL_ADDRESS##' WHERE USERNAME='##USERNAME##'

- Dans cet exemple, seuls les détails des utilisateurs dont le nom d'utilisateur est le même dans miniOrange et dans la base de données sont mis à jour.
5. Supprimer des utilisateurs
- Ces requêtes suppriment un utilisateur de la base de données chaque fois qu'un utilisateur est supprimé dans miniOrange. Il s'agit d'un exemple de provisionnement sortant.

- Dans cet exemple, nous allons supprimer de la base de données les utilisateurs dont la valeur de la colonne nom d'utilisateur correspond à la valeur du champ nom d'utilisateur dans miniOrange :
DELETE FROM USERS WHERE USERNAME='##USERNAME##'

- Dans cet exemple, seuls les utilisateurs dont le nom d'utilisateur correspond exactement dans les deux cas - la base de données et miniOrange - sont supprimés de la base de données.
Une fois les valeurs requises renseignées, faites défiler vers le bas et cliquez sur Enregistrer pour sauvegarder votre configuration actuelle.
C. Configurer le provisionnement des utilisateurs et le mappage des attributs
Afficher les rapports de provisionnement
Comment accéder aux rapports de provisionnement ?
- Accédez à Rapports Dans le volet de navigation de gauche, recherchez Provisioning, et sélectionnez Rapport d'approvisionnement.

- Filtrez les rapports en précisant Identifiant de l'utilisateur final et Nom de l'application critères. De plus, choisissez le laps de temps pour les rapports. Une fois terminé, cliquez sur le Rechercher.

- Alternativement, vous pouvez cliquer directement sur Rechercher pour récupérer tous les rapports de provisionnement en fonction du temps sans appliquer de filtres spécifiques.