# サブアカウント管理

EMQXプラットフォームの**サブアカウント管理**機能は、企業が細かなマルチロール管理とアクセス制御を実現するための重要なコンポーネントです。この機能により、ユーザーはサブアカウントの作成・管理、異なる役割や権限の割り当てが可能となり、複雑なチームコラボレーションのニーズに対応し、リソースやデータの安全かつ効率的な活用を実現します。

本ページでは、サブアカウント管理機能の包括的なガイドを提供し、サブアカウントの作成、役割権限の割り当て、共通操作の管理方法について解説します。これにより、企業は効果的なユーザー管理を通じてコラボレーションとセキュリティを最大化できます。

## サブアカウントシステム

**サブアカウント**とは、EMQXプラットフォームのルートユーザー（または管理者アカウント）が作成・有効化する独立したアカウントです。各サブアカウントには、**管理者**、**プロジェクト管理者**、**プロジェクトユーザー**、**会計担当者**、**監査担当者**などの特定の役割が割り当てられ、それぞれに定義された権限範囲があります。これらの役割は、プロジェクトやデプロイメント管理、財務業務、監査など多様なシナリオをカバーしています。

役割ベースの権限システムにより、企業は特定の機能モジュールや操作をサブアカウントに割り当て、責任に基づいたプロジェクトやリソースの管理を容易にします。

また、プラットフォームはサブアカウント管理のための直感的なインターフェースを提供し、プロジェクトの認可、役割の変更、パスワード管理、アカウントの有効化・無効化を可能にしています。

::: tip

現在のサブアカウントシステム設計では、デフォルトプロジェクトをサブアカウントに割り当てることはできません。

:::

## 役割と権限

**管理者（Administrator）:** ルートユーザーと同等のプラットフォーム全権限を持ち、サブアカウントシステム内のスーパ管理者として機能します。管理者はメインアカウントと同様の機能を持ちますが、サブアカウント階層の一部です。

**プロジェクト管理者（Project Administrator）:** プロジェクトの閲覧・修正、デプロイメントの修正・削除権限を持ちます。主にプロジェクトのデプロイメント管理を目的としています。例えば、組織や部門が特定のプロジェクトクラスターを専属で管理する場合、指定された担当者をプロジェクト管理者として割り当て、許可されていないプロジェクトへのアクセスを制限できます。

**プロジェクトユーザー（Project User）:** プロジェクトの閲覧およびデプロイメントの閲覧・編集権限を持ちます。通常、プロジェクトやデプロイメントの閲覧に加え、デプロイメントの詳細確認、データ統合やモニタリング機能の利用、関連する業務ニーズへの対応が可能なビジネス担当者向けの役割です。

**会計担当者（Accountant）:** 財務管理権限を持ち、プロジェクトやデプロイメントの閲覧も可能です。財務担当者はプラットフォームアカウントの現在の請求状況を監視し、残高や請求書などの管理を行います。

**監査担当者（Auditor）:** プロジェクト、デプロイメント、サブユーザーおよび財務情報の閲覧が可能です。監査担当者は社内監査ニーズに対応し、プラットフォームの各種機能に対して読み取り専用アクセスを提供します。

## サブアカウントログイン

サブアカウントのログインは、ルートユーザーとは別の専用ログインページから行います。割り当てられたアカウント情報を入力すると、サブアカウントは割り当てられた役割に基づきリソースやプロジェクトにアクセスできます。

以下はサブアカウントのログイン画面です。

<img src="./_assets/login_1.png" alt="default_project" style="zoom:67%;" />

セキュリティ強化のため、EMQXプラットフォームはサブアカウントログインに「アカウントロック」機能を実装しています。

- 30分間に5回以上のログイン試行（成功・失敗問わず）があると、アカウントは一時的にロックされます。
- ロック後は30分間ログイン試行ができません。

## サブアカウントの作成と有効化

### サブアカウントの作成

サブアカウントはルートユーザーまたは管理者のみが作成可能です。

1. コンソールの上部メニューから**サブアカウント**をクリックします。
2. **+ サブアカウント作成**をクリックし、必要事項を入力します：
   - **サブアカウント**：招待するユーザーのメールアドレスを入力します。
   - **パスワード**：パスワードを設定します（後で管理者またはサブアカウント自身が変更可能）。
   - **役割**：1つ以上の役割を割り当てます。
   - **備考**：任意の追加情報を入力できます。
3. **確定**をクリックして作成を完了します。

<img src="./_assets/create_subaccount.png" alt="create_subaccount" style="zoom:67%;" />

### アカウントの有効化

サブアカウントはメール認証後に有効化が必要です。招待されたユーザーは有効化メールを受け取り、メール内のリンクをクリックしてアカウントを認証・有効化します。

招待メールには初回有効化・ログイン用のアドレスと、以降の通常ログイン用のアドレスの2つが記載されています。初期パスワードはサブアカウントを作成したユーザー（ルートユーザーまたは管理者）が設定します。

::: warning 注意

招待メールの有効化リンクは1時間の有効期限があります。指定時間内にログイン認証を完了してください。

:::

<img src="./_assets/activate_account.png" alt="activate_account" style="zoom:67%;" />

> 画像の最初のリンクは初回有効化・ログイン用、2つ目のリンクは以降の通常ログイン用です。混同しないようご注意ください。

サブアカウントがログインすると、ルートユーザーまたは管理者が設定した役割権限に従ってプラットフォームを管理できます。特定のプロジェクトへのアクセスが必要な場合は、ルートユーザーまたは管理者にお問い合わせください。

## サブアカウントの管理

ユーザー管理機能は、フル操作権限を持つ管理者とユーザー一覧を閲覧できる監査担当者の2種類のサブアカウント役割にのみ提供されます。

ユーザー管理ページの上部には、サブアカウント専用のログインアドレスが表示されます。ログインアドレスを忘れたメンバーに送信可能です。

![default_project](./_assets/userpage_url.png)

プロジェクトリストには現在のサブアカウント情報が表示されます。サブアカウントはメール認証を完了して初めて有効化されます。プロジェクト管理者またはプロジェクトユーザーの役割で新規ユーザーを作成する際には、そのユーザーにプロジェクトを認可するかどうかの確認が表示されます。認可しなければ、ログイン後にプロジェクトやデプロイメントへのアクセス権はありません。

![authorize_subaccount](./_assets/authorize_subaccount.png)

プロジェクト認可操作はアカウント視点で変更可能で、現在の役割に特定のプロジェクトを紐付けます。なお、役割が会計担当者、監査担当者、管理者のみの場合は、プロジェクト認可機能はグレーアウトします。管理者はすべてのプロジェクト権限にデフォルトでアクセスでき、会計・監査役割はすべてのプロジェクトに対して読み取り専用アクセスがデフォルトで付与されているためです。

アカウントがプロジェクト管理者とプロジェクトユーザーの両方の役割を持つ場合は、役割を切り替えて認可管理を行ってください。

<img src="./_assets/default_project.png" alt="default_project" style="zoom: 60%;" />

### その他の操作オプション

その他の操作では、サブアカウントに対する追加のアクションが可能です。

**パスワード変更**：ルートユーザーまたは管理者がサブアカウントのパスワードを変更できます。

<img src="./_assets/change_password.png" alt="change_password" style="zoom: 50%;" />

**役割変更**：サブアカウントの役割を変更または追加できます。

<img src="./_assets/change_roles.png" alt="change_roles" style="zoom:50%;" />

**無効化／有効化**：サブアカウントを無効化すると、再度有効化されるまでログインできなくなります。

役割が無効化されると、プロジェクトへの紐付けができず、プロジェクトセンターの紐付けプロジェクト一覧にも表示されません。

**削除**：アカウントの削除は取り消し不可です。

## 役割権限マトリックス

ユーザー管理機能は、企業の役割ベース管理ニーズに対応する詳細な権限マトリックスを提供します。各役割には特定の操作およびプロジェクト権限が割り当てられています。

**注**：<code>✓</code>（許可）、<code>✗</code>（拒否）、読み取り専用（閲覧のみ）

<table>
   <tr>
      <th colspan="2">権限</th>
      <th>プロジェクト管理者</th>
      <th>プロジェクトユーザー</th>
      <th>会計担当者</th>
      <th>監査担当者</th>
   </tr>
   <tr>
      <td rowspan="22">デプロイメント</td>
      <td>デプロイメント一覧の閲覧</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
  <tr>
    <td>デプロイメント詳細の閲覧（デプロイメント内の全機能）</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
    <td>新規デプロイメントの作成</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>デプロイメントの他プロジェクトへの移動</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>デプロイメントの開始／停止</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>デプロイメントの削除</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>デプロイメント名の変更</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>デプロイメントのティア変更</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>Serverlessの支出上限変更</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>BYOCライセンスの更新</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>ポート管理</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>TLS/SSL設定</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>デプロイメントAPIキー</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>VPC/PrivateLink設定</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>NATゲートウェイ／内部エンドポイント設定</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>アクセス制御設定</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td>モニタリング管理</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>データ統合設定</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
    <td>クラスター連携設定（専用）</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td>ゲートウェイ設定（専用）</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td>ログ</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>オンラインテスト</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
  <tr>
      <td rowspan="4">Smart Data Hub（専用）</td>
      <td>サブスクライブ／サブスクライブ解除</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td>スキーマレジストリ</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td>スキーマ検証</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td>メッセージ変換</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>読み取り専用</td>
      <td>読み取り専用</td>
   </tr>
   <tr>
      <td rowspan="2">サブアカウント</td>
      <td>サブアカウント一覧の閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>サブアカウント操作</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td rowspan="5">プロジェクト管理</td>
      <td>プロジェクト一覧の閲覧</td>
      <td>&#10003（認可されたプロジェクトのみ）</td>
      <td>&#10003（認可されたプロジェクトのみ）</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
    <td>新規プロジェクトの作成</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
    <td>プロジェクトの削除</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td>プロジェクト名および備考の編集</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td>プロジェクトへのサブアカウント紐付け</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td rowspan="8">請求</td>
      <td>請求概要</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>支払い情報の変更</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td>請求書ページの閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>サービス別課金ページの閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>クーポンの閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>請求書の閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>請求書のダウンロード</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td>サブスクリプション更新</td>
      <td>&#10003</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td colspan="2">監査ログ</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td rowspan="2">プラットフォームAPIキー</td>
      <td>プラットフォームAPIキーの閲覧</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10003</td>
   </tr>
   <tr>
      <td>プラットフォームAPIキーの管理</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
      <td>&#10007</td>
   </tr>
   <tr>
      <td colspan="2">チケット</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
      <td>&#10003</td>
   </tr>
</table>
