Skip to content

Row Level Security

Row Level Security(RLS:行レベルセキュリティ)は、データベースのテーブル内で、ユーザーやロールごとにアクセス可能な「行(レコード)」を制限する機能です。 SQL クエリに自動でフィルタリング条件(WHERE 句)を追加する仕組みで、主に SaaS のマルチテナント化や個人情報保護に利用されます。

  • マルチテナント: 1 つのテーブルで複数顧客のデータを管理し、各顧客が自社データのみ閲覧できるようにする。
  • ロールベースアクセス: 営業担当者は担当顧客のデータのみ、マネージャーは全データ、といった制限。
  • セキュリティ強化: アプリケーション側のコーディングを減らし、DB 層で堅牢に制御できる。
  • 行レベルのセキュリティ (Microsoft SQL Server/Azure)
  • 行レベルのアクセス ポリシー (BigQuery)
  • PostgreSQL RLS (Row Level Security)

PostgreSQL(9.5 以降)や SQL Server、Oracle などでサポートされています。