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 経由)

主要エンティティ

エンティティ

説明

レルム

flexgalaxy — すべてのプラットフォームユーザーのための単一レルム

ユーザー

クレデンシャルを持つ人間またはサービスアカウント

クライアント

OIDC クライアント(SPA、サーバー、デバイス)

役割

レルムレベルまたはクライアントレベルのアクセスロール

グループ

ユーザーの組織的グループ化

エンドポイント

エンドポイント

説明

auth.flexgalaxy.com

OIDC 発行者(Keycloak)

auth.flexgalaxy.com/auth/realms/flexgalaxy/.well-known/openid-configuration

OIDC ディスカバリー

auth.flexgalaxy.com/auth/realms/flexgalaxy/protocol/openid-connect/certs

JWKS エンドポイント

認証フロー

フロー

ユースケース

認可コード + PKCE

SPA(AdminCenter、StarGate)

クライアントクレデンシャル

サービス間通信、デバイス M2M

ダイレクトグラント

インテグレーションテスト専用

認可サービス

責務

  • きめ細かいアクセスポリシー(ABAC および RBAC)を評価する

  • すべてのプラットフォームサービスにポリシー決定ポイント(PDP)を提供する

  • アカウントごとに IAM ポリシー、グループ、権限セットを管理する

主要エンティティ

エンティティ

説明

ポリシー

JSON ポリシードキュメント(アクション、リソース、条件)

アクション名前空間

サービスごとのアクションのグループ化(例:devices:Read

権限セット

名前付きポリシーのコレクション

IAM グループ

ポリシーが紐付けられたアカウントスコープのグループ

実装

コンポーネント

技術

デプロイ

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

email-smtp.ap-northeast-1.amazonaws.com

DNS

Route53

auth.flexgalaxy.com

利用者

プラットフォーム上のすべてのサービス。DotID はユニバーサルな依存関係である。