コミュニティソリューション

AdminerでMariaDBデータベースと権限を制限したユーザーを作成する

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

要点:MariaDBの管理アカウントでAdminerにログインし、最小権限のセンサーユーザーを作成する

通常のCasaOSユーザーは、自動的にMariaDBの管理者になるわけではありません。データベースの権限はMariaDB内部で管理されます。コンテナ用に定義されたMariaDBのroot/管理者認証情報を使用し、別のデータベースと、必要な場所にのみデータを挿入できるセンサー用アカウントを作成してください。

データベースと制限付きユーザーを作成する

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

MariaDBのCREATE USERおよびGRANTのドキュメントでは、権限モデルについて説明しています。

%より狭いホスト範囲を使用する

MariaDBのアカウントは'user'@'host'形式です。すべてのホストを許可するのではなく、センサーのサブネットまたは特定のIPアドレスにアカウントを制限してください。リモートアクセスガイドでは、ホスト権限とバインド/リッスンの動作について説明しています。

Adminerは管理用UIにすぎない

Adminerは、ログイン中のMariaDBアカウントがすでに持っている権限を超えて権限を作成することはできません。権限の少ないアプリケーションアカウントでログイン中に「Access denied」と表示された場合は、データベースのスキーマやユーザーを管理するために、データベース管理者アカウントへ切り替えてください。AdminerのハードウェアおよびデプロイガイドMariaDBのハードウェアガイドでは、UIとデータベースサーバーを分けて説明しています。

ポート3306は必要なLANセグメントにのみ公開する

リモートセンサーからMariaDBへのTCPアクセスは必要ですが、だからといってデータベースをパブリックインターネット上に置くべきではありません。信頼できるLAN上にのみバインド/公開し、必要に応じてファイアウォールを使用してください。アクセス範囲を広げる前に、1台のセンサーホストからテストしましょう。

センサープロジェクトが重要になる前にバックアップする

測定値が重要になったら、コンテナだけでなくデータベースもバックアップしてください。永続ストレージ、SQLダンプ、復元テストは、AdminerのUI自体よりも重要です。ZimaOS App Storeのハードウェアディレクトリを使うと、より広範な構成のサイジングに役立ちます。