Solução da comunidade

Criar uma base de dados MariaDB e um utilizador restrito no 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.

Em suma: inicie sessão no Adminer com uma conta administrativa do MariaDB e crie depois um utilizador de sensores com privilégios mínimos

O utilizador normal do CasaOS não é automaticamente administrador do MariaDB. Os privilégios da base de dados são geridos dentro do MariaDB. Utilize as credenciais de root/administrador do MariaDB definidas para o contentor e, em seguida, crie uma base de dados separada e uma conta de sensores que possa inserir dados apenas onde for necessário.

Criar a base de dados e o utilizador restrito

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

A documentação do MariaDB sobre CREATE USER e GRANT define o modelo de privilégios.

Utilizar um âmbito de anfitrião mais restrito do que %

As contas do MariaDB têm o formato 'user'@'host'. Restrinja a conta à sub-rede dos sensores ou a endereços IP específicos, em vez de permitir o acesso a partir de qualquer anfitrião. O guia de acesso remoto aborda as permissões por anfitrião e o comportamento de ligação/escuta.

O Adminer é apenas a interface de gestão

O Adminer não cria privilégios além dos que a conta do MariaDB com sessão iniciada já possui. Se aparecer “Acesso negado” enquanto estiver ligado com uma conta de aplicação com poucos privilégios, mude para a conta de administrador da base de dados para gerir esquemas e utilizadores. O guia de hardware e implementação do Adminer e o guia de hardware do MariaDB distinguem a interface do servidor de base de dados.

Expor a porta 3306 apenas ao segmento da LAN que dela necessita

Os sensores remotos precisam de acesso TCP ao MariaDB, mas isso não significa que a base de dados deva estar na Internet pública. Ligue-a/publique-a apenas na LAN de confiança, utilize uma firewall quando apropriado e teste a partir de um anfitrião de sensor antes de alargar o acesso.

Fazer cópias de segurança antes de o projeto dos sensores se tornar importante

Assim que as leituras forem importantes, faça uma cópia de segurança da base de dados — não apenas do contentor. O armazenamento persistente, as exportações SQL e os testes de restauro são mais importantes do que a própria interface do Adminer. O diretório de hardware da App Store do ZimaOS ajuda a dimensionar a pilha mais ampla.