In sintesi: accedi ad Adminer con un account amministrativo MariaDB, quindi crea un utente per i sensori con privilegi minimi
Il normale utente CasaOS non è automaticamente un amministratore MariaDB. I privilegi del database risiedono in MariaDB. Usa le credenziali root/amministratore MariaDB definite per il container, quindi crea un database separato e un account per i sensori che possa inserire dati solo dove necessario.
Crea il database e l'utente con privilegi limitati
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 documentazione di MariaDB su CREATE USER e GRANT definisce il modello dei privilegi.
Usa un ambito host più ristretto di %
Gli account MariaDB hanno il formato 'user'@'host'. Limita l'account alla subnet dei sensori o a indirizzi IP specifici invece di consentire l'accesso da qualsiasi host. La guida all'accesso remoto illustra le autorizzazioni per gli host e il comportamento di bind/ascolto.
Adminer è solo l'interfaccia di gestione
Adminer non crea privilegi oltre a quelli già posseduti dall'account MariaDB con cui hai effettuato l'accesso. Se compare “Access denied” mentre hai effettuato l'accesso con un account applicativo con privilegi limitati, passa all'account amministratore del database per gestire schema e utenti. La guida hardware e di distribuzione di Adminer e la guida hardware di MariaDB tengono distinta l'interfaccia dal server del database.
Esponi la porta 3306 solo al segmento LAN che ne ha bisogno
I sensori remoti devono poter accedere a MariaDB tramite TCP, ma questo non significa che il database debba essere esposto su Internet. Esegui il bind e la pubblicazione solo sulla LAN attendibile, usa un firewall quando opportuno e verifica il funzionamento da un singolo host sensore prima di ampliare l'accesso.
Esegui il backup prima che il progetto dei sensori diventi importante
Quando le letture diventano importanti, esegui il backup del database, non solo del container. L'archiviazione persistente, i dump SQL e i test di ripristino sono più importanti dell'interfaccia Adminer stessa. La directory hardware dell'App Store di ZimaOS aiuta a dimensionare lo stack più ampio.
