ロールとアクセス制御¶
TrustMintは**ヘッドレスバックエンドサービス**です — 独自のUIを持ちません。複数のフロントエンドアプリと外部パートナーシステムが利用するREST API(api.flexgalaxy.com/licensing/v1/...)を提供します。起動時に、Keycloak Admin API(スコープとOIDCクライアントの作成)およびDotID Authorization Service API(アクション名前空間とマネージドポリシーの登録)を呼び出してDotIDに自己登録します。
このドキュメントでは、ロールモデル、権限バウンダリー、承認ワークフローの委任、およびTrustMint APIを利用するフロントエンドアプリについて説明します。
ロール¶
ロール |
責任 |
アクセス方法 |
|---|---|---|
**デバイスメーカー** |
デバイスのプロビジョニング、プラットフォームへの登録、デバイスインベントリの管理 |
ThingHub ( |
承認ワークフローをインターセプトしてOFFICIALライセンスリクエストのレビューと承認を行います |
パートナーが構築した外部アプリ、FlexGalaxy APIを利用 |
|
**ライセンス発行者** |
オンデマンドでソフトウェアライセンスを発行し、プラットフォームレベルでデバイス登録を管理します |
FlexGalaxy.AIプラットフォーム(TrustMintサービス自体) |
単一のアカウントがデバイスメーカーとライセンスマネージャーの**両方のロールを保持できます**。
ライセンスマネージャーロールは**オプション**です — TrustMintのWebhookをサブスクライブし、承認ワークフローに介入する外部パートナー(例: WHITE)です。ライセンスマネージャーがいない場合、プラットフォームが承認を直接処理します(下記の 承認ワークフローの委任 を参照)。
権限バウンダリーモデル¶
TrustMintは自動プロビジョニングされた権限バウンダリーを使用します。アカウントがTrustMintにサブスクライブしてロールを宣言すると、プラットフォームが自動的に適切な権限バウンダリーを割り当てます — 一般的なケースでは手動セットアップは不要です。
Account subscribes to TrustMint
│
├── Declares role: Device Manufacturer
│ └── Auto-assign: devices.read, devices.write, events.read, certificates.read
│
├── Declares role: License Manager
│ └── Auto-assign: approvals.read, approvals.write, devices.read, licenses.read
│
└── Declares both roles
└── Auto-assign: union of both permission sets
権限バウンダリーはDotIDのポリシーベースアクセス制御モデルにマッピングされます — 各ロール宣言が対応するマネージドポリシーセットの割り当てをトリガーします。RBACエンティティは不要です。「ロール」はどのポリシーが適用されるかを決定するラベルにすぎません。
プラットフォーム管理者はエッジケースに対してSuperCrew (stargate.flexgalaxy.com/supercrew) を通じて権限バウンダリーを手動でオーバーライドできます。
IAMの分離¶
TrustMintはIDおよびアクセス管理を処理**しません**:
アクセスキーとシークレットキー**はユーザーが**AdminCenter (
console.flexgalaxy.com/admincenter/) のサービスユーザーページを通じてセルフサービスで作成・管理します。**認証**はKeycloak(DotID)が処理します — TrustMintは純粋なOAuth2 Resource Serverです。
Authorization policies are managed centrally by the platform IAM service.
この分離により、IAMの関心事はDotIDに集約され、TrustMintはライセンスライフサイクル管理のみに集中できます。
承認ワークフローの委任¶
ライセンス承認ワークフローは**設定可能な委任**をサポートしています。ライセンスマネージャーロールはオプションの仲介者です — プラットフォームはライセンスマネージャーの有無に関わらず動作します。
シナリオ |
TRIALライセンス |
OFFICIALライセンス |
|---|---|---|
**ライセンスマネージャー未設定** |
自動承認(プラットフォームが自動発行) |
自動承認またはプラットフォーム管理者がBoardingPassでレビュー |
自動承認(プラットフォームが自動発行) |
Webhook → パートナーの外部アプリ → APIによる決定コールバック |
ライセンスマネージャーパートナーがアカウントにWebhookサブスクライバーを登録すると、license_upgrade.requested イベントを**インターセプト**し、決定をコールバックします。これは承認権限の委任です — パートナーはFlexGalaxy APIを使用して独自の承認UIを構築します。
Webhookサブスクライバーが登録されていない場合、プラットフォームが直接処理します:
TRIALリクエストは常に自動承認されます
OFFICIALリクエストは自動承認(アプレットトリアージカテゴリに基づく)されるか、BoardingPassでプラットフォーム管理者のレビュー待ちとなります
OFFICIAL license request arrives
│
├── Webhook subscriber registered?
│ │
│ ├── YES → Send license_upgrade.requested webhook
│ │ Partner reviews in their own app
│ │ Partner calls POST /.../decision
│ │
│ └── NO → Queue for platform admin
│ Admin reviews in BoardingPass
│ Admin approves/refuses
│
└── Decision received
├── APPROVE → Issue certificate + JWT, update subscription
└── REFUSE → Mark as refused
テナントおよびプラットフォームツール¶
ThingHub¶
- URL:
console.flexgalaxy.com/thinghub/- KCクライアント:
thinghub- 対象ユーザー:
デバイスメーカー、ライセンスマネージャー
ThingHubはデバイスライフサイクル全体 — 登録、ライセンス、ソフトウェアアップデート — のための統合テナントアプリです。これらの密結合された関心事をタブベースナビゲーションの単一アプリに統合しています。
タブ:
**デバイス** — 登録(単体およびバッチ)、ステータスとメタデータ付きデバイスインベントリ、登録履歴とプロビジョニングイベント。デバイスの登録によりTrustMintで自動TRIALライセンス発行がトリガーされます。
**ライセンス** — 発行済みのすべてのライセンス(TRIAL、OFFICIAL)のステータスと有効期限の表示、ライセンスアップグレード(TRIALからOFFICIAL)のリクエスト、承認ステータス(PENDING、APPROVED、REFUSED)の追跡、証明書とトークンの詳細。
アップデート(OTA) — ソフトウェアアップデート管理、ロールアウトステータス、アップデート履歴。
登録フロー:
Manufacturer enrolls device in ThingHub (Devices tab)
│
├── TrustMint creates device record
├── Auto-issues TRIAL license (X.509 cert + JWT token)
├── Records issuance in license ledger
├── Sends device.provisioned webhook (if subscriber registered)
│
└── Manufacturer views license in ThingHub (Licenses tab)
BoardingPass¶
- URL:
stargate.flexgalaxy.com/boardingpass- KCクライアント:
``boardingpass``(マスターレルム)
- 対象ユーザー:
プラットフォーム管理者
BoardingPassはプラットフォーム管理者のライセンスの世界への窓です。すべてのライセンス操作へのアカウント横断的な可視性を提供し、外部ライセンスマネージャーが設定されていない場合のフォールバック承認UIとして機能します。
主な機能:
ライセンス発行分析(タイプ別、アカウント別、時系列)
全アカウントのデバイス登録統計
使用傾向とキャパシティプランニング
OFFICIALライセンスのフォールバック承認ワークフロー(Webhookサブスクライバーがない場合)
プラットフォーム全体のライセンス監査証跡
BoardingPassはSuperCrewとは別です。SuperCrewはIAM管理に焦点を当て、BoardingPassはライセンス運用に焦点を当てています。
DeckLoader¶
- URL:
stargate.flexgalaxy.com/deckloader- KCクライアント:
``deckloader``(マスターレルム)
- 対象ユーザー:
プラットフォーム管理者
DeckLoaderは全アカウントのデバイス管理を行うプラットフォーム管理者ツールです。ThingHubがテナントに自身のデバイスのビューを提供する一方、DeckLoaderはプラットフォーム全体の可視性と制御を提供します。
主な機能:
アカウント横断デバイスインベントリと検索
全テナントのデバイスステータスモニタリング
プラットフォーム全体の登録統計
デバイスライフサイクル管理(一時停止、取り消し、移管)
ツールサマリー¶
ツール |
ゲートウェイ |
対象ユーザー |
責任 |
|---|---|---|---|
ThingHub |
Console |
テナント |
デバイスライフサイクル: 登録、ライセンス、OTAアップデート |
AdminCenter |
Console |
テナント |
IAMセルフサービス: ユーザー、グループ、ポリシー、アクセスキー |
DeckLoader |
StarGate |
プラットフォーム管理者 |
全アカウントのプラットフォーム全体のデバイス管理 |
BoardingPass |
StarGate |
プラットフォーム管理者 |
ライセンス分析、フォールバック承認、監査 |
SuperCrew |
StarGate |
プラットフォーム管理者 |
IAMプラットフォーム管理、権限バウンダリーのオーバーライド |