この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】モジュールのインストール、ユーザー作成と権限の設定

2016年9月29日(木)
ANNAI株式会社

ユーザーの追加と権限の設定

Drupalではサイト内で誰が、何をできるかを非常に細かくコントロールすることができます。例えば、誰がコンテンツを閲覧、作成、公開、できるのかをGUI上から設定が可能です。これらの権限設定はWordPressなど他のCMSでも可能ですが、Drupalは特に優れた権限設定機能を標準で実装しています。権限設定機能はViews、多言語機能、統一されたコンテンツ・Entity定義と並ぶ、Drupalを代表する強みです。ここでは、新規にユーザーを追加して、ユーザーにロール(役割)を割り当て、権限の設定を追加します。

ユーザーとロールと権限の関係

Drupalではユーザーに直接権限を付与するのではなく、ユーザーに役割(ロール)を与え、その役割に権限を付与することで権限を付与します。以下の概念図を用いて詳しく説明していきます。

image alt text

ここでは、「ユーザー管理者」、「新着情報管理者」、「製品紹介管理者」の3つのロール(役割)を仮定します。

概念図において、3つの円が各ロールを示しています。各ロールの持つ権限を以下に示します。

ロール名称 各ロールの持つ権限の説明
ユーザー管理者 ユーザーを追加、削除する権限を持つ
新着情報管理者 「新着情報」コンテンツを作成、編集、削除する権限を持つ。
製品紹介管理者 「製品紹介」コンテンツを作成、編集、削除する権限を持つ。

例えば、Aさん、Bさん、Cさんの3人はそれぞれ一つのロール(役割)を保有しているので、単純にそれぞれのロールに応じた権限を持ちます。

では、Dさん、Eさん、Fさんはどうでしょうか? 3人ともロールを示す円が2つ重なっている部分に属しています。つまり、3人はそれぞれ、2つのロールを保有していることを意味します。

例えば、Dさんは「ユーザー管理者」と「新着情報管理者」のロールを保有しているので、これら二つのロールが保有する権限を持ちます。つまり、ユーザーの追加、削除、「新着情報」コンテンツの作成、編集、削除権限を持っています。

Gさんは3つの円が重なる部分に属しています。これは、「ユーザー管理者」、「新着情報管理者」、「製品紹介管理者」の3つのロールを保有していることを意味します。そのため、Gさんはこれら3つのロールの権限をすべて持っていることになります。

これらを表にまとめると、以下のようになります。このようにDrupalでは一人のユーザーが複数のロールを持つことができることを覚えておいてください。閲覧権限(コンテンツタイプ毎やノード毎など)に関してはコアのみでは設定できず、拡張モジュールを利用するか、コードによるカスタマイズを行う必要があります。

ユーザー名 ロール(役割) ユーザー管理 「新着情報」コンテンツ 「製品紹介」コンテンツ
追加 削除 作成 編集 削除 作成 編集 削除
Aさん ユーザー管理者 × × × × × ×
Bさん 新着情報管理者 × × × × ×
Cさん 製品紹介管理者 × × × × ×
Dさん ユーザー管理者 新着情報管理者 × × ×
Eさん ユーザー管理者 製品紹介管理者 × × ×
Fさん 新着情報管理者 製品紹介管理者 × ×
Gさん ユーザー管理者 新着情報管理者 製品紹介管理者

これから設定するユーザーと権限設定の説明

ここでは、実際にユーザーを作成して権限設定を行っていきます。以下の概念図のように、「ユーザー管理者」、「新着情報管理者」、「新着情報管理者」ロールを作成して、3名のユーザーにロールを与えて権限を設定します。

image alt text

ユーザー名 ロール(役割) ユーザー管理 「新着情報」コンテンツ 「製品紹介」コンテンツ
追加 削除 作成 編集 削除 作成 編集 削除
新着太郎 新着情報管理者 × × × × ×
製品花子 製品紹介管理者 × × × × ×
西都管理 ユーザー管理者 新着情報管理者 製品紹介管理者

3人のロールと権限をまとめると以下のようになります。実際のサイト上で、実際にこの権限設定がサイト上でどのように運用されるのでしょうか。コンテンツ作成、ユーザー登録・削除の2点からみると以下の通りになります。この流れ前提として設定を行います。

コンテンツの管理

1.「新着太郎」と「西都管理」さんが「新着情報」コンテンツの、作成、編集、削除を行うことができる。

2.「製品花子」と「西都管理」さんが「製品紹介」コンテンツの、作成、編集、削除を行うことができる。

ユーザー登録・削除

ユーザーの追加権限を持つ「西都管理」さんのみがユーザー登録と削除を行うことができる。

役割を追加する

最初に「役割」を追加します。

1.管理者メニューの「ユーザー」をクリックします。「ユーザー」画面上部の「役割」タブをクリックします。

image alt text


2.「役割」画面です。「役割の追加」ボタンをクリックします。

image alt text


3.「役割の追加」画面です。「役割名」に「ユーザー管理者」、「システム内部名称」に「user_admin」と入力して「保存」ボタンをクリックします。

image alt text


4.「役割」画面に遷移します。役割の一覧に「ユーザー管理者」が追加されています。image alt text

他の2つの「役割」、「新着情報管理者」と「製品紹介管理者」についても同様に作成します。


以下のように3つの「役割」が作成されているのを確認します。

image alt text


ユーザーの作成と役割の付与

次にユーザーを作成します。

1.管理者メニューの「ユーザー」をクリックします。「ユーザー」画面の「ユーザーを追加」ボタンをクリックします。

image alt text


2.「ユーザーを追加」画面です。「メールアドレス」に任意のメールアドレス、「ユーザー名」に「西都管理」、「パスワード」に任意のパスワードを入力します。「状態」は「アクティブ」にチェックが入った状態のままにします。

「西都管理」さんには「ユーザー管理者」、「新着情報管理者」、「製品紹介管理者」の3つの役割を保有させるので、「役割」の「ユーザー管理者」、「新着情報管理者」、「製品紹介管理者」チェックボックスにチェックを入れて、「アカウントの作成」ボタンをクリックします。

image alt text


3.管理者メニューの「ユーザー」をクリックして、「ユーザー」画面に戻り、ユーザーの一覧を確認します。

ユーザーに「西都管理」さんが作成されています。「西都管理」さんの「役割」を確認します。

先ほど設定したように、「ユーザー管理者」、「新着情報管理者」、「製品紹介管理者」の3つのロールが設定されています。

image alt text


4.同様に他の2人のユーザー、「新着太郎」さんと、「製品花子」さんも追加します。「ユーザーを追加」画面の「役割」で「新着太郎」さんは「新着情報管理者」に、「製品花子」さんは「製品紹介管理者」にチェックをそれぞれ入れてユーザーを作成します。以下のように3名のユーザーが作成され、それぞれに正しく「役割」が与えられていることを確認します。これでユーザーの作成と「役割」の付与は完了しました。image alt text

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています