はじめに 業務委託としてお手伝いをしている渡部です。 Stena Expenseは、1つのソフトウェアを様々なお客様がご利用される、いわゆるマルチテナント型のSaaSです。 マルチテナント型のSaaSでは、テナントごとにアプリケーションやデータベースをどのように分離するか、もしくは分離しないかが焦点になりますが、先日Stena Expenseではデータベースの分離方法の1つであるRow Level Security(以下、RLS)を導入したため、導入背景や作業時に実施したことを紹介します。 アーキテクチャの分離レベルとRLS導入の背景 マルチテナントのアーキテクチャを検討するにあたり、複数の分離レベルが存在します。 アプリケーションとデータベースをテナント間で共有し、テナントごとに分離しない アプリケーションとデータベースのテーブルをテナント間で共有し、テナントごとにテーブルの行レベルで分