User Role Editor の代替:乗り換え前に確認したい5つの問い
権限管理プラグインの代替を探している人は、たいてい不具合に遭遇したのではなく、抜け穴に気づいたのです。クライアントに関係のないメニュー項目が見えている。保護したはずの投稿が、やはりどこかに表示されている。あるいは、誰がいつどの権限を得たのか、もうわからなくなっている。5つの問いで、これを整理します。
問い1:管理画面の外でもルールは有効か?
これが最も重要な問いで、自分で1分で答えられます。特定のロールだけが見られるように投稿を保護します。ログアウトします。その投稿に含まれる単語を付けて /wp-json/wp/v2/posts?search= にアクセスします。
レスポンスにその内容が含まれていれば、あなたのルールは表示を変えているだけです。WordPress の REST API は初期状態でアクセス可能で、管理画面の投稿一覧とはコードの別の箇所に問い合わせます。Kakapo Roles は表示ルールをそこでも明示的に適用します。だからこそ、このテストは権限管理プラグインを評価する最も手早い方法なのです。
乗り換える前に、今使っているプラグインでもこのテストを行ってください。抜け穴が別の場所にあることもあります。たとえば、独自のエンドポイントからコンテンツを配信するページビルダーです。
問い2:自分で自分の権限を増やせるか?
管理画面にアクセスできる人なら誰でも自分のロールを格上げできる権限管理プラグインは、その目的を自ら損なっています。WordPress にはそのためのチェック機構 get_editable_roles() があり、誰がどのロールを編集できるかを決めています。代替ツールに問うべきは、あらゆる箇所でそれが守られているか?です。
マルチサイトのネットワークでは、もう1つ境界が加わります。そこではロールの一部がネットワーク全体で共有されています。サブサイトからそれを上書きすると、ネットワーク内のすべてのサイトで変更されます。自分の管理下にないサイトも含めてです。
問い3:管理画面を整理できるか?
権限が示すのは、その人が「何をしてよいか」です。クライアントにとって同じくらい重要なのは、「何が見えるか」です。12個のメニュー項目のうち10個がロックされている編集者の管理画面は、安全なのではなく、わかりにくいだけです。
そのため、代替ツールがロールと権限の先まで対応しているかを確認してください。ロールごとの管理メニュー、メディアライブラリの自分のファイルへの限定、ウィジェットとナビゲーションメニュー、許可するショートコード、ログイン後のリダイレクトです。Kakapo Roles はこれらを標準で備えています。この種のプラグインの多くでは、個別の拡張機能やコードスニペットで対応します。
問い4:何が変更されたかを後から確認できるか?
権限を変更する機会は少なく、たいていは時間に追われています。半年後に、なぜそのロールにその操作が許されているのかという問いが持ち上がります。変更履歴がなければ、答えは推測にすぎません。
代替ツールに問うべきは、変更履歴があるか、そしてそこに「誰が」「いつ」「どの」権限を得たか、または失ったかが記録されているか、です。Kakapo Roles は変更履歴を備え、割り当てや移行を通じて行われた変更も記録します。
問い5:サイトごとに作り直す必要があるか?
複数のインストールを管理していると、同じ権限の構成を何度も作ることになり、そのたびに少しずつ違ってしまいます。1年後には、5つのサイトが5つの特殊ケースになっています。そのため、構成をエクスポートして読み込めるか、そして読み込み時に既存のロールがどうなるか(追加か、置換か)を確認してください。
Kakapo Roles はその両方に対応し、読み込む前に、2つのうちどちらの方法が選ばれているかを示します。「置換」(ドイツ語:„Ersetzen“)のほうが危険なため、明示的に確認する必要があります。
チェックリストのまとめ
| 基準 | 重要な理由 | Kakapo Roles の場合 |
|---|---|---|
| REST API での効果 | そうでなければ、ルールは表示を保護するだけ | 明示的に適用 |
| 権限昇格の防止 | そうでなければ、プラグインが自らの意味を失う | get_editable_roles に準拠、ネットワークでも |
| 管理画面の整理 | クライアントには関係のあるものだけを見せる | 管理メニュー、メディアライブラリ、ウィジェット、ナビゲーションメニュー、ショートコード |
| ロールごとのログイン後のリダイレクト | クライアントが作業する画面に直接移動 | 標準搭載 |
| ロールのゴミ箱 | ロールを削除するとき、落ち着いて手を動かせることはめったにない | 復元可能 |
| 変更履歴 | 半年後に物を言うのは証跡 | 誰が、いつ、どの権限を |
| 他のサイトへの引き継ぎ | そうでなければ、サイトごとに特殊ケースになる | エクスポートとインポート、追加または置換 |
| 1つのライセンスで複数のサイト | 請求書は5枚ではなく1枚 | 9つのプラグイン、1つのログイン |
乗り換え前にやるべきこと
- 現状を記録します。どの独自ロールがあり、それぞれにどの権限が付いているかです。
- バックアップを作成します。権限はデータベースに保存されており、1つの誤操作がすべてのユーザーに同時に影響します。
- 新しいプラグインで構成を作り直し、1行ずつ比較します。
- ロールごとにテストユーザーでログインし、実際に何が見えるかを確認します。
- 問い1の REST テストを行います。
- 旧プラグインは削除せず、無効にしておきます。期間は2週間です。
権限管理プラグインを2つ同時に使うと、どちらも同じロールに書き込み、最後に保存した方が勝ちます。移行期間中は、どちらか一方でだけ変更してください。