SaaSのグループとロールを、マルチテナントを自作せずに
最終更新:
Seedは登録時にすべてのアカウントに個人用グループを作ります。ユーザーは共有グループを作り、ほかの人を招待して、閲覧者からオーナーまでのロールを割り当てられます。テナントの境界はグループの1つだけなので、追加した機能も、メモの集約をコピーした時点で同じチェックを通ります。
- テナントの境界はグループだけ。個人のデータも共有のデータも同じチェックを通ります
- アプリでも、コードでも、このサイトでも、呼び名は「グループ」で統一
- 権限モデルは1つだけ。2つ目と同期させ続ける手間はありません
- 招待、ロール変更、オーナー権限の譲渡には、それぞれ専用のテスト
共有データのすべての行はいずれかのグループに属し、APIは読み書きの前に、そのグループでのその人のロールを確認します。閲覧者は読むだけ、編集者はグループのデータも変更でき、管理者とオーナーはさらにメンバーを管理し、アクティビティログを読めます。
オーナーはワンステップでオーナー権限を譲渡でき、削除したグループは30日以内なら復元できます。招待できるのは、メールアドレスを確認済みのアカウントだけです。

すべてのアカウントにグループがありますか?
はい。各アカウントには登録時に個人用グループが作られます。個人用グループも共有グループも、同じチェックを通ります。
閲覧者はグループのデータを変更できますか?
いいえ。閲覧者はグループのデータを読むだけです。変更できるのは編集者、管理者、オーナーです。
削除したグループは元に戻せますか?
はい。オーナーが30日以内に復元できます。それを過ぎると、ワーカーが完全に削除します。
自分の機能のために、2つ目の権限システムが必要ですか?
いいえ。新しい集約はメモの集約とそのグループチェックをコピーするので、管理する権限モデルは1つだけです。