Discordサーバーでの最小権限とは、各ロールに、その役割に必要な権限だけを与えることです。チケットを管理できるサポートロールに、メンバーのBAN権限も必要はありません。認証ロールを付与するボットも、サーバーのすべてのロールより上に配置される必要はなく、付与するロールより上にあれば十分です。多くのサーバーは、次の2つのどちらかの方法でこれを誤ります。責任のある人全員に、簡単だからという理由で管理者権限を与えるか、誰にも何も与えず、オーナーがボトルネックになるかです。ここでは、管理者ロール、スタッフロール、ボットのロールの位置、信頼されたアカウントのリストが、Noxyrが実際に公開している設定の中でどう組み合わさるかを説明します。
2つの異なる問い:「誰がボットを設定できるか」と「誰がDiscordで管理コマンドを実行できるか」
これらは同じものではありません。両者を混同することが、最もよくある混乱の原因です。サーバーのWebダッシュボードを開くには、そのサーバーのオーナーであるか、管理者権限を持っている必要があります。これは、ページを読み込むたびに、キャッシュされた一覧ではなく、Discordに対してリアルタイムで確認されます。Discord内で管理のスラッシュコマンドを実行することは、別の設定可能な一覧です。ダッシュボードのセットアップページで選ぶ管理者アクセスロールです。Discordで/securityを実行できる管理者ロールの人が、ダッシュボードを開くことはできない、という状態もあり得ます。その逆もまた然りです。
- 管理者アクセスロール(セットアップページ):Discordが更新されたコマンドの権限の登録を完了すると、ボットの管理スラッシュコマンドを実行できる人を決めます。
- 予約されたスタッフロール(セットアップページ):サポートのワークフロー、チケットのルーティングなどのために保存されます。それ自体では、管理コマンドへのアクセス権は与えません。
- ダッシュボードへのアクセス:サーバーのオーナー、またはDiscordの管理者権限を持つ人です。ボット内で設定された管理者ロールだけでは、ダッシュボードは開けません。
スタッフには「管理者権限を与える」のが誤った初期値、ボットには正しい初期値である理由
人間のスタッフロールにとって、管理者権限はほぼ常に過剰です。チケットを扱うモデレーターは、チャンネルを削除する必要はありません。その能力を与えると、フィッシングの被害に遭ったアカウントや不注意なアカウントができることが広がるだけです。スタッフロールは、実際の仕事、つまりチケットへのアクセス、レビューのモデレーション、カタログの編集を中心に作ってください。完全な管理者権限は、もし明日そのアカウントが乗っ取られても、サーバー全体を任せられると思える人のために取っておいてください。
ボット自体は、管理者権限が実用的に意味を持つ唯一の場所です。Noxyrは、チケットのチャンネルを作成し、認証中にロールを管理し、アンチヌークのトリガーに対応し、機能が設定されたどのチャンネルにも投稿する必要があります。特殊な権限の上書きがあるチャンネルで、そのどれかが静かに失敗しないことを保証する最も簡単な方法が管理者権限です。特定の権限だけを与えたい場合は、Discordの権限リファレンスに、それぞれが何を対象とするかが正確に書かれています。最低限、ボットのセキュリティとモデレーション機能が動くには、ロールの管理、チャンネルの管理、メッセージの管理、メンバーのキック、メンバーのBAN、メンバーのタイムアウト、監査ログの表示が必要です。
ロールの階層:認証とアンチヌークを静かに壊す間違い
Discordは、このボットを含むどのボットに対しても、ボット自身の最上位のロールより上にあるロールの付与や削除を許しません。また、最上位のロールがボットより上にあるメンバーに対して操作することも許しません。これは、特に次の2か所で起きます。
- 認証:認証ロールが、サーバーのロール一覧でボットのロールより上にある場合、「認証」をクリックしても何も起きず、Discordは付与を静かに拒否します。ボットのロールを認証ロールより上に移動してください。
- アンチヌークとモデレーション:ボットは、最上位のロールがボットより上にあるアカウントを、タイムアウト、キック、BANできません。これは、特に乗っ取られた共同オーナーのアカウントで重要になります。まさにアンチヌークが想定しているシナリオです。実際に対応させたいアカウントに対して操作できる程度に、ボットのロールを高く保ってください。
ロールを並べ替えた後は、簡単に確認してください。サーバー設定 → ロールを開き、ボットのロールが、付与または操作する必要のあるものより、まだ上にあることを確認します。これは「なぜボットが何もしないのか」という問い合わせの中で、最も一般的なものです。しかも、Discordにはエラーが表示されません。操作が静かに失敗するだけです。
信頼されたロールとユーザー:アンチヌークに対する意図的な例外
アンチヌークは、設定された操作の上限を超えたアカウントを、タイムアウト、キック、またはBANします。ただし、サーバーごとに例外のリストが1つあります。信頼されたロールと信頼されたユーザーIDで、セキュリティページで設定します。チャンネルを大量に削除して作り直すことを正当に行う共同オーナーや、高い権限を持つ補助ボットを追加してください。率直なトレードオフがあります。信頼されたエントリーは、乗っ取られてもアンチヌークが止められないアカウントです。そのため、リストには、サーバーを丸ごと任せられると思える人だけを入れてください。検知の仕組みそのものについては、アンチヌークのガイドをご覧ください。
ほとんどのサーバーに適したロール構成
- オーナー:アンチヌークによって処分されることは決してなく、常にダッシュボードへのアクセス権があります。実在する1人のアカウントに限定し、2段階認証をオンにしてください。
- 共同オーナー/上級管理者:Discordでは管理者権限を持ち、ボットの管理者アクセスロールに追加し、大量のチャンネルやロールの作業を定期的に行う場合にのみ、アンチヌークの信頼リストに追加します。
- モデレーター/スタッフ:管理者権限ではなく、メンバーのキック、メッセージの管理、メンバーのタイムアウトに絞ったロールです。チケットのルーティング用に予約されたスタッフロールに追加し、
/securityや/moduleなどを実行すべき場合にのみ、管理者アクセスロールに追加します。 - 認証済みメンバー:認証パネルが付与するロールです。ボット自身のロールより下に配置してください。
よくある質問
Discordで誰かの管理者権限を外すと、ダッシュボードへのアクセスも削除されますか?はい、すぐに削除されます。ダッシュボードは毎回サーバーに対してリアルタイムで確認するため、Discordで取り消された権限は、次回のダッシュボードの読み込み時に反映されます。
私の管理者ロールでボットのスラッシュコマンドを実行できません。なぜですか?管理者ロールの一覧を変更した後、Discordが更新されたコマンドの権限を登録するまでに、少し時間がかかります。数分経っても失敗する場合は、ロールがセットアップページで実際に保存されたか、もう一度確認してください。
管理者ロールやスタッフロールを複数設定できますか?はい。どちらも複数選択可能です。サーバーの構造に合うだけ、ロールを選んでください。
アンチヌークで、ロールと特定のユーザーのどちらを信頼すべきですか?小さく安定したグループ(共同オーナーなど)にはロールを信頼させてください。特定のボットアカウントのような一度限りの例外には、個別のユーザーIDを信頼させてください。そうすれば、後からそのロールに昇格した人すべてを、誤って信頼してしまうことを避けられます。
サーバーが犯す最大の権限の間違いは何ですか?「念のため」と、すべてのスタッフに管理者権限を与えることです。それは安全の逆です。フィッシングされた1人のモデレーターのアカウントが、オーナーにできることを何でもできてしまうことを意味します。サーバーのヌークが対象とするすべてが含まれます。
管理者ロールとスタッフロールは、サーバーのダッシュボードのセットアップページで設定し、ロールの構成が正しくなったら、セキュリティの設定を見直してください。しきい値が守れるのは、その下にあるロールの階層が実際に健全なサーバーだけだからです。