ロール (Roles) は、会社の「組織図(階層構造)」を定義し、データの見える範囲(アクセス権)を制御する機能です。
Vtigerのセキュリティモデルにおいて、ロールは**「誰のデータが見えるか」**を決定します。基本原則として、「上位のロールは、直下およびその配下のロールが所有するデータをすべて閲覧・編集できる」というルールがあります。逆に、並列のロール(隣の部署)のデータは見えません。
目次
1. 主な特徴
- 階層構造の定義: 社長、部長、課長、担当者といった組織の上下関係を作成します。
- データ参照範囲の制御: 部下(下位ロール)のデータは上司(上位ロール)に自動的に共有されます。
- プロファイルの割り当て: そのロールに対して、どの操作権限(プロファイル)を適用するかを指定します。
- 組織変更への対応: ドラッグ&ドロップ(または移動機能)で、ロールの配置換えが可能です。
2. 設定画面へのアクセス
- 画面右上の 歯車アイコン(Settings) > CRM Settings をクリックします。
- User Management(ユーザー管理) > Roles(ロール) をクリックします。
3. 設定手順
ロールの管理画面は、ツリー形式(組織図)で表示されます。最初は「Organization(組織トップ)」というルートロールのみが存在します。
3.1. 新規ロールの追加 (Add Role)
組織図の下に新しい役職を追加していきます。
- 親となるロール(例:Organization)の上にマウスカーソルを乗せます。
- 右側に表示される + (Add Role) アイコンをクリックします。
- 以下の情報を入力します。
| 項目名 | 説明 |
| Role Name | ロールの名前を入力します。(例:営業部長、大阪支店長) |
| Reports to | 直属の上司にあたるロールを選択します。(追加ボタンを押した場所が自動選択されています) |
| Privileges | Assign privileges directly to Role: このロール専用の権限セットをここで定義します。 Assign privileges from existing profiles: 既存の「プロファイル(推奨)」を選択して割り当てます。(例:Manager Profile) |
- Save をクリックします。
3.2. ロールの編集・移動・削除
ロール名の横にあるツールバーで操作します。
- 編集 (Edit): ロール名や割り当てるプロファイルを変更します。
- 移動 (Move): 組織改編などで、別の親ロールの下へ移動させます。
- 削除 (Delete): ロールを削除します。
- ※削除する際、そのロールに属していたユーザーを、どのロールに移動させるか指定する必要があります。
4. データ共有の仕組み(重要)
ロールを設定する際、以下のルールを理解しておくことが重要です。
- 上への共有: 下位ロール(部下)が作成したデータは、上位ロール(上司)から常に見えます。
- 横への非共有: 別の枝に属するロール(隣の部署)のデータは、基本的には見えません。
- 共有設定の変更: もし「隣の部署のデータも見せたい」場合は、別途「Sharing Rules(共有ルール)」の設定が必要です。
5. 活用事例(レシピ)
事例1: 一般的な営業組織
- 構成:
- Sales Manager (営業部長)
- Sales Team A (Aチーム長)
- Sales Rep (担当者)
- Sales Team A (Aチーム長)
- Sales Manager (営業部長)
- 効果: * 担当者は「自分の案件」しか見えません。
- Aチーム長は「チーム内の全案件」が見えます。
- 営業部長は「全部署の案件」が見えます。
事例2: 支店ごとの管理
- 構成:
- CEO
- Tokyo Branch Manager (東京支店長)
- Tokyo Staff
- Osaka Branch Manager (大阪支店長)
- Osaka Staff
- Tokyo Branch Manager (東京支店長)
- CEO
- 効果: 東京のスタッフは大阪の顧客データを見られず、逆もまた然りです。CEOは両方を見ることができます。
6. 機能イメージ図(ポンチ絵)
ロールによる「階層構造」と「データの可視範囲(見える・見えない)」の関係を図解しました。
graph TD
TOP("👑 CEO (社長)<br>【全データ閲覧可能】")
subgraph DEPT_A ["営業部"]
MGR_A("👤 営業部長<br>【部下のデータが見える】")
STAFF_A1("😃 営業担当A")
STAFF_A2("😃 営業担当B")
end
subgraph DEPT_B ["経理部"]
MGR_B("👤 経理部長")
STAFF_B1("😃 経理担当C")
end
TOP --> MGR_A
TOP --> MGR_B
MGR_A --> STAFF_A1
MGR_A --> STAFF_A2
MGR_B --> STAFF_B1
MGR_A -.-x|❌ 見えない| MGR_B
STAFF_A1 -.-x|❌ 見えない| STAFF_A2
style TOP fill:#fff9c4,stroke:#fbc02d,stroke-width:3px
style MGR_A fill:#e3f2fd,stroke:#1565c0
style MGR_B fill:#e3f2fd,stroke:#1565c0
style STAFF_A1 fill:#ffffff,stroke:#333
style STAFF_A2 fill:#ffffff,stroke:#333
style STAFF_B1 fill:#ffffff,stroke:#333