管理API 概要
はじめに
Authrim 管理APIは、テナント管理者やシステム管理者がAuthrimプラットフォームをプログラマティックに管理するためのRESTful APIです。このAPIを使用することで、以下のような管理操作を自動化できます:
- Admin ユーザー管理(管理コンソールアクセスユーザー)
- EndUser管理(アプリケーションユーザー)
- クライアントアプリケーション管理
- セッション管理
- 組織・ロール管理(RBAC)
- 属性ベースアクセス制御(ABAC)
- 関係ベースアクセス制御(ReBAC)
- ポリシー管理
- 認証フロー管理
- 監査ログ・コンプライアンス
- セキュリティアラート
- 統計・分析
ベースURL
https://{tenant-domain}/api/adminデータベースアーキテクチャ
Authrimはセキュリティ強化のため、分離されたデータベースアーキテクチャを採用しています:
| データベース | 説明 | 対象ユーザー |
|---|---|---|
| DB_ADMIN | 管理者データベース | 管理コンソールにアクセスするAdminユーザー |
| DB_CORE | コアデータベース | アプリケーションを利用するEndUser |
この分離により:
- Admin認証情報がEndUserデータから隔離される
- EndUserデータが侵害されてもAdmin アクセスに影響しない
- セキュリティベストプラクティスへの準拠
主要な機能カテゴリ
Admin管理
管理コンソールにアクセスするAdminユーザーを管理するAPI。データはDB_ADMINに保存されます。
| カテゴリ | 説明 |
|---|---|
| Adminユーザー管理 | AdminユーザーのCRUD操作 |
| Adminロール管理 | Adminロールの定義と割り当て |
| IPアローリスト | IPアドレスによるアクセス制御 |
| Admin監査ログ | Admin操作の監査ログ |
EndUser管理
アプリケーションを利用するEndUserを管理するAPI。データはDB_COREに保存されます。
| カテゴリ | 説明 |
|---|---|
| EndUser管理 | EndUserのCRUD操作、停止、ロック、匿名化 |
| セッション管理 | アクティブセッションの一覧、失効、強制ログアウト |
| 外部プロバイダー | 外部IDプロバイダー(OAuth/OIDC)の管理 |
EndUserアクセス制御
| カテゴリ | 説明 |
|---|---|
| 組織管理 | 組織のCRUD操作、メンバー管理、階層構造 |
| ロール管理 | ロールの定義、EndUserへの割り当て |
| ABAC | 属性ベースアクセス制御、ユーザー属性管理 |
| ReBAC | 関係ベースアクセス制御(Zanzibar DSL) |
| ポリシー管理 | ポリシールールの定義、シミュレーション |
アプリケーション管理
| カテゴリ | 説明 |
|---|---|
| クライアント管理 | OAuthクライアントのCRUD操作、シークレット再生成 |
| フロー管理 | 認証フローの定義、検証、コンパイル |
| Webhook管理 | Webhookエンドポイントの設定、テスト |
| プラグイン管理 | プラグインの有効化、設定 |
セキュリティ・監査
| カテゴリ | 説明 |
|---|---|
| EndUser監査ログ | EndUser監査ログの検索、エクスポート |
| アクセストレース | 権限チェックの監査ログ、統計 |
| コンプライアンス | コンプライアンス状態、アクセスレビュー |
設定・運用
| カテゴリ | 説明 |
|---|---|
| 設定管理 | テナント設定、機能フラグ |
| トークン・認証情報 | 署名キー、SCIMトークン、IAT |
| ジョブ管理 | 非同期ジョブ(インポート、エクスポート、レポート) |
APIの特徴
RESTful設計
管理APIはRESTfulな設計原則に従っています:
- リソースはURLで識別されます
- HTTPメソッドで操作を表現します(GET, POST, PUT, DELETE)
- JSONフォーマットでデータを交換します
テナント分離
すべてのAPI操作はテナントスコープ内で実行されます。リクエストは認証トークンに基づいて適切なテナントにルーティングされ、データは厳密に分離されます。
PII分離アーキテクチャ
個人識別情報(PII)はコアデータベースとは別のPIIデータベースに保存されます。これにより、データ保護規制への準拠が容易になります。
カーソルベースページネーション
リスト系APIはカーソルベースのページネーションを採用しています。これにより、大量のデータを効率的に取得できます。
次のステップ
- 認証と認可 - APIへのアクセス方法を学ぶ
- リクエストとレスポンス - APIの使い方を理解する
- エラーハンドリング - エラー対応を確認する