今回はMagentoの管理者権限機能について説明したいと思います。

一人あるいは数人程度でECサイトを運用している場合、管理者権限はそこまで気にならないかもしれません。制限することによる弊害のほうが運用においては大きいでしょう。
ところがある程度の規模の組織の場合は、職務分掌や一部業務の外注化によって、管理ユーザーに対して開示する情報を制限しなければならないケースがでてきます。そうなると管理者権限は運用に即した形で随時調整できなければなりません。Magentoには管理者権限を定義し、各管理ユーザーに割り当てる機能が備わっています。

Magentoの管理者権限の仕組み

Magentoの管理者権限は、「リソース」という単位で管理されています。リソースは画面にアクセスする権限だけでなく、処理を実行する権限も含んでいて、複数の階層からなる構造で定義されています。

例えば注文管理機能の場合は、次図のように5階層構造になっています。

注文管理機能では操作レベルまで権限の付与ができますが、請求書や出荷伝票、クレジットメモにおいては細かい操作に関する権限は定義されていません。このようにどのレベルまで細かく権限を定義するかはモジュールの開発者の裁量に委ねられています。全く権限を定義していないモジュールもあるでしょうし、1つ1つのアクションにまでリソースを定義しているモジュールもあるでしょう。こういった権限設定の細かさを事前にしることは難しいので、実際に検証用の環境にインストールして確認するか、開発元に問い合わせるのが良いでしょう。

権限同士の関連性

時折、権限同士に関連性がある場合があります。たとえば顧客管理機能とニュースレター購読者管理機能には関連性があります。顧客管理機能だけの権限を作成した場合、ニュースレター関係の機能やデータにはアクセスする権限が与えられません。そのような権限をもつ管理者が顧客情報を編集すると、ニュースレター購読情報に予想しない影響が及ぶことがあります。
(実際に購読状態が解除された事件が過去にありました)

できれば権限を定義する際は、テスト環境などで一度事前に同じものを作成し、影響がないかを確認してから本番サイトにも設定をするほうが良いでしょう。

管理者権限の作成方法

管理者権限を作成するには、Magentoの管理画面にログインします。この時ログインする管理者ユーザーには管理者権限を編集できる権限が必要です。権限がない場合は機能にアクセス出来ないので注意してください。

権限一覧を開く

管理画面にログインし、「システム>権限」にアクセスします。

Magento上に既に定義されている管理者権限の一覧が表示されます。標準では「Administrators」が1つだけ定義されています。

今回は新しく定義をしてみましょう。権限を新しく作成する場合は、「権限の追加」ボタンをクリックします。

権限の作成画面が表示されるので、権限の名前と現在ログイン中の管理者ユーザーのパスワードを入力します。

次に「権限リソース」タブをクリックして、権限を割り当てます。次図のように権限がツリー状に表示されます。

すべての権限を与えたい場合は、「リソースアクセス」を「カスタム」から「全て」にします。そうでない場合は、ツリーの中から必要な権限にチェックを付けていきます。
選び終わったら保存しておきます。

管理者に権限を割り当てるには

次に作成した権限を管理者に割り当ててみます。権限は管理者1人に対し、1つ割り当てることができます。

定義済みの管理者の一覧を表示させるには、「システム>すべてのユーザー」にアクセスします。Magento上に定義されているユーザーの一覧が表示されます。

今回は新規に管理者を作成して権限を割り当てます。定義済ユーザーの場合も割り当て方自体は同じなので、適宜読み替えてください。

管理者の作成

管理者を作成する場合は、管理者一覧の右上にある「新しいユーザーを追加」をクリックします。管理者作成画面が表示されるので、必要な情報を入力していきます。

管理者権限は、「ユーザー権限」のタブに表示されるので、どれか一つを選びます。

あとは保存すれば出来上がりです。

注意事項

管理者権限を定義するときは、管理者自身のマイページにアクセスできる権限を最低でも与えてください。うっかり権限リソースを選ばずに権限を保存してしまった場合、その権限が他の管理者に割り当てられていると、最悪管理画面にログインできなくなったり、パスワードが変更できなくなったりします。特に、リソースアクセスが「全て」になっていた権限を「カスタム」に変更する際は注意が必要です。

ウェブサイトやストアビュー別に権限を割り当てたい場合は

Magento Open Source(旧Magento Community Edition)には、ウェブサイトやストアビュー別に管理者権限を設定することができません。ウェブサイトやストアビュー単位で管理者権限を割り当てたい場合は、サードパーティ製の拡張モジュール(エクステンション)を使用する必要があります。Magento Commerce(旧Magento Enterprise Edition)では標準機能として用意されています。カスタマイズは不要です。部門別にサイトを定義し、それぞれに権限を割り当てたいというような運用の場合は、Magento Commerceを選ぶほうが良いかもしれません。

まとめ

Magentoの管理者権限機能を使うことで、管理者に許可する操作を指定することができます。システム管理担当は全てにアクセス可能だけれども、日常業務を行う担当は、業務に必要な範囲だけ権限を付与されたアカウントを使用すると行ったことが可能です。

ぜひ上手に活用し、複数人での円滑なサイト運営を行ってください。