Konfigurieren der MariaDB-Benutzerbereitstellung
Die Benutzerbereitstellung in MariaDB optimiert die Zugriffsverwaltung (IAM) und Automatisierung Ihrer externen und internen Benutzer über Anwendungen hinweg. Mit miniOrange können Sie Benutzerzugriffe auf lokale, Cloud- und Hybrid-Apps erstellen, verwalten und löschen
Hier sind drei Hauptteile zum Einrichten der Benutzersynchronisierung zwischen Ihrer Datenbank und miniOrange IdP. Sie lauten wie folgt:
- Teil A: Hinzufügen Ihrer MariaDB-Datenbank als externes Verzeichnis in miniOrange IdP
- Teil B: Konfigurieren von Abfragen für die Benutzerbereitstellung
- Teil C: Konfigurieren der Benutzerbereitstellung und Attributzuordnung
Betrachten Sie das folgende Schema zum Einrichten der Benutzerbereitstellung/-aufhebung. Wir haben dieses Schema verwendet, um zu veranschaulichen, wie die Optionen für eine einfache Datenbank konfiguriert werden. Sie können dieses Beispiel verwenden, um Ihre eigene Datenbank als externes Verzeichnis in miniOrange zu konfigurieren.
Beispiel-Setup:
| Datenbanktyp |
MariaDB-10.4.14 |
| Name der Datenbank |
Wordpress |
| Datenbank-JDBC-URL (für MariaDB) |
jdbc:mysql://{Server-Domäne}:3306/wordpress |
| Tabelle, in der Benutzerinformationen gespeichert sind |
wp_users |
Beschreibung der Tabelle wp_users:
| Kolonne |
Typ |
Beschreibung |
| ID |
bigint(20) unsigniert |
Spalte „Benutzer-ID“ |
| user_login |
VARCHAR |
Spalte „Benutzername“ |
| user_pass |
VARCHAR |
Speichert das Passwort des Benutzers; speichert das Standardpasswort bei der Benutzererstellung |
| display_name |
VARCHAR |
Anzeigename des Benutzers |
| user_email |
VARCHAR |
E-Mail-Adresse des Benutzers |
Teil A: MariaDB-Datenbank als externes Verzeichnis in miniOrange IdP hinzufügen
Teil B: Konfigurieren der Benutzerbereitstellung für Ihre Datenbank
Es gibt zwei Richtungen, in denen die Benutzerbereitstellung konfiguriert werden kann: Eingehend (d. h. von Ihrer Datenbank in miniOrange) und Ausgehend (von miniOrange in Ihre Datenbank).
Bei der Inbound-Bereitstellung geht es um den Benutzerimport, bei der Outbound-Bereitstellung um die Erstellung/Löschung/Aktualisierung von Benutzern. In beiden Fällen ist eine Attributzuordnung erforderlich. Die Attributzuordnung zwischen Datenbankspalten und miniOrange IdP-Attributen erfolgt über eine spezielle Notation. Spaltenwerte werden vom miniOrange IdP mithilfe dieser Notation abgeleitet.
- Um die Benutzerbereitstellung für Ihre Datenbank zu konfigurieren, müssen Sie zunächst zum Abschnitt „Externes Verzeichnis“ navigieren. Hier sehen Sie die Liste der konfigurierten externen Verzeichnisse.

- Klicken Sie auf das Dropdown-Menü neben Ihrer konfigurierten Datenbank und wählen Sie Bearbeiten:

- Dadurch wird die Bearbeitungsseite für Ihr konfiguriertes externes Verzeichnis geöffnet.

- Jetzt können Sie alle erforderlichen Bereitstellungsfunktionen konfigurieren.
1. Benutzer importieren
- Dies ist ein Beispiel für Inbound-Provisioning. Benutzer werden aus der Datenbank in das externe Standardverzeichnis von miniOrange importiert. Die auszuwählenden Attribute werden im Attributabschnitt der Datenbank als externes Verzeichnis angegeben. Für jedes Attribut (außer Benutzername und Passwort), das Sie importieren und einem Benutzer im externen Standardverzeichnis von miniOrange zuordnen möchten, müssen Sie eine SELECT-Abfrage angeben.
- Sie müssen keine SELECT-Abfrage für die Spaltenwerte „Benutzername“ und „Passwort“ angeben. Diese werden automatisch anhand der Spaltennamen importiert, die beim Einrichten Ihrer Datenbank als externes Verzeichnis verwendet wurden.
- Scrollen Sie auf der Seite „Benutzerspeicher bearbeiten“ nach unten, bis die Option zum Hinzufügen von Datenbankattributen angezeigt wird.

- Fügen Sie so viele Eingabefelder hinzu wie nötig. Für dieses Beispiel haben wir 3 Datenbankspalten – VORNAME, NACHNAME und E-MAIL-ADRESSE – mit Ausnahme der Spalten BENUTZERNAME und PASSWORT. Die Abfragen für diese Spalten lauten wie folgt:
- Abfrage nach Vornamen →
SELECT '##FIRSTNAME##', FIRSTNAME FROM USERS WHERE USERNAME=?
- Abfrage nach Nachname →
SELECT '##LASTNAME##', LASTNAME FROM sUSERS WHERE USERNAME=?
- Abfrage nach E-Mail-Adresse →
SELECT '##EMAIL_ADDRESS##', EMAIL_ADDRESS FROM USERS WHERE USERNAME=?
- Die Notation [ '##COLUMN_NAME##', COLUMN_NAME ] in der Abfrage teilt miniOrange mit, dass dieses Feld basierend auf der eindeutigen Benutzernamenkennung mit dem Wert der Spalte aus der Datenbank gefüllt werden soll.
- Nachdem Sie die Abfragen hinzugefügt haben, sollte Ihre Konfiguration folgendermaßen aussehen:
2. Benutzer überprüfen
- Mit dieser Abfrage wird geprüft, ob ein bestimmter Benutzer bereits in der Datenbank vorhanden ist. Ein Benutzer, der bereits in der Datenbank vorhanden ist, wird nicht erneut erstellt. Die Struktur der Abfrage sollte so sein, dass alle Spalten in der Tabelle geprüft werden, die einen bestimmten Benutzer definieren.
- Für unser Beispiel vergleichen wir den Wert der Spalte USERNAME mit dem entsprechenden Feld in miniOrange:
SELECT * FROM USERS WHERE USERNAME='##USERNAME##'
3. Benutzer anlegen
- Diese Abfragen erstellen einen Benutzer in der Datenbank, wenn ein Benutzer in miniOrange erstellt wird. Die Abfrage sollte die entsprechenden Spaltennamen enthalten. In diesem Beispiel wird das Kennwort auf eine Standardzeichenfolge gesetzt (die später geändert werden muss).
- Diese Abfragen verwenden dieselbe Notation, um die Attribute anzugeben, die von miniOrange IdP der Datenbank zugeordnet werden müssen. Dies ist ein Beispiel für Outbound-Provisioning.
- In unserem Beispiel synchronisieren wir den Benutzernamen, Vornamen, Nachnamen und die E-Mail-Adresse des neu erstellten Benutzers von miniOrange mit der Datenbank. Wir übergeben eine Standardkennwortzeichenfolge ('defaultPassword123#') an die Datenbank:
INSERT INTO USERS (USERNAME, PASSWORD, FIRSTNAME, LASTNAME, EMAIL_ADDRESS) VALUES
('##USERNAME##', 'defaultPassword123#',
'##FIRSTNAME##','##LASTNAME##','##EMAIL_ADDRESS##')
- In diesem Beispiel werden die Zeichenfolgen [ '##USERNAME##', '##FIRSTNAME##', '##LASTNAME##' ] durch die Werte für Benutzername, Vorname und Nachname des neu erstellten Benutzers in miniOrange ersetzt.
4. Benutzer aktualisieren
- Diese Abfragen aktualisieren einen Benutzer in der Datenbank, wenn die entsprechenden Benutzerdetails in miniOrange geändert werden. Dies ist ein Beispiel für Outbound-Provisioning.
- In diesem Beispiel werden alle Felder für einen bestimmten Benutzer in der Datenbank aktualisiert, wenn ein Update in miniOrange ausgelöst wird. Der Benutzername-Wert ist in miniOrange unveränderlich, daher wurde er in der WHERE-Klausel verwendet:
UPDATE USERS SET FIRSTNAME='##FIRSTNAME##', LASTNAME='##LASTNAME##',
EMAIL_ADDRESS='##EMAIL_ADDRESS##' WHERE USERNAME='##USERNAME##'

- In diesem Beispiel werden nur die Daten der Benutzer aktualisiert, deren Benutzername sowohl in miniOrange als auch in der Datenbank identisch ist.
5. Benutzer löschen
- Diese Abfragen löschen einen Benutzer aus der Datenbank, wenn ein Benutzer in miniOrange gelöscht wird. Dies ist ein Beispiel für Outbound-Provisioning.

- In diesem Beispiel löschen wir die Benutzer aus der Datenbank, deren Wert in der Spalte „Benutzername“ mit dem Wert im Feld „Benutzername“ in miniOrange übereinstimmt:
DELETE FROM USERS WHERE USERNAME='##USERNAME##'

- In diesem Beispiel werden nur diejenigen Benutzer aus der Datenbank gelöscht, deren Benutzername sowohl in der Datenbank als auch in miniOrange exakt übereinstimmt.
Sobald Sie die erforderlichen Werte eingegeben haben, scrollen Sie nach unten und klicken Sie auf Speichern , um Ihre aktuelle Konfiguration zu speichern.
C. Konfigurieren Sie die Benutzerbereitstellung und Attributzuordnung
Wir haben unsere Datenbank erfolgreich als externes Verzeichnis eingerichtet und alle Abfragen für die eingehende und ausgehende Bereitstellung eingegeben. Jetzt müssen wir den Abschnitt zur Benutzerbereitstellung konfigurieren, um die Benutzerbereitstellung für unsere Datenbank zu aktivieren.
1. Legen Sie Ihre Datenbank als externes Standardverzeichnis fest
- Navigieren Sie zum Abschnitt „Externes Verzeichnis“. Ihnen wird eine Liste aller Ihrer konfigurierten externen Verzeichnisse angezeigt. Überprüfen Sie, ob Sie das externe Verzeichnis sehen können, das Sie in Teil A eingerichtet haben.
- Klicken Sie auf das Dropdown-Menü für Ihren Datenbankeintrag und wählen Sie Machen Standard.
2. Navigieren Sie zum Abschnitt „Benutzerbereitstellung“.
- Auswählen Provisioning in der linken Navigation.
- Wählen Sie aus der Dropdown-Liste aus Datenbank.
- Sie sollten die Datenbankattribute sehen können, die wir in Teil B konfiguriert haben. Diese Datenbankattribute sind noch nicht zugeordnet, daher sind die Werte der Spalte „miniOrange-Attribute“ leer.
3. Ordnen Sie die Datenbankattribute den entsprechenden Feldnamen in miniOrange zu
- Die Maria-Datenbankattribute können drei verschiedenen Attributtypen zugeordnet werden:
- Standardmäßige Benutzerprofilattribute
- Benutzerdefinierte Benutzerprofilattribute
- Benutzerdefinierte Attribute
- Für dieses Beispiel werden alle für unsere Datenbank konfigurierten Felder den Standardattributen des Benutzerprofils zugeordnet.

- Die Liste der Standardattribute wird angezeigt, wenn ein Datenbankattribut einem Standardbenutzerprofilattribut zugeordnet wird:

- Ordnen Sie alle erforderlichen Attribute ihren Werten im miniOrange IdP zu. So sieht die Zuordnung für unser Beispiel aus.

4. Speichern Sie Ihre Konfiguration
- Sobald Sie Ihre Datenbankattribute den miniOrange IdP-Attributen zugeordnet und die gewünschten Funktionen aktiviert haben, können Sie diese Konfiguration speichern. Wenn alles richtig konfiguriert ist, sollten Sie die folgende Erfolgsmeldung sehen:

5. Testkonfiguration
- Sie können Ihre Konfiguration testen, indem Sie eine der Aktionen ausführen, für die Sie die Bereitstellungsfunktion aktiviert haben. In diesem Beispiel testen wir sie, indem wir einen beliebigen Ihrer Maria-Datenbankbenutzer in miniOrange importieren.
- Dies sind zunächst die in der Datenbank vorhandenen Benutzer:

- Und dies sind die in miniOrange vorhandenen Benutzer:

- Wir importieren nun die Benutzer aus der Maria DB in miniOrange. Navigieren Sie zu Provisioning → Import Users und wählen Sie Datenbank aus dem Dropdown.

- Klicken Sie auf Import.
- Sie können überprüfen, ob der Import erfolgreich war, indem Sie zu Benutzer → Benutzerliste navigieren.
Bereitstellungsberichte anzeigen
Wie greife ich auf Bereitstellungsberichte zu?
- Navigieren Reports Suchen Sie im linken Navigationsbereich nach Provisioning, und wählen Sie Bereitstellungsbericht.

- Filtern Sie die Berichte durch Angabe Endbenutzerkennung und Anwendungsname Kriterien. Wählen Sie zusätzlich die gewünschten Zeitspanne für die Berichte. Klicken Sie anschließend auf das Suche.

- Alternativ können Sie auch direkt auf Suche um alle Bereitstellungsberichte zeitbasiert abzurufen, ohne bestimmte Filter anzuwenden.