ロール (Roles) は、会社の「組織図(階層構造)」を定義し、データの見える範囲(アクセス権)を制御する機能です。

Vtigerのセキュリティモデルにおいて、ロールは**「誰のデータが見えるか」**を決定します。基本原則として、「上位のロールは、直下およびその配下のロールが所有するデータをすべて閲覧・編集できる」というルールがあります。逆に、並列のロール(隣の部署)のデータは見えません。

1. 主な特徴

  • 階層構造の定義: 社長、部長、課長、担当者といった組織の上下関係を作成します。
  • データ参照範囲の制御: 部下(下位ロール)のデータは上司(上位ロール)に自動的に共有されます。
  • プロファイルの割り当て: そのロールに対して、どの操作権限(プロファイル)を適用するかを指定します。
  • 組織変更への対応: ドラッグ&ドロップ(または移動機能)で、ロールの配置換えが可能です。

2. 設定画面へのアクセス

  1. 画面右上の 歯車アイコン(Settings) > CRM Settings をクリックします。
  2. User Management(ユーザー管理) > Roles(ロール) をクリックします。

3. 設定手順

ロールの管理画面は、ツリー形式(組織図)で表示されます。最初は「Organization(組織トップ)」というルートロールのみが存在します。

3.1. 新規ロールの追加 (Add Role)

組織図の下に新しい役職を追加していきます。

  1. 親となるロール(例:Organization)の上にマウスカーソルを乗せます。
  2. 右側に表示される + (Add Role) アイコンをクリックします。
  3. 以下の情報を入力します。
項目名説明
Role Nameロールの名前を入力します。(例:営業部長、大阪支店長)
Reports to直属の上司にあたるロールを選択します。(追加ボタンを押した場所が自動選択されています)
PrivilegesAssign privileges directly to Role: このロール専用の権限セットをここで定義します。
Assign privileges from existing profiles: 既存の「プロファイル(推奨)」を選択して割り当てます。(例:Manager Profile)
  1. Save をクリックします。

3.2. ロールの編集・移動・削除

ロール名の横にあるツールバーで操作します。

  • 編集 (Edit): ロール名や割り当てるプロファイルを変更します。
  • 移動 (Move): 組織改編などで、別の親ロールの下へ移動させます。
  • 削除 (Delete): ロールを削除します。
    • ※削除する際、そのロールに属していたユーザーを、どのロールに移動させるか指定する必要があります。

4. データ共有の仕組み(重要)

ロールを設定する際、以下のルールを理解しておくことが重要です。

  • 上への共有: 下位ロール(部下)が作成したデータは、上位ロール(上司)から常に見えます。
  • 横への非共有: 別の枝に属するロール(隣の部署)のデータは、基本的には見えません。
  • 共有設定の変更: もし「隣の部署のデータも見せたい」場合は、別途「Sharing Rules(共有ルール)」の設定が必要です。

5. 活用事例(レシピ)

事例1: 一般的な営業組織

  • 構成:
    • Sales Manager (営業部長)
      • Sales Team A (Aチーム長)
        • Sales Rep (担当者)
  • 効果: * 担当者は「自分の案件」しか見えません。
    • Aチーム長は「チーム内の全案件」が見えます。
    • 営業部長は「全部署の案件」が見えます。

事例2: 支店ごとの管理

  • 構成:
    • CEO
      • Tokyo Branch Manager (東京支店長)
        • Tokyo Staff
      • Osaka Branch Manager (大阪支店長)
        • Osaka Staff
  • 効果: 東京のスタッフは大阪の顧客データを見られず、逆もまた然りです。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