Community-Lösung

MariaDB-Datenbank und eingeschränkten Benutzer in Adminer erstellen

A CasaOS beginner could connect Adminer to MariaDB but lacked privileges to create a new database and a restricted LAN user for sensor inserts.

Kurz gesagt: Mit einem MariaDB-Administratorkonto bei Adminer anmelden und anschließend einen Sensorbenutzer mit geringsten erforderlichen Berechtigungen erstellen

Der normale CasaOS-Benutzer ist nicht automatisch MariaDB-Administrator. Datenbankberechtigungen werden innerhalb von MariaDB verwaltet. Verwenden Sie die für den Container festgelegten MariaDB-Root-/Administrator-Anmeldedaten und erstellen Sie anschließend eine separate Datenbank sowie ein Sensorkonto, das nur dort Einträge vornehmen darf, wo dies erforderlich ist.

Datenbank und eingeschränkten Benutzer erstellen

CREATE DATABASE sensor_data
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER 'sensor_writer'@'192.168.1.%'
  IDENTIFIED BY 'REPLACE_WITH_A_STRONG_PASSWORD';

GRANT INSERT ON sensor_data.readings
  TO 'sensor_writer'@'192.168.1.%';

SHOW GRANTS FOR 'sensor_writer'@'192.168.1.%';

Die Dokumentation zu MariaDBs CREATE USER und GRANT beschreibt das Berechtigungsmodell.

Einen engeren Hostbereich als % verwenden

MariaDB-Konten haben das Format 'user'@'host'. Beschränken Sie das Konto auf das Sensornetzwerk oder bestimmte IP-Adressen, anstatt jeden Host zuzulassen. Der Leitfaden zum Remote-Zugriff behandelt Host-Berechtigungen sowie das Binden und Lauschen.

Adminer ist nur die Verwaltungsoberfläche

Adminer kann keine Berechtigungen außerhalb der bereits für das angemeldete MariaDB-Konto geltenden Berechtigungen erstellen. Wenn bei der Anmeldung mit einem Konto mit geringen Berechtigungen „Zugriff verweigert“ angezeigt wird, wechseln Sie für die Verwaltung von Schema und Benutzern zum Datenbankadministratorkonto. Der Leitfaden zu Hardware und Bereitstellung von Adminer und der MariaDB-Hardwareleitfaden trennen die Benutzeroberfläche vom Datenbankserver.

Port 3306 nur für das benötigte LAN-Segment freigeben

Remote-Sensoren benötigen TCP-Zugriff auf MariaDB. Das bedeutet jedoch nicht, dass die Datenbank im öffentlichen Internet erreichbar sein sollte. Binden und veröffentlichen Sie sie nur im vertrauenswürdigen LAN, verwenden Sie bei Bedarf eine Firewall und testen Sie den Zugriff zunächst von einem Sensorhost aus, bevor Sie ihn erweitern.

Sichern, bevor das Sensorprojekt wichtig wird

Sobald die Messwerte wichtig sind, sichern Sie die Datenbank – nicht nur den Container. Persistenter Speicher, SQL-Dumps und Wiederherstellungstests sind wichtiger als die Adminer-Oberfläche selbst. Das Hardwareverzeichnis des ZimaOS App Store hilft bei der Dimensionierung des gesamten Stacks.