第 6 章:ユーザーと権限
チームでのコラボレーションでは、各メンバーの責務と権限を明確にすることで、スムーズな業務推進が可能になります。この章では、ロールの作成と権限管理を一緒に学び、コラボレーションをよりスムーズで秩序あるものにします。
心配しないでください。このプロセスは複雑ではありません。各重要なポイントでガイドしながら、一歩ずつ進めていきます。問題が発生した場合は、いつでも公式フォーラムでサポートを受けてください。
要件の検討:
「パートナー」(Partner)ロールが必要です。このロールはタスク管理に一定の権限で参加できますが、他のメンバーのタスクを自由に変更することはできません。これにより、柔軟なタスク割り当てとコラボレーションが可能になります。
ロールと権限の紹介: ロールと権限は、ユーザーのアクセスと操作を管理する重要な仕組みで、システムのセキュリティとデータの整合性を確保します。ロールはユーザーにバインドでき、1 人のユーザーが複数のロールを持つことができます。ロールの権限を設定することで、ユーザーがシステム内で行える操作やページ機能の表示制限などを制御でき、重要な権限管理の意味を持ちます。 ロールと権限機能を使ってユーザーにバインドすることで、管理システムをより適切にコントロールできるようになります。管理者として、誰がどのようなシステム操作権限を持つかを自在に調整できます!
6.1 ロールの作成とバインド
6.1.1 「パートナー(Partner)」ロールの作成
- インターフェース右上の「ユーザーと権限」をクリックし、「ロールと権限」を選択します。ここがロールの設定と権限管理を行う場所です。
- 「ロールを作成」ボタンをクリックすると、ダイアログが表示されます。ロール名をパートナー(Partner)として、保存を確認します。

新しいロールの作成に成功しました!次に、このロールに権限を割り当てて、タスク管理に参加できるようにします。
6.1.2 自分に新しいロールをバインドする
設定したロール権限が正しく機能するかを確認するために、まず自分のアカウントにこのロールをバインドしてテストしましょう。操作はとても簡単です。
- ユーザー管理で自分のアカウントを見つけ、クリックして「ロールをバインド」から「パートナー」を選択します。

これで自分のアカウントで「パートナー」ロールの体験をシミュレーションできます。次に、ロールの切り替え方法を見てみましょう。
6.1.3 「パートナー」ロールに切り替える
「パートナー」ロールがバインドされました。次に、ロールの切り替え方法を確認しましょう。
- 右上の個人センターをクリックし、「ロールを切り替え」を選択します。
- 一覧に「パートナー」ロールがまだ表示されていない場合がありますが、心配ありません。ページ/キャッシュを更新するとロールが表示されます!

6.2 ロールにページ権限を割り当てる
「パートナー」ロールに切り替えると、ページもメニューも何も表示されないことに気づくかもしれません。これは、このロールに特定のページへのアクセス権限をまだ割り当てていないためです。大丈夫です。次に「パートナー」ロールにアクセス権限を設定しましょう。
6.2.1 「パートナー」ロールにタスクページの権限を 割り当てる
- まず、Root ロール(スーパー管理者)に切り替え、「ロールと権限」ページに入ります。
- 「パートナー」ロールをクリックして設定ページを開きます。ここに「メニュー」タブがあり、システム内のすべてのページが表示されます。
- 「タスク管理」ページ権限にチェックを入れると、「パートナー」ロールがタスク管理ページにアクセスできるようになります。
個人センターに戻り、再度「パートナー」ロールに切り替えると、タスク管理メニューページが表示されているはずです。

6.2.2 データテーブルと操作の権限を設定する
「パートナー」ロールがタスク管理ページにアクセスできるようになりましたが、操作権限をさらに制限する必要があります。「パートナー」には以下を許可したいと考えています。
- 自分に割り当てられたタスクの閲覧と編集
- タスク進捗の更新
- ただしタスクの作成や削除は不可
そのため、「タスクテーブル」の権限を設定する必要があります。続けましょう!
6.2.2.1 「パートナー」ロールにデータテーブル権限を設定する
- 「ロールと権限」ページで「パートナー」ロールをクリックし、「データソース」タブに切り替えます。
- 「データテーブル操作権限」の設定が表示されます。「タスクテーブル」を見つけ、「パートナー」に「閲覧」と「編集」の権限を割り当てます。
- なぜ編集権限を「すべてのデータ」に割り当てるのか? 一時的にパートナーに全データの編集権限を付与していますが、後ほど「タスク担当者」に基づいて動的にフィールド権限を制限します。 最初に最大の権限を保持しておくのは、後の制御をより柔軟にするためです。
- 「新規追加」「削除」は他のロールには開放したくないので、最初から割り当てる必要はありません。

ここまでで、パートナーロールにはすべてのタスクテーブルの閲覧と編集権限が付与されました。次に、さらに細かい制御を行い、自分に割り当てられたタスクのみ編集できるようにします。
6.3 タスクに「担当者」フィールドを追加する
次に、各タスクに担当者を指定します。担当者を指定することで、タスクの担当者のみがタスクを編集でき、他のメンバーは閲覧のみとなります。ここではリレーションフィールドを使って、タスクテーブルとユーザーテーブルを関連付 けます。
6.3.1 「担当者」フィールドの作成
- 「タスクテーブル」に入り、「フィールドを追加」をクリックして「リレーションフィールド」を選択します。
- 「多対一」関係を選択します(1 つのタスクには担当者が 1 人だけで、1 人のユーザーが複数のタスクを担当できるため)。
- フィールド名を「担当者(Assignee)」にします。逆方向リレーションのチェックは今回は不要です。

6.3.2 「担当者」フィールドを表示する
次に、タスク管理ページのテーブルとフォームに「担当者」フィールドが表示されるようにします。これで各タスクに簡単に担当者を割り当てられます。(フィールドがデフォルトで ID を表示している場合は、タイトルフィールドを ID から「ニックネーム」に変更してください。)

6.4 権限管理で権限を制御する
ここからが本題です!!NocoBase の権限管理を使って、非常に強力な機能を実装します。タスクの担当者と作成者のみがタスクを編集でき、他のメンバーは閲覧のみとなります。NocoBase の柔軟性がここで発揮されます。
6.4.1 シンプルな試み:担当者のみがフォームを編集できるようにする
タスクの担当者のみがタスクを編集できるようにしたいので、以下の条件を設定します。
- 「パートナー」のデータテーブル権限に戻り、タスクテーブルの「設定」をクリックし、「編集権限」の後の「データ範囲」をクリックします。
- 新しいカスタムルールを作成し、「担当者が編集可能」と名付けます。 「担当者/ID」が「現在のユーザー/ID」と等しい 場合のみ、編集を許可します。 つまり、タスクの担当者のみがタスクを編集でき、他のメンバーは閲覧のみとなります。
- 担当者フィールドにはユーザーテーブルを使用しており、ログインユーザーもユーザーテーブル内にあるため、このルールで最初の要件を完璧に実現できます。
「追加」をクリックし、「確定」をクリックします。

ページに戻って確認してみましょう。
パートナーロールに切り替えてページに戻ると、タスクの担当者が自分の場合のみ、編集操作が表示されます。

6.4.2 条件の追加:作成者もフォームを編集できるようにする
すぐに新たな問題に気づくかもしれません。
ほとんどのタスクで自分が担当者ではないため、自分でフォームを編集できず、他のメンバーもタスクの詳細を見られなくなっています!
大丈夫です。パートナーにすべてのデータの「閲覧」権限を割り当てたことを覚えていますか?
- ページに戻り、設定で「閲覧」をクリックして、新しい閲覧操作を追加します。

- 編集操作のポップアップレイアウトと同様に、閲覧用のポップアップを作成します。「詳細」ブロックを選択することを忘れないでください。


完了です!
6.5 権限制御の検証
異なるユーザーに切り替えてフォームを確認すると、フォームブロックでは対応するユーザーの権限に基づいて、異なる操作が自動的に表示されていることがわかります。自分が担当するすべてのタスクには編集操作が許可 され、担当していないプロジェクトには閲覧操作のみが表示されます。
Root ロールに切り替えると、すべての権限が回復します。これが NocoBase の権限制御の強力さです!
次に、タスクの担当者を自由に指名し、チームメイトを誘って一緒にコラボレーションしましょう。チームに新しいメンバーを追加して、設定した権限が正しく機能するかテストしてみましょう。
6.5.1 新しいユーザーを作成してロールを割り当てる
- 新しいユーザー(例:Tom)を作成し、「パートナー」ロールを割り当てます。


- タスク管理ページで、いくつかのタスクを Tom に割り当てます。
6.5.2 ログインテスト
Tom にシステムにログインしてもらい、割り当てられたタスクを正常に閲覧・編集できるか確認します。設定した権限ルールにより、Tom は自分が担当するタスクのみ編集でき、他のタスクは読み取り専用のはずです。
すべてのページの編集フォーム権限が正常に同期されました!

まとめ
おめでとうございます!ここまでで、NocoBase でロールの作成、権限の割り当て、カスタム権限の設定方法を学び、チームメンバーが自分に割り当てられたタスクのみを編集できるようにしました。これらのステップにより、チームコラボレーションのための明確で秩序ある権限管理システムが構築できました。
チャレンジ課題
ここまでで、Tom は自分が担当するタスクの閲覧と編集ができるようになりましたが、まだコメントを投稿できないことにお気づきかもしれません。タスクでのやり取りに参加できない状態です。では、Tom に自由に意見を投稿して議論に参加できるようにするには、どのように権限を割り当てればいいでしょうか?これはとても面白いチャレンジです!
チャレンジのヒント:
ロール権限設定に戻り、「パートナー」ロールの権限(例えばデータテーブル)を調整して、Tom がコメント権限を持ちつつ、他のタスクでの操作制限には影響しないようにする方法を考えてみてください。
早速試してみましょう!次のコンテンツで答え合わせをします。
次の章では、「メンバーの動態」機能も実装し、もう一つの強力な機能モジュール ワークフロー も紹介します。ワークフローを使えば、データの動的な流れやさまざまな操作のトリガーが可能になり 、煩雑なビジネスプロセスをシステムに自動処理させることができます。さらに探索する準備はできましたか?第 7 章:ワークフロー -- 自動化で効率を飛躍的に向上でお会いしましょう!
引き続き探索を楽しんで、創造力を発揮しましょう!問題が発生した場合は、いつでも NocoBase 公式ドキュメント を参照するか、NocoBase コミュニティ に参加してディスカッションできます。

