RLSを用いたマルチテナント実装 for Django
概要
複数のテナント(チーム・組織)向けにサービスを提供するシステムで、テナント相互の情報を分離して扱う、複数のマルチテナントアーキテクチャが考案されています。 「各プログラマが努力して実装する」戦略でも実現はできますが、プログラミングミスや設定間違いによるデータ混濁が高確率で発生します。 スライド:
https://scrapbox.io/files/60dfbf265c48270022527806.png
RLSを使っているとき、DjangoAdminの表示時にWHERE句にはテナントIDでの絞り込み等がない
https://scrapbox.io/files/60e21c7e2845e200236588ee.png