ユーザー管理 & 4層RBAC権限モデル(プライマリグループによる部署別 IP 採番)
AegisMesh では、最小特権の原則(Least Privilege) に基づき、管理コンソールおよび API の操作権限を厳密に制御するための 4層ロールベースアクセス制御(RBAC) を採用しています。
さらに、最新アップデートにより、ユーザー招待時やアカウント設定で 「Primary Group(主所属部署)」 を指定可能になりました。これにより、社員が IdP SSO ログインした際、所属する部署の専用 IP レンジ(例: dev-team $\rightarrow$ 100.77.20.0/24)から動的に仮想 IP アドレスが採番され、次回以降も同一 IP が継続維持される 「Sticky IP 保証」 を提供します。
1. 4層RBACロールの権限マトリクス
AegisMesh は、プラットフォーム運用元からエンドユーザーまでを4つのロールで明確に分離します。
flowchart TD
SA["SuperAdmin<br>(草クラウド基盤管理者)"]
RA["ResaleAdmin<br>(販売代理店・MSP管理者)"]
TA["TenantAdmin<br>(企業組織の情シス担当者)"]
U["User<br>(一般従業員・エンドユーザー)"]
SA -->|全テナント発行・インフラ監視| RA
RA -->|リセラーモード・配下組織ドリルダウン| TA
TA -->|アクセスポリシー・端末承認・グループ管理| U
| 機能 / 操作項目 | SuperAdmin | ResaleAdmin | TenantAdmin | User (一般社員) |
|---|---|---|---|---|
| 全体インフラ管理 (Signal/Relay/Caddy) | ✅ フル権限 | ❌ 不可 | ❌ 不可 | ❌ 不可 |
| 新規テナント発行 / 削除 | ✅ 可能 | ✅ 配下のみ | ❌ 不可 | ❌ 不可 |
| リセラーモード (テナントドリルダウン) | ✅ 全テナント | ✅ 配下のみ | ❌ 不可 | ❌ 不可 |
| 契約端末クォータ (Quota) 変更 | ✅ 可能 | ✅ 配下のみ | ❌ 不可 | ❌ 不可 |
| 自テナント内のピア (Peers) 承認・削除 | ✅ 可能 | ✅ 代理操作 | ✅ 可能 | ❌ 自身のみ |
| アクセスポリシー (ACL) の作成・更新 | ✅ 可能 | ✅ 代理操作 | ✅ 可能 | ❌ 不可 |
| 社内UTM連携 / Exit Node 強制化 | ✅ 可能 | ✅ 代理操作 | ✅ 可能 | ❌ 不可 |
| セットアップキーの発行・失効 | ✅ 可能 | ✅ 代理操作 | ✅ 可能 | ❌ 不可 |
| ユーザー招待 / ロール変更 | ✅ 可能 | ✅ 配下組織 | ✅ 自組織のみ | ❌ 不可 |
| 監査ログ (Audit Events) の閲覧 | ✅ 全件閲覧 | ✅ 配下組織分 | ✅ 自組織分 | ❌ 不可 |
| クライアントアプリからのトンネル接続 | ✅ 可能 | ✅ 可能 | ✅ 可能 | ✅ 自身の端末 |
2. ★ プライマリグループ (Primary Group) と動的部署 IP 割り当て
AegisMesh では、複数のグループ(例: All, employees, dev-team, sre-lead)に所属する社員に対し、どの部署の IP アドレスを優先して採番するか を「Primary Group」として一意に定義できます。
sequenceDiagram
autonumber
participant User as 社員 (Alice / 開発部)
participant Client as AegisMesh クライアント
participant Server as AegisMesh 管理サーバー
participant IPAM as IPAM エンジン
participant UTM as 社内 UTM (Sophos XGS)
Note over User,UTM: 【Primary Group: dev-team (100.77.20.0/24)】
User->>Client: トレイアプリから社用 SSO ログイン (Google / Entra ID)
Client->>Server: 認証トークン送信
Server->>Server: ユーザーの PrimaryGroupID (dev-team) を照合
Server->>IPAM: dev-team 予約 CIDR (100.77.20.0/24) から採番要求
IPAM-->>Server: 固定部署IP (100.77.20.15) 払い出し & Sticky IP 保存
Server-->>Client: ネットワーク設定配信 (UserIP = 100.77.20.15)
Client->>UTM: RAW IP (100.77.20.15) でパケット送出
UTM->>UTM: 「開発部向け Web フィルタ規則」を即座に適用 (GitHub/AWS 許可)
エンタープライズ導入メリット
- IP アドレスと所属部署の完全一致: IP アドレスを見るだけで「どの部署の誰の端末か」が特定できるため、社内 UTM の Web フィルタリング設定や SIEM ログ監査の運用工数が大幅に削減されます。
- Sticky IP(固定 IP)の保証:
一度払い出された部署 IP は
peer.UserIPとして固定され、PC を再起動したり拠点を移動(自宅 $\leftrightarrow$ 出張先)しても同一の IP アドレスが継続利用されます。 - マシントンネルとの二重 IP 管理:
未ログオン時は端末の
MachineIP(マシントンネル用)、社員ログイン時は部署のUserIPへシームレスに昇格し、ログアウト時には再びMachineIPへ安全にフォールバックします。
3. 手順: 新規メンバーの招待(Invite User)
管理画面から新しいメンバーを招待し、Primary Group を紐付ける手順です。
- 管理コンソール(
https://app.aegismesh.kusa-cloud.com)にTenantAdminまたはOwnerでログインします。 - 左メニューから 「Team」>「Users」 を開きます。
- 右上の 「+ Invite User」 ボタンをクリックします。
招待モーダル入力項目マトリクス
| 項目名 | 設定例 | 必須 | 説明と推奨設定 |
|---|---|---|---|
| User Email | [email protected] | 必須 | 招待状送付先となる社用メールアドレスを入力します。 |
| Role | User または TenantAdmin | 必須 | 一般社員には原則 User を指定します。情シス管理者には TenantAdmin を指定します。 |
| Auto-assign Groups | employees, dev-team | 必須 | ユーザーが所属する全グループを選択します(複数指定可)。 |
| Primary Group (主所属) | dev-team | 推奨 | [最優先部署IP設定] 複数グループ所属時、SSOログイン時の部署専用IPアドレス(UserIP)の採番基準となる主所属部署を設定します。 |
- 入力内容を確認し、「Send Invitation」 をクリックします。
4. 既存ユーザーの Primary Group 変更手順
人事異動や部署異動が発生した場合の手順です。
- 「Users」 画面から対象ユーザーの行をクリックします。
- ユーザー詳細ドロワー内の 「Primary Group」 ドロップダウンから、新しい所属部署(例:
sales-dept)を選択します。 - 「Save Changes」 をクリックします。
- 次回の SSO ログイン時に、新しい部署の予約 CIDR から自動的に新 IP が採番されます(旧 IP は安全に解放・回収されます)。