アカウントとメンバー
アカウントとメンバー機能は、アカウントの編成方法と、保護された受信トレイ マネージャーの操作にロールを割り当てる方法を定義します。 これにより、各アカウントを誰が使用できるか、各リクエストに対してどのアカウントがアクティブになるかを直接制御できます。
なぜこれが重要なのか
この機能は、資格情報、タスク、ジョブ、電子メール、ログのアカウント境界を設定します。これにより、アカウントの切り替えとメンバーシップでのロールの割り当てが明示的に維持されるため、チームが親アカウントと子アカウントをまたいで作業するときの間違いが軽減されます。
コアフロー
クライアントは、まずアクセス可能なアカウントをリストし、アクティブなアカウントを選択し、アカウント ビューの切り替えを通じてその選択を保存します。そこから、アカウントとメンバーシップのデータがロードされ、そのアカウントでアカウントまたはメンバーの変更が実行されます。
操作
| 操作 | エンドポイント | 目的 |
|---|---|---|
| アカウントのリスト | GET /api/accounts | アクセス可能なアカウントのリストを取得する |
| アカウントの検索 | POST /api/accounts/search | フィルタによって設定されたアカウントのクエリ |
| アカウントを取得 | GET /api/accounts/:account_id | アカウントの詳細を取得する |
| アクティブなアカウントを切り替える | POST /api/account-views/switch | アクティブなアカウントの選択を保存 |
| アカウントを作成する | POST /api/accounts | ルートまたは子アカウントを作成する |
| アカウントを更新する | PATCH /api/accounts/:account_id | アカウントフィールドを変更する |
| アカウントを削除 | DELETE /api/accounts/:account_id | アカウントを削除 |
| メンバーのリスト | GET /api/accounts/:account_id/members | アカウントのメンバーシップを取得する |
| メンバーを追加 | POST /api/accounts/:account_id/members | メンバーシップを作成する |
| メンバーを更新 | PATCH /api/accounts/:account_id/members/:member_id | ロールまたはメンバーシップのメタデータを変更する |
| メンバーを削除 | DELETE /api/accounts/:account_id/members/:member_id | アカウントアクセスを取り消す |
主要なデータと状態
{
account_id: "acc_...",
parent_account_id: "acc_parent_...", // optional for hierarchy
membership: {
user_id: "uid_...",
role: "owner" | "member" | "viewer"
}
}
故障モードと制御
発信者のメンバーシップ セット外のアカウントのリクエストは拒否され、メンバーの変更には適切なロールが必要です。アカウントの切り替えは、呼び出し元がアクセスできるアカウントをターゲットにする必要があり、アカウントのライフサイクルの変更は、明示的なアカウント エンドポイントを通じてのみ発生します。