Row Level Security
Row Level Security(RLS:行レベルセキュリティ)は、データベースのテーブル内で、ユーザーやロールごとにアクセス可能な「行(レコード)」を制限する機能です。 SQL クエリに自動でフィルタリング条件(WHERE 句)を追加する仕組みで、主に SaaS のマルチテナント化や個人情報保護に利用されます。
主な用法とメリット:
Section titled “主な用法とメリット:”- マルチテナント: 1 つのテーブルで複数顧客のデータを管理し、各顧客が自社データのみ閲覧できるようにする。
- ロールベースアクセス: 営業担当者は担当顧客のデータのみ、マネージャーは全データ、といった制限。
- セキュリティ強化: アプリケーション側のコーディングを減らし、DB 層で堅牢に制御できる。
synonyms(同義語・関連機能):
Section titled “synonyms(同義語・関連機能):”- 行レベルのセキュリティ (Microsoft SQL Server/Azure)
- 行レベルのアクセス ポリシー (BigQuery)
- PostgreSQL RLS (Row Level Security)
PostgreSQL(9.5 以降)や SQL Server、Oracle などでサポートされています。