Solution communautaire

Créer une base de données MariaDB et un utilisateur restreint dans Adminer

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

En bref : connectez-vous à Adminer avec un compte administrateur MariaDB, puis créez un utilisateur de capteurs à privilèges minimaux

L’utilisateur CasaOS standard n’est pas automatiquement administrateur MariaDB. Les privilèges de base de données sont gérés dans MariaDB. Utilisez les identifiants root/admin MariaDB définis pour le conteneur, puis créez une base de données distincte et un compte de capteurs autorisé à effectuer des insertions uniquement là où c’est nécessaire.

Créer la base de données et l’utilisateur restreint

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.%';

La documentation MariaDB relative à CREATE USER et à GRANT définit le modèle de privilèges.

Utiliser une portée d’hôte plus restrictive que %

Les comptes MariaDB suivent le format 'user'@'host'. Limitez le compte au sous-réseau des capteurs ou à des adresses IP précises au lieu d’autoriser tous les hôtes. Le guide de l’accès distant explique les autorisations par hôte ainsi que le comportement de liaison et d’écoute.

Adminer est uniquement l’interface de gestion

Adminer ne crée pas de privilèges au-delà de ceux dont dispose déjà le compte MariaDB connecté. Si le message « Accès refusé » apparaît alors que vous êtes connecté avec un compte d’application à privilèges limités, utilisez le compte administrateur de la base de données pour administrer le schéma et les utilisateurs. Le guide matériel et de déploiement d’Adminer et le guide matériel MariaDB distinguent l’interface du serveur de base de données.

N’exposer le port 3306 qu’au segment du réseau local qui en a besoin

Les capteurs distants doivent pouvoir accéder à MariaDB via TCP, mais cela ne signifie pas que la base de données doit être accessible depuis Internet. Liez-la et publiez-la uniquement sur le réseau local de confiance, utilisez un pare-feu si nécessaire et effectuez un test depuis un seul hôte de capteur avant d’élargir l’accès.

Sauvegarder avant que le projet de capteurs ne devienne important

Dès que les relevés deviennent importants, sauvegardez la base de données, et pas seulement le conteneur. Le stockage persistant, les exports SQL et les tests de restauration sont plus importants que l’interface Adminer elle-même. Le répertoire matériel de l’App Store ZimaOS vous aide à dimensionner l’ensemble de la pile.