認証基盤 API(IAM API)
IAM API(Identity and Access Management API) は、NocodilySuite 上に構築するすべてのシステムの認証・認可を担う基盤 API です。
ユーザーの登録・ログイン・パスワード管理から、組織単位のアクセス制御・RBAC・SSO まで、
認証にまつわるすべての機能をこの 1 つの API にまとめて構築できます。
マイクロサービス API やストレージ API は、IAM API と連携することで
「このユーザーはこのデータにアクセスできるか」をエンドポイント単位で制御できるようになります。
IAM API は、システム全体のアクセス制御の起点として機能します。
主要な概念
User(一般ユーザー)
メールアドレスとパスワードで認証される、エンドユーザー向けのアカウントです。
ログイン後に発行されるトークンを使って、マイクロサービス API やストレージ API へ安全にアクセスします。
- 1 つの IAM API に複数のユーザーを登録できます
- ユーザーは Organization(組織)に所属させることができます
- 組織への所属と役割(Role)の組み合わせによって、アクセスできるリソースを細かく制御できます
AdminUser(管理者ユーザー)
システムの運用・管理を行う特権アカウントです。
Admin WebUI へのログインや、他の API の管理者向けエンドポイントへのアクセスに使用します。
- 管理者ユーザーの作成・削除は、管理者ユーザー自身のみが実行できます
- 初回の管理者ユーザーは、IAM API を作成する際に指定します
- マイクロサービス API や Admin WebUI で Admin エンドポイントを有効化すると、管理者トークンでアクセスできます
Organization(組織)
ユーザーをグループ化する単位です。部署・チーム・顧客企業など、ビジネスの文脈に合わせて自由に定義できます。
- 組織には別名(エイリアス)を設定できます
- ユーザーを組織に追加するとき、その組織内での役割(Role)を設定します
- マイクロサービス API と組み合わせることで「この組織のマネージャーだけが閲覧できる」といったアクセス制御を実現できます
Role / Permission(役割と権限)
Role はユーザーが組織内で持つ「肩書き」、Permission はその役割に紐づく「できること」です。
IAM API 上で Role と Permission を定義し、マイクロサービス API のエンドポイントにその制御を適用します。
ServiceAccount(サービスアカウント)
バックエンドシステムや外部サービスから API にプログラムでアクセスするための専用アカウントです。
鍵(Key)を使って認証するため、ユーザーのパスワードを共有せずに安全なシステム間連携を実現できます。
- AI Agent や外部バッチ処理から API を呼び出す際にも利用できます
- 鍵の発行・無効化はコンソールから管理できます
サポートする機能一覧
| カテゴリ | 機能 |
|---|---|
| ユーザー管理 | ユーザーの作成・削除、パスワードリセット、パスワード変更、メールアドレス変更 |
| 管理者ユーザー管理 | 管理者ユーザーの作成・削除 |
| 認証 | メール / パスワードによるログイン、トークン発行・失効 |
| 二段階認証 | メールベースの 2FA の有効化・無効化 |
| 組織管理 | Organization の作成・削除、ユーザーの所属管理 |
| 権限管理 | Role・Permission の作成・削除、ユーザーへの割り当て |
| サービスアカウント | サービスアカウントの作成・削除、鍵の発行・無効化 |
| SSO | SAML 2.0 / OIDC による外部 IdP 連携 |
他の API との連携
IAM API は単独で使うだけでなく、他の API の認証基盤として機能します。
- マイクロサービス API — 構築時に IAM API を指定することで、エンドポイント単位の認証・RBAC を有効化できます
- ストレージ API — IAM API と連携することで、ユーザー単位・組織単位のストレージ領域を分離できます
- WebUI / Admin WebUI — IAM API のログイン画面・アカウント管理画面を自動的に提供します
インターフェース
IAM API は標準的な HTTP/1 系 REST API として提供されます。
OpenAPI 仕様はコンソールから確認でき、外部システムとの接続にも利用できます。