アクセスとパーミッション — 中央会員管理&SSOハブ
1. ドキュメントの目的
このドキュメントは、システムの中央会員管理&SSOハブにおける、各ロールがモジュール、データ、そしてアクションに対するアクセス権を説明します。
このドキュメントは、次の実装の基礎となります。
- 認可、
- バックエンドミドルウェア、
- APIパーミッション、
- ルート保護、
- アクセス権のテスト。
2. 使用するロール
- 会員: アカウントの所有者。
- システム: バックエンドプロセス(ウェブフック、スケジューラ、通知)。
- スーパーアドミン: プラットフォーム管理チーム。
3. パーミッションの原則
- デフォルトではすべてのアクセスが拒否される。
- アクセス権は明示的に定義されなければならない。
- 会員は自分のデータのみを変更できる。
- システムは有効なコンテキスト内でデータを処理できる。
- スーパーアドミンは会員のパスワードを表示できない。
- フロントエンドは単一のセキュリティ層ではならない。
- バックエンドは各リクエストでロールとデータの所有権を検証する必要がある。
4. アクセス権の定義
| コード | 意味 |
|---|---|
View |
データの表示 |
Create |
データの作成 |
Update |
データの更新 |
Delete |
データの削除またはキャンセル |
Process |
自動プロセスの実行 |
Manage |
全体管理(CRUD) |
None |
アクセス権なし |
5. メインアクセス権マトリックス
| モジュール/アクティビティ | 会員 | システム | スーパーアドミン |
|---|---|---|---|
| アカウント&認証 | |||
| アカウントの登録 | Create |
Process |
None |
| メールの確認 | Process |
Process |
None |
| ハブへのログイン | Process |
None |
Process |
| ログアウト | Process |
None |
Process |
| パスワードの忘却&リセット | Process |
Process |
None |
| 自分のプロフィールの表示 | View |
None |
None |
| 自分のプロフィールの更新 | Update |
None |
None |
| 他の会員のプロフィールの表示 | None |
None |
View(制限) |
| 自分のアカウントの非アクティブ化 | Update |
None |
None |
| 他の会員のアカウントの非アクティブ化 | None |
None |
Update |
| 製品&パッケージ | |||
| 製品カタログの表示 | View |
None |
View |
| パッケージ製品リストの表示 | View |
None |
View |
| 製品の管理(追加/更新) | None |
None |
Manage |
| パッケージの管理(追加/更新/価格) | None |
None |
Manage |
| パッケージの非アクティブ化 | None |
None |
Update |
| ライセンス | |||
| フリーミアムパッケージの有効化 | Create |
None |
None |
| 自分のライセンスの表示 | View |
Process |
None |
| 自分のライセンスIDの表示 | View |
Process |
None |
| ライセンスの有効化(支払い後) | None |
Process |
None |
| ライセンスの非アクティブ化(一時停止) | None |
Process |
Update |
| ライセンスの復活(支払い後) | None |
Process |
Update |
| ライセンスのキャンセル | None |
None |
Update |
| 全ての会員のライセンスの表示 | None |
None |
View |
| チェックアウト&支払い | |||
| チェックアウトの作成 | Create |
None |
None |
| 支払いゲートウェイの選択 | Update |
None |
None |
| 支払いウェブフックの受信 | None |
Process |
None |
| 支払いウェブフックの検証 | None |
Process |
None |
| 自分の支払い履歴の表示 | View |
None |
None |
| 自分の請求書のダウンロード | View |
None |
None |
| 全てのトランザクションの表示 | None |
None |
View |
| 手動返金の処理 | None |
None |
Update |
| SSO&トークン | |||
| SSOログイン(認証コードの要求) | Process |
None |
None |
| 認証コードとトークンの交換 | None |
Process |
None |
| JWTの発行 | None |
Process |
None |
| アクセストークンの更新 | Process |
Process |
None |
| SSOログアウト | Process |
None |
None |
| リフレッシュトークンのキャンセル | None |
Process |
Update |
| 通知&メール | |||
| 通知の設定 | Update |
None |
None |
| 自動メールの送信 | None |
Process |
None |
| メール送信ログの表示 | None |
None |
View |
| スーパーアドミンパネル | |||
| アドミンパネルのアクセス | None |
None |
View |
| 統計データの表示 | None |
Process |
View |
| 会員リストの表示 | None |
None |
View |
| 会員詳細の表示 | None |
None |
View(制限) |
| エラーログの表示 | None |
Process |
View |
| オーディットログの表示 | None |
None |
View |
| システム設定の管理 | None |
None |
Manage |
| OAuth2クライアントの新規登録 | None |
None |
Manage |
6. パーミッションの基準
6.1 認証&プロフィール
会員
- 登録、ログイン、ログアウト、パスワードのリセットが可能。
- 自分のプロフィールの表示と更新が可能。
- 他の会員のプロフィールの表示や更新が不可能。
システム
- ログイン時の認証情報の検証が可能。
- メールの確認とパスワードのリセットが可能。
- セッションの作成と終了が可能。
スーパーアドミン
- 会員の管理データ(名前、メール、アカウントのステータス、登録日)の表示が可能。
- 会員のパスワードの表示が不可能。
- 会員のアカウントの有効化または非有効化が可能。
6.2 製品&パッケージ
会員
- 製品カタログとパッケージ製品リストの表示が可能。
- 製品やパッケージの更新が不可能。
システム
- 製品やパッケージの管理に直接アクセスできない。
スーパーアドミン
- 新規製品の追加が可能。
- パッケージの管理(名前、価格、期間、機能)が可能。
- パッケージの非有効化が可能。
6.3 ライセンス
会員
- フリーミアムパッケージの有効化が可能