Membership
Membership は、特定ロールで User を Account に関連付けます。ユーザーは複数 Account に対して、それぞれ異なるロールを持てます。
スキーマ
interface Membership {
id: string; // "mbr..." - 一意識別子
user_id: string; // Membership を持つユーザー
account_id: string; // Membership が属するアカウント
role: MembershipRole;
}
type MembershipRole = "owner" | "member" | "viewer";
プロパティ
| Property | Type | Description |
|---|---|---|
id | string | mbr プレフィックス付き KSUID |
user_id | string | ユーザー参照 |
account_id | string | アカウント参照 |
role | enum | 権限レベル |
ロール
| Role | Permissions |
|---|---|
owner | フルアクセス、メンバー管理、アカウント削除 |
member | リソースの読み書き |
viewer | 読み取り専用 |
複数アカウントアクセス
User (uid_123)
├── Membership → Account A (role: owner)
├── Membership → Account B (role: member)
└── Membership → Account C (role: viewer)
トークンクレーム
アカウントアクセス時、トークンには次が含まれます。
{
"uid": "uid_123",
"acc": "acc_A",
"role": "owner"
}
例
{
"id": "mbr_2kHfPZcN9xW4mE8RtY7vB",
"user_id": "uid_1jGePYbM8wV3lD7QsX6uA",
"account_id": "acc_3lIfQZdO0yX5nF9SuY8wC",
"role": "member"
}
関連
- User - ユーザーリソース
- Account - アカウントリソース
- Applications - サービス境界
- Users - ユーザー管理