Mjolnir Botを使用したMatrixルームモデレーションの設定方法

Mjolnirは、共有禁止ポリシーの適用、メッセージの編集、保護されたルームの監視、個人アカウントを使用せずにモデレーターが操作できるMatrixモデレーションボットです。安全な設定には、ボットの実行場所、ボットへのコマンド発行権限を持つユーザー、各保護ルームでのボットの権限という3つの決定事項があります。コントロールルームは非公開にし、保護対象とするルームのみを保護し、インシデント発生時にボットを使用する前に権限を確認してください。

このガイドは、2026年10月6日に確認されたMjolnirのセットアップおよびモデレーターに関するドキュメントとMatrixコミュニティのモデレーションに関するガイダンスに準拠しています。プロジェクトのリリースページには、レビュー時点での最新リリースとしてv1.12.1が記載されています。コンテナタグやサポートされるオプションは変更される可能性があるため、インストール時には必ずリリースページと設定サンプルを再度確認してください。

MjolnirはあなたのMatrixコミュニティにふさわしいでしょうか?

モデレーターが複数のルーム間でモデレーションルールを共有したり、共通のポリシーリストを購読したり、繰り返し行う操作を一貫して適用したりする必要がある場合は、Mjolnirを使用してください。ボットが実行できる操作は、依然としてMatrixルームの権限によって決まります。Mjolnirは、ルームに参加しただけで権限を取得するわけではありません。通常の小規模ルームのモデレーションには、ルームに組み込まれているツールで十分な場合があります。Mjolnirは、同じコミュニティが複数のルームを運営している場合や、管理された共有ワークフローが必要な場合に最も役立ちます。

ルームのモデレーションとホームサーバーの管理は、それぞれ独立した権限です。Mjolnirは、適切なルーム権限があれば、ルームレベルの禁止措置や編集を行うことができます。ユーザーの無効化、エイリアスの移動、ルームのシャットダウンなど、サーバー全体に影響を与えるようなコマンドを実行するには、MjolnirがSynapseサーバー管理者である必要があります。モデレーターがこれらの操作を行う特別な理由がない限り、ホームサーバーの管理者権限を付与しないでください。

インストール前に準備すべきことは何ですか?

  • ボット専用の Matrix ホームサーバー アカウント (例: @mjolnir:example.org)。
  • 権限を与えられたモデレーターがコマンドを発行したり、ステータスメッセージを受信したりできる、プライベートな管理室。
  • Mjolnirの設定と状態を保存するための永続的なディレクトリまたはボリューム。
  • 暗号化ルームに関する計画。現在のMjolnirの設定ではネイティブ暗号化がサポートされています。また、設定ではPantalaimonが別の非推奨オプションとして記載されています。両方のパスを同時に有効にしないでください。
  • 混雑した本番環境のルームを保護する前に、招待、権限、リストの動作などを確認できるテストルームです。

Mjolnirはどのようにインストールするのですか?

アップストリームプロジェクトでは、Dockerとセルフビルドのインストールについて説明しています。コンテナを既に実行しているほとんどの管理者にとって、Docker Composeは、対話型ターミナルを開いたままにすることなくボットを再起動したりログを表示したりできるため便利です。プロジェクトのDockerセットアップ手順に従い、フローティングタグに無期限に依存するのではなく、レビュー済みのリリースを本番環境に固定してくださいlatest。公式イメージは ですmatrixdotorg/mjolnir。

コンテナを起動する前に設定を準備してください。Dockerの公式ガイドでは、設定は永続的なデータディレクトリ()に配置することを推奨していますconfig/production.yaml。このディレクトリは、管理者と必要なサービスのみが読み取り可能な状態にしてください。ファイルにはアクセストークンやその他のログイン認証情報が含まれている可能性があります。公開リポジトリにコミットしたり、サポートルームに貼り付けたり、ログに含めたりしないでください。

オプション名の真の情報源としては、プロジェクトの現在のデフォルト設定(コメント付き)を使用してください。最低限、ホームサーバーの URL と管理ルームを設定し、選択したデプロイメントの認証と暗号化を構成してください。トークンベースの設定を使用する場合は、トークンをパスワードのように扱ってください。アップストリームの設定ガイドでは、Element の別のブラウザプロファイルからボットとしてログインし、[設定]、[ヘルプと概要]、[アクセストークン] セクションを開くことでトークンを取得できると説明しています。その後ログアウトするとトークンが無効になる可能性があるため、ログアウトしないように警告しています。代わりに、そのブラウザプロファイルを閉じてください。暗号化された管理ルームの場合は、そこでコマンドを使用する前に、Mjolnir の暗号化サポートを有効にしてテストしてください。

# Illustrative values only; use the exact keys and authentication method
# from the current upstream configuration sample. Never share real secrets.
homeserverUrl: https://matrix.example.org
managementRoom: '!privateRoomId:example.org'
accessToken: '[STORE A SECRET HERE, NOT IN PUBLIC]'

この抜粋は完全な設定ではありません。特に、暗号化とログインの設定は、ネイティブ暗号化を使用するか、オプションのPantalaimonパスを使用するかによって異なります。古いブログファイルやcomposeファイルをコピーするのではなく、最新のサンプルを参照してください。Mjolnirのセットアップガイドでは、応答遅延を減らすために、ボットをホームサーバーのネットワークに近い場所に配置することも推奨しています。

管理室のセキュリティをどのように確保すべきでしょうか?

信頼できるモデレーター用のルームを作成し、ボット アカウントを招待して、ルームをモデレーション チームに非公開にします。ルーム ID またはエイリアスは に入力しますmanagementRoom。現在の設定では、このルームはコマンドの発信元として説明されており、そこにコマンドを送信できる人は誰でも Mjolnir を制御できると警告されています。コマンドごとのより詳細なアクセス制御レイヤーは提供されていません。そのため、メンバーシップのレビューが不可欠です。以前のモデレーターは速やかに削除し、ボットの制御ルームを一般的なコミュニティ チャットとして使用しないでください。

管理ルームには暗号化を推奨します。暗号化する場合は、Mjolnirが設定された暗号化方式でメッセージを読み取り、応答できることを確認してください。暗号化されたルームに参加しているものの、イベントを復号できないボットは、コマンドを無視しながらオンライン状態を維持する場合があります。この問題を診断するには、まずルームの暗号化を無効にするのではなく、上流の暗号化設定とログを使用してください。

ミョルニルはどのような権限を与えられるべきか?

ボットを保護対象の各ルームに招待し、期待するモデレーションアクションを実行できるだけのルーム権限を付与してください。Matrixは、ルーム権限レベルを使用して、BAN、キック、他のユーザーのイベントの編集、ルーム状態の変更などの操作を実行します。必要な値は、ルームの権限レベルイベントによって定義されます。BAN、キック、編集のMatrixのデフォルト値は、指定がない場合は通常50ですが、個々のルームで変更できます。

Matrixのコミュニティガイドラインでは、Mjolnirの一般的な設定としてパワーレベル100が挙げられており、これによりモデレーションの決定を強制的に実行できるようになります。しかし、このレベルは強力です。Mjolnirアカウントを制御できる人は誰でも、保護されたルームで事実上その権限を持つことができ、ボットが事実上の所有者になる可能性もあります。各ルームのパワーレベルを確認し、ボットに必要なアクションを許可しつつ、不要な権限を制限するレベルを選択してください。通常のルームモデレーションのために、ホームサーバー管理者権限を付与しないでください。

Elementでは、ルームのメンバーパネルからボットを招待するか、`<invitation>`などの招待コマンドを入力して招待できます/invite @mjolnir:example.org。ボットが参加したら、ルームのメンバーリストでボットの役割を調整します。保護するすべてのルームに対してこの手順を繰り返します。Mjolnirは、参加していないルームを保護できません。これは、Matrixの分散型ルームごとの権限モデルによるものです。

禁止リストを作成したり、保護された部屋を追加したりするにはどうすればよいですか?

ボットが起動し、管理ルームにステータスを投稿したら、そこにポリシーリストを作成します。Mjolnirの上流クイックスタートでは、次の例を使用しています。

!mjolnir list create COC code-of-conduct-ban-list
!mjolnir default COC
!mjolnir rooms add #community:example.org
!mjolnir verify
!mjolnir status

最初のコマンドは、ショートコードを使用して禁止リストルームを作成しますCOC。作成者は招待され、その表示を管理できます。2 番目のコマンドは、そのリストを後続のモデレーション コマンドのデフォルトとして選択します。3 番目のコマンドは、ルームを Mjolnir の保護ルーム セットに追加します。検証コマンドは、ボットが保護ルーム全体で必要な権限を持っているかどうかを確認し、ステータスは、ボットが期待どおりに動作していることを確認するのに役立ちます。 を使用すると、!mjolnir helpインストールされているバージョンで使用できるコマンド構文を確認できます。

ポリシーリストに内部メモが含まれている場合や、チーム内でのみ使用する場合は、非公開にしてください。他のコミュニティにルールを発見して購読してもらいたい場合にのみ、公開してください。Mjolnirのルールはリスト間で加算されるため、監視リストを使用する前に内容を確認してください。重複するルールを別のリストから削除しても、あるリストがユーザーやサーバーに引き続き一致する場合があります。

実際のインシデントで使用する前に、どのようなテストを行うべきですか?

  • ボットが設定済みの管理ルームに起動メッセージとステータスメッセージを投稿することを確認してください。
  • !mjolnir verifyテストルームに招待し、選択した役割を付与した後、実行してください。
  • 実行して!mjolnir rooms、目的の部屋が表示され、無関係な部屋が含まれていないことを確認してください。
  • !mjolnir protections理解できる保護機能のみを確認し、有効にしてください。自動保護機能は、正当なユーザーにも影響を与える可能性があります。
  • チームの禁止、禁止解除、および編集手順を実際のメンバーに適用する前に、テストアカウントと使い捨てのルームを使用して、その手順を検証してください。
  • ボットがコマンドを見逃したり、権限不足を報告したりする場合は、コンテナのログとMjolnirの管理ルームメッセージを確認してください。

実際のコミュニティメンバーをBANしたり、稼働中のサーバーに対してワイルドカードを使用したりしてテストしないでください。ワイルドカードによるBANは多くのユーザーに影響を与える可能性があります。現在のデフォルト設定では、ワイルドカードによるBANには追加の確認フラグが必要です。自動保護を有効にする前にモデレーターガイドを読み、影響の大きいアクションを承認できる人物を文書化してください。

よくある設定ミスは何ですか?

  • 利便性のためにボットにサーバー管理者権限を与える:ルームレベルのモデレーションには通常、Synapse管理者権限ではなく、ルームの権限が必要です。
  • 管理室へのアクセスを広く開放する:コマンドを発行できるすべてのメンバーは、ボットのモデレーション制御を任されている。
  • 保護されたルームの権限を忘れる:ボットのパワーレベルが低すぎると、ボットがオンラインであっても、禁止や編集に失敗する可能性があります。
  • 暗号化を設定せずに暗号化されたルームを使用する場合:メンバーシップだけでは、ボットは暗号化されたコマンドを読み取ることができません。
  • 古い設定手順をコピーする場合: Mjolnirの設定と暗号化のサポートは進化しています。最新のデフォルトサンプルと設定ドキュメントを使用してください。
  • あるリストから削除するとすべての禁止措置が解除されると仮定しても、別の監視リストでは依然として同じルールが適用される可能性があります。

最新の情報はどこで確認できますか?

まずは、Mjolnirの公式セットアップガイド、モデレーターガイド、およびリリース履歴を参照してください。ルームの権限については、Matrixコミュニティモデレーションガイドと、ルームの電力レベルに関するMatrix仕様を参照してください。正確なインストールコマンドと暗号化設定は、ホームサーバー、コンテナの設定、およびMjolnirのリリースによって異なります。これらの公式ドキュメントの手順に変更があった場合は、そちらを優先してください。

コメントを残す

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudのデータベースインデックス不足警告を、公式のoccコマンドでクリアします。まずバックアップを作成し、変更内容をプレビューしてから修復を実行し、結果を確認してください。

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element Web 用の Keycloak SSO を設定するには、OIDC を Synapse に接続し、正確なコールバック URL を設定し、ユーザー クレームをマッピングし、ログアウトをテストします。

Zimbraの「LDAPサーバーが応答しません」起動エラーを修正する:実践的な復旧ガイド

Zimbraの「LDAPサーバーが応答しません」起動エラーを修正する:実践的な復旧ガイド

応答しないLDAPサーバーが原因で発生するZimbraの起動失敗を診断および修正する方法を学びましょう。これには、サービスチェック、DNS、ポート、証明書、LDAP URL、および復旧検証が含まれます。

ownCloud Infinite Scale 用の S3 オブジェクトストレージの設定方法

ownCloud Infinite Scale 用の S3 オブジェクトストレージの設定方法

ownCloud Infinite Scale向けに、s3ngドライバ、POSIXメタデータ、バケットポリシー、検証、および安全な本番環境チェックを使用して、S3互換のオブジェクトストレージを設定します。

Zimbraメールキューのバックログを修正する:Postfixを安全にフラッシュし、配信を確認する

Zimbraメールキューのバックログを修正する:Postfixを安全にフラッシュし、配信を確認する

Zimbra Postfixのバックログを検査する方法、延期されたメールと保留されたメールを識別する方法、安全なキューフラッシュを実行する方法、メッセージを削除せずに進捗状況を確認する方法を学びましょう。

Kopano Z-PushをActiveSyncモバイル同期用に設定する方法

Kopano Z-PushをActiveSyncモバイル同期用に設定する方法

Z-PushをKopanoと連携させて、ActiveSyncによるメール、連絡先、カレンダー、タスクの安全な同期を設定しましょう。バックエンドと展開方法を比較検討し、モバイル端末の設定を確認してください。

Jitsi Meetで「接続が切断されました」というエラーメッセージが表示される問題を修正する

Jitsi Meetで「接続が切断されました」というエラーメッセージが表示される問題を修正する

Jitsi Meetの接続切断に関するトラブルシューティングを、ブラウザ、モバイルデバイス、不安定なネットワーク、ファイアウォール、およびセルフホスト型サーバー向けの実用的なチェックリストで解説します。

Nextcloud Talkのビデオ通話品質とTURNサーバー接続を修正する

Nextcloud Talkのビデオ通話品質とTURNサーバー接続を修正する

Nextcloud Talkの通話品質のトラブルシューティング、coturnの設定、適切なポートの開放、ICE候補のテスト、TURNまたはHPBのどちらが適切な解決策であるかの判断を行います。

Nginxでカスタム要素Webクライアントをホストする方法

Nginxでカスタム要素Webクライアントをホストする方法

カスタムホームサーバー、HTTPS、キャッシュ、セキュリティヘッダーに加え、一般的なセットアップ上の問題に対する簡単なチェック機能を備えたElement WebをNginxにデプロイします。

BigBlueButtonプレゼンテーションアップロードエラー「サポートされていないファイルタイプ」を修正する

BigBlueButtonプレゼンテーションアップロードエラー「サポートされていないファイルタイプ」を修正する

BigBlueButtonの「サポートされていないファイル形式」表示エラーを修正するには、ファイル拡張子を確認し、実際のP​​DFをエクスポートし、別のファイルをテストし、管理者に連絡すべきタイミングを特定してください。