メインコンテンツまでスキップ

認証基盤 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 の作成・削除、ユーザーへの割り当て
サービスアカウントサービスアカウントの作成・削除、鍵の発行・無効化
SSOSAML 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 仕様はコンソールから確認でき、外部システムとの接続にも利用できます。