MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Datenbankbenutzerverwaltung mit ClusterControl

In den vorherigen Beiträgen dieser Blogserie haben wir die Bereitstellung von Clustering/Replikation (MySQL/Galera, MySQL-Replikation, MongoDB und PostgreSQL), die Verwaltung und Überwachung Ihrer vorhandenen Datenbanken und Cluster, die Leistungsüberwachung und den Zustand sowie die Optimierung Ihrer Einrichtung behandelt verfügbar über HAProxy und MaxScale, wie Sie sich auf Katastrophen vorbereiten können, indem Sie Backups planen, wie Sie Ihre Datenbankkonfigurationen verwalten und im letzten Beitrag, wie Sie Ihre Protokolldateien verwalten.

Einer der wichtigsten Aspekte auf dem Weg zum ClusterControl-DBA ist die Fähigkeit, Aufgaben an Teammitglieder zu delegieren und den Zugriff auf die ClusterControl-Funktionalität zu kontrollieren. Dies kann durch die Verwendung der Benutzerverwaltungsfunktion erreicht werden, mit der Sie steuern können, wer was tun kann. Sie können sogar noch einen Schritt weiter gehen, indem Sie Teams oder Organisationen zu ClusterControl hinzufügen und sie Ihren DevOps-Rollen zuordnen.

Teams

Teams können entweder als vollständige Organisation oder als Gruppen von Benutzern betrachtet werden. Cluster können Teams zugewiesen werden und auf diese Weise ist der Cluster nur für die Benutzer in dem Team sichtbar, dem er zugewiesen wurde. Auf diese Weise können Sie mehrere Teams oder Organisationen innerhalb einer ClusterControl-Umgebung betreiben. Natürlich kann das Administratorkonto von ClusterControl weiterhin alle Cluster sehen und verwalten.

Sie können ein neues Team über das Seitenmenü -> Benutzerverwaltung -> Teams erstellen und auf das Pluszeichen auf der linken Seite im Bereich Teams klicken:

Nachdem Sie ein neues Team hinzugefügt haben, können Sie dem Team Benutzer zuweisen.

Benutzer

Nachdem Sie das neu erstellte Team ausgewählt haben, können Sie diesem Team neue Benutzer hinzufügen, indem Sie im rechten Dialog auf das Pluszeichen klicken:

Durch Auswahl der Rolle können Sie die Funktionalität des Benutzers entweder auf einen Super-Admin, Admin oder Benutzer beschränken. Sie können diese Standardrollen im Bereich Zugriffskontrolle erweitern.

Zugriffskontrolle

Standardrollen

Innerhalb von ClusterControl sind die Standardrollen:Super Admin, Admin und User. Der Super-Admin ist das einzige Konto, das Teams, Benutzer und Rollen verwalten kann. Der Super-Admin ist auch in der Lage, Cluster über Teams oder Organisationen hinweg zu migrieren. Die Administratorrolle gehört zu einer bestimmten Organisation und kann alle Cluster in dieser Organisation sehen. Die Benutzerrolle kann nur die von ihr erstellten Cluster sehen.

Benutzerrollen

Sie können neue Rollen innerhalb des rollenbasierten Zugriffssteuerungsbildschirms hinzufügen. Sie können die Berechtigungen pro Funktionalität definieren, ob die Rolle erlaubt (nur lesen), verweigert (deny), verwalten (Änderung zulassen) oder ändern (erweiterte Verwaltung) ist.

Wenn wir eine Rolle mit eingeschränktem Zugriff erstellen:

Wie Sie sehen können, können wir einen Benutzer mit eingeschränkten Zugriffsrechten (meistens schreibgeschützt) erstellen und sicherstellen, dass dieser Benutzer nichts kaputt macht. Das bedeutet auch, dass wir hier nicht-technische Rollen wie Manager hinzufügen könnten.

Beachten Sie, dass die Super-Admin-Rolle hier nicht aufgeführt ist, da es sich um eine Standardrolle mit den höchsten Privilegien innerhalb von ClusterControl handelt und daher nicht geändert werden kann.

LDAP-Zugriff

ClusterControl unterstützt Active Directory, FreeIPA und LDAP-Authentifizierung. Dadurch können Sie ClusterControl in Ihre Organisation integrieren, ohne die Benutzer neu anlegen zu müssen. In früheren Blogbeiträgen haben wir beschrieben, wie ClusterControl eingerichtet wird, um sich gegen OpenLDAP, FreeIPA und Active Directory zu authentifizieren.

Sobald dies eingerichtet wurde, folgt die Authentifizierung gegenüber ClusterControl der folgenden Tabelle:

Grundsätzlich ist der wichtigste Teil hier, die LDAP-Gruppe der ClusterControl-Rolle zuzuordnen. Dies kann ziemlich einfach auf der Seite „LDAP-Einstellungen“ unter „Benutzerverwaltung“ erfolgen.

Der obige Dialog würde das DevopsTeam der Rolle „Eingeschränkter Benutzer“ in ClusterControl zuordnen. Wiederholen Sie dies dann für jede andere Gruppe, die Sie abbilden möchten. Danach wird jeder Benutzer, der sich bei ClusterControl authentifiziert, über die LDAP-Integration authentifiziert und autorisiert.

Abschließende Gedanken

Durch die Kombination aller oben genannten Funktionen können Sie ClusterControl besser in Ihre bestehende Organisation integrieren, spezifische Rollen mit eingeschränktem oder vollem Zugriff erstellen und Benutzer mit diesen Rollen verbinden. Das Schöne daran ist, dass Sie jetzt viel flexibler sind, wie Sie Ihre Datenbankinfrastruktur organisieren:Wer darf was? Sie könnten zum Beispiel die Aufgabe der Backup-Überprüfung an einen Standort-Zuverlässigkeitsingenieur abgeben, anstatt sie täglich vom DBA überprüfen zu lassen. Ermöglichen Sie Ihren Entwicklern, die MySQL-, Postgres- und MongoDB-Protokolldateien zu überprüfen, um sie mit ihrer Überwachung zu korrelieren. Sie können auch einem erfahrenen Entwickler erlauben, die Datenbank zu skalieren, indem Sie weitere Knoten/Shards hinzufügen, oder einen erfahrenen DevOps-Ingenieur beauftragen, Berater zu schreiben.

Wie Sie sehen können, sind die Möglichkeiten hier endlos, es ist nur eine Frage, wie Sie sie freischalten können. In der Developer Studio-Blogserie tauchen wir tiefer in die Automatisierung mit ClusterControl ein und für die DevOps-Integration haben wir kürzlich CCBot veröffentlicht.