Skip to content

システム

EMQX ダッシュボードの システム メニューでは、ユーザーおよびロール管理、監査ログ、APIキー、ライセンス、SSO、データのバックアップと復元、ホットアップグレード、一般設定などのシステム管理オプションにアクセスできます。

ユーザー

ユーザー ページでは、CLI を通じて生成されたものを含む、すべてのアクティブなダッシュボードユーザーの概要を確認できます。

新しいユーザーを追加するには、ページ右上の + 作成 ボタンをクリックします。ポップアップダイアログが表示され、必要なユーザー情報の入力を求められます。入力後、作成 ボタンをクリックしてユーザーアカウントを生成します。ユーザー管理のための編集、パスワード更新、削除などの操作は、アクション列から簡単にアクセス可能です。

セキュリティ上の理由から、EMQX 5.0.0 以降、ダッシュボードユーザーは REST API 認証に使用できません。

ユーザー画面

ロールベースアクセス制御

EMQX 5.3 以降、ダッシュボードには EMQX Enterprise ユーザー向けのロールベースアクセス制御(RBAC)機能が導入されています。

RBAC により、組織内の役割に基づいてユーザーに権限を割り当てることが可能です。この機能は認可管理を簡素化し、アクセス制限によるセキュリティ強化や組織のコンプライアンス向上に寄与し、ダッシュボードにおける重要なアクセス制御メカニズムとなっています。

現在、ユーザーには以下のいずれかの事前定義ロールを設定できます。ユーザー作成時に ロール ドロップダウンから選択してください。

  • 管理者(Administrator)

    クライアント管理、システム設定、APIキー、ユーザー管理を含むすべての EMQX 機能とリソースを完全に管理できます。

  • 閲覧者(Viewer)

    すべての EMQX データと設定にアクセスでき、REST API のすべての GET リクエストに相当します。ただし、データの作成、変更、削除はできません。

ログインユーザースコープ

EMQX 5.10 以降、ダッシュボードのログインユーザーに対して、役割内でアクセス可能な API の範囲をさらに制限するスコープを割り当てられます。10 個の API キースコープ に加え、ダッシュボードユーザー専用の4つの追加スコープがあります(ブラウザセッションにのみ適用):

スコープ必要なロール用途
user_management管理者ダッシュボードユーザーの管理(作成/更新/削除)。
sso_management管理者SSO バックエンドおよび SSO ユーザーレコードの管理。
api_key_management管理者API キーの管理。
mfa_managementどのロールでも可自身の MFA 管理。管理者は他ユーザーの MFA も管理可能。

このうち user_managementsso_managementapi_key_management は管理者ロールが必要で、閲覧者には割り当てられません。例外は mfa_management で、閲覧者も保持可能ですが、自身の MFA 管理に限定され、他ユーザーの MFA 設定にはアクセスできません。これにより、閲覧者アカウントが追加権限なしに自身の認証デバイスを再登録または回復できます。

ユーザー作成・編集時の スコープ フィールドは任意です。空欄の場合、ロールに基づくデフォルトスコープセットが割り当てられます。

  • 管理者:上記4つのログイン専用スコープを含むすべてのスコープ。
  • 閲覧者:一般的な API キースコープすべて。mfa_management は明示的に割り当てた場合のみ付与。

user_scopes

広範囲スコープは管理者相当として扱うこと

以下のスコープは本質的に広範囲であり、他のスコープが割り当てられていなくても管理者権限を実質的に付与します:

  • system は設定管理(/configs*, /data/* など)をカバーし、保持者は任意の設定サブツリーを更新したり、ユーザーや API キー情報を含むバックアップを復元可能です。
  • user_management は他のダッシュボードユーザーを任意のスコープセットで作成・変更できます。
  • api_key_management は任意のスコープセットの API キーを作成・変更できます。

これらのスコープを制限付きスコープリストと同時にユーザーに付与しても制限は確実に適用されません。設定変更、バックアップインポート、新規アカウントやキーのプロビジョニングにより制限を回避可能です。これら3つのスコープは完全に信頼できるユーザーにのみ付与し、必要なスコープだけを割り当ててください。

ロール変更とスコープの互換性

ユーザーのロールを変更する際、EMQX は現在のスコープが新しいロールと互換性があるかをチェックします。互換性がない場合、HTTP 400 エラーでリクエストが拒否されます。解決するには、新しいロールに有効なスコープリストを同時にリクエストに含めてください。

例として、管理者を閲覧者に降格する場合、そのユーザーが user_managementsso_managementapi_key_management を保持していると拒否されます。これらは管理者ロールが必要なためです。閲覧者に適合するスコープのみを含むリストを指定して変更を完了してください。(mfa_management は管理者専用ではないため拒否の対象外です。)

デフォルト管理者保護

dashboard.default_username アカウント(dashboard.default_password で設定されたパスワードで作成)は緊急用アカウントです。ほかの管理者が誤設定やアクセス不能になった場合でもシステム回復が可能なように、以下の保護が施されています。

  • ダッシュボードや REST API から削除できません。削除ボタンは無効化されています。
  • ロールを administrator 以外に変更できません
  • スコープセットはカスタマイズ不可で、常に完全な管理者スコープを保持します。
  • 説明やパスワードは通常通り編集可能です。

他の管理者は影響を受けず、システム内に最低1人の管理者がいれば削除可能です。

セルフサービスの範囲

すべてのダッシュボードユーザーは、スコープに関係なく以下のセルフサービス操作を行えます。

  • 自身のパスワード変更。
  • 自身の TOTP / MFA の登録または再登録。MFA の無効化も可能ですが、管理者が MFA を必須に設定している場合は mfa_management スコープが必要です。

その他のプロフィール更新(説明、ロール、管理者によるスコープ割り当て)は、操作ユーザーに適切なスコープが必要であり、対象が自身であっても例外はありません。

ネームスペースロール

EMQX 6.0 以降、ダッシュボードはネームスペース対応ロールをサポートしています。この機能はロールベースアクセス制御を拡張し、マルチテナンシーを実現します。ユーザーは特定のネームスペース内でのみ操作を制限できます。

信頼できるデプロイメントのみ対象

ネームスペース管理者アクセスは、組織内のチームや事業部門を分離し、誤操作によるクロスチーム設定変更リスクを減らすための信頼できる内部デプロイメント向けです。強力な分離保証を提供せず、公開または信頼できないマルチテナント環境のセキュリティ境界としては不適切です。

委譲管理者にネームスペーススコープのリソース管理を許可する場合、管理 > クラスター設定 > ルールエンジンセキュリティ で SSRF 保護を有効にし、ルールエンジン管理のアウトバウンドターゲットを検証してください。ランタイムのネットワーク制御には iptablesnftables などのホストレベルのイグレス制御を追加してください。詳細は ルールエンジンポリシーとファイアウォールルールによる SSRF 緩和 を参照してください。

TIP

ネームスペースの詳細は Namespace をご覧ください。

ネームスペースロール付きユーザーの作成

ダッシュボードで新規ユーザー作成時に ネームスペース オプションが表示されます。

前提条件

  1. ダッシュボードで管理対象ネームスペース(例:namespace_01)を作成してください。手順は ネームスペースの作成 を参照。
  2. EMQX ライセンスおよびクラスターが EMQX 6.0 以降で稼働していることを確認してください。
  1. システム -> ユーザー に移動し、+ 作成 をクリック。
  2. 必須項目を入力:
    • ユーザー名:ユーザーの一意識別子。
    • メモ:任意の説明。
    • パスワード:ログインパスワード。
    • ロール管理者 または 閲覧者 を選択。
  3. ネームスペース オプションを有効にし、既存のネームスペース(例:namespace_01)を選択。
  4. 作成 をクリックして完了。

CLI や API でユーザーを作成する場合、ロールは以下の形式で明示的に指定する必要があります。

ns:<NAMESPACE>::<ROLE>

例:

  • ns:namespace_01::administrator
  • ns:namespace_01::viewer

ネームスペースユーザーの動作

  • スコープ付きリソース:ネームスペースユーザーは割り当てられたネームスペース内のコネクター、アクション、ソース、ルールなどのリソースのみ閲覧・管理可能です。
  • クラスター全体設定:まだネームスペース対応していない設定は読み取り専用で、グローバル管理者のみ変更可能です。
  • メッセージコンテンツ関連エンドポイントの制限:MQTT メッセージの生データにアクセス・操作する一部の REST API エンドポイントはネームスペースユーザーには利用不可で 403 Forbidden を返します。これらはグローバル管理者のみアクセス可能です。
    • Mqueue メッセージ:GET /clients/:clientid/mqueue_messages
    • Inflight メッセージ:GET /clients/:clientid/inflight_messages
    • Retained メッセージ:GET /mqtt/retainer/messages, GET /mqtt/retainer/message/:topic, DELETE /mqtt/retainer/message/:topic, DELETE /mqtt/retainer/messages
    • Delayed メッセージ:GET /mqtt/delayed/messages, GET /mqtt/delayed/messages/:node/:msgid, DELETE /mqtt/delayed/messages/:node/:msgid, DELETE /mqtt/delayed/messages/:topic
  • トレースのスコーピング:トレースエンドポイントにアクセスすると、ネームスペースユーザーは自身のネームスペースに属するトレースのみ閲覧可能です。異なるネームスペースのトレースを停止、ダウンロード、ログストリーム、削除しようとすると 404 Not Found を返し、存在情報は漏れません。全トレース一括削除エンドポイント(DELETE /trace)はネームスペースユーザーには 403 Forbidden で、グローバル管理者のみ実行可能です。
  • デフォルトのランディングページ:ネームスペースユーザーは通常通りダッシュボードにログインし、概要 ページが表示されます。メニューはすべて表示されますが、リソースデータは自動的にネームスペースでフィルタリングされます。
  • ライセンス管理:ネームスペースユーザーはライセンス通知を表示しません。ライセンス管理はシステム管理者の責任です。

ネームスペース内のロールの意味

  • 管理者:割り当てられたネームスペース内のリソースを作成、更新、削除、閲覧できます。
  • 閲覧者:割り当てられたネームスペース内のリソースを読み取り専用でアクセスできます(GET リクエスト相当)。

監査ログ

監査ログ ページでは、管理者が EMQX クラスター内の重要な運用変更をリアルタイムで監視するための監査ログ設定を行えます。

監査ログ機能の詳細は 監査ログ をご覧ください。

API キー

API キー ページでは、HTTP API へのアクセス用 API キーの作成・管理が可能です。ロールやスコープの割り当てを含む API キーの作成・管理手順は API キーの作成 を参照してください。

ライセンス

左側の システム メニューから ライセンス をクリックすると、ライセンスページにアクセスできます。このページでは現在のライセンスの基本情報(接続クォータの使用状況、EMQX バージョン、顧客情報、発行情報など)を確認できます。

ライセンス更新 をクリックしてライセンスキーをアップロードします。ライセンス設定 セクションでは、接続クォータ使用率の高水準および低水準の閾値を設定可能です。ライセンスの詳細は EMQX Enterprise ライセンスの利用 をご覧ください。

SSO

SSO ページでは、管理者がユーザーログイン管理のための SSO 機能を設定できます。SSO 機能の詳細は シングルサインオン(SSO) を参照してください。

バックアップと復元

バックアップと復元 ページでは、運用データおよび設定ファイルのバックアップ設定を行えます。このページでデータのインポート・エクスポート操作が可能です。バックアップと復元機能の詳細は バックアップと復元 をご覧ください。

設定

設定にアクセスするには、ダッシュボード右上の歯車アイコンをクリックしてください。

設定 メニューでは、ダッシュボードの言語やテーマをカスタマイズできます。

  • 言語:表示言語を選択します。
  • テーマ:ライトテーマとダークテーマを選択するか、OS のテーマ設定に自動同期を有効にできます。同期を有効にするとテーマは OS 設定に従い、手動選択は無効化されます。

さらに、設定メニューには ルール ページの AI SQL ジェネレーター 機能の有効・無効切り替えトグルがあります。

設定画面