DotID¶
プレーン: アイデンティティプレーン
目的¶
FlexGalaxy.AI プラットフォームのアイデンティティとアクセス管理。DotID はアイデンティティプレーン全体を包括する名称であり、認証(Keycloak)、きめ細かい認可、組織構造、クロスアカウントアクセス、および管理を包含する。AWS IAM および Organizations をモデルとしている。
サブシステム¶
DotID (umbrella)
├── Keycloak ─────────── OIDC provider, user federation, SSO
├── Authorization Service Fine-grained ABAC/RBAC policy evaluation
├── Org Service ──────── Account hierarchy, organizations, OUs
├── IAM Identity Center ─ Cross-account access, SSO delegation
└── StarGate ─────────── Admin web application
各サブシステムには独自のアーキテクチャドキュメントがある:
Keycloak(コア OIDC プロバイダー)¶
責務¶
ユーザー認証(ログイン、登録、パスワードリセット)
OAuth2 / OIDC トークン発行(アクセストークン、リフレッシュトークン、IDトークン)
クライアントの登録と管理
ユーザーフェデレーション(LDAP、ソーシャルプロバイダー)
多要素認証
セッション管理と SSO
メール検証と通信(本番環境では AWS SES 経由)
主要エンティティ¶
エンティティ |
説明 |
|---|---|
レルム |
|
ユーザー |
クレデンシャルを持つ人間またはサービスアカウント |
クライアント |
OIDC クライアント(SPA、サーバー、デバイス) |
役割 |
レルムレベルまたはクライアントレベルのアクセスロール |
グループ |
ユーザーの組織的グループ化 |
エンドポイント¶
エンドポイント |
説明 |
|---|---|
|
OIDC 発行者(Keycloak) |
|
OIDC ディスカバリー |
|
JWKS エンドポイント |
認証フロー¶
フロー |
ユースケース |
|---|---|
認可コード + PKCE |
SPA(AdminCenter、StarGate) |
クライアントクレデンシャル |
サービス間通信、デバイス M2M |
ダイレクトグラント |
インテグレーションテスト専用 |
実装¶
コンポーネント |
技術 |
デプロイ |
|---|---|---|
OIDC プロバイダー |
Keycloak 26 |
EKS(Kubernetes) |
認可サービス |
Java 21(Spring Boot) |
EKS(Kubernetes) |
データベース(Keycloak) |
PostgreSQL 15(RDS) |
AWS RDS |
データベース(AuthZ) |
PostgreSQL 15(RDS) |
AWS RDS |
SMTP |
AWS SES |
|
DNS |
Route53 |
|
利用者¶
プラットフォーム上のすべてのサービス。DotID はユニバーサルな依存関係である。