テナントコンテキスト・代理ログイン
テナントコンテキスト解決
BFF セッションから取得した JWT のクレームを基に、リクエストごとにテナントコンテキストを設定する:
代理ログイン(Impersonation)
代行事業者ポータルから顧問先テナントのコンテキストにスイッチする際のフロー:
データマスキングルール
Impersonation 時は以下のマスキングルールを BFF のビューモデル変換で適用する:
| データ分類 | ロール: agency_admin | ロール: agency_staff | ロール: sys_support |
|---|---|---|---|
| Restricted(マイナンバー) | 非表示 | 非表示 | 非表示 |
| Confidential(給与額) | 表示 | マスク(***,***円) | マスク |
| Confidential(家族情報) | 表示 | 表示 | マスク |
| Internal(氏名、メール) | 表示 | 表示 | 表示 |
| 申告データ変更 | 不可(閲覧のみ) | 不可 | 不可 |
- Impersonation 中の全操作は監査ログに
impersonated_by付きで記録(→ security-design.md 監査ログ設計) - 代理ログインの開始・終了も監査ログに記録
→ 満たす要件: SR-004 認可要件、SR-009 データ分類