🔒 アクセス制御とは
アクセス制御(Access Control)とは、組織のデータ資産に対して「誰が」「何に」「何ができるか」を定義し、管理する仕組みです。これは、データの機密性、完全性、可用性を保つための基盤となります。
現代のデータプラットフォームでは、RBAC(ロールベースのアクセス制御)が基本となっており、ユーザーに付与されたロール(役割)に基づいて権限が決定されます。
1. RLS(行レベルセキュリティ):誰のデータを見るか?
RLS(Row-Level Security: 行レベルセキュリティ)は、データテーブルの「行(レコード)」単位でアクセスを制限するセキュリティ機能です。
🔹 RLSの仕組み
同じテーブルに対してクエリを実行しても、ユーザーのロールや属性(部署、地域、役職など)に基づいて、そのユーザーに許可された特定の行のみが表示されます。
- 例: 営業担当者が売上データを見る際、RLSポリシーにより、自身が担当する「地域」の売上データの行のみが表示され、他の地域のデータは表示されません。
RLSは、組織のセキュリティポリシー(例:個人情報保護、地域別コンプライアンス)を厳格に適用するために不可欠です。
2. OLS(オブジェクトレベルセキュリティ):何の情報を見るか?
OLS(Object-Level Security: オブジェクトレベルセキュリティ)は、データテーブルの「オブジェクト(列/カラム)」単位でアクセスを制限するセキュリティ機能です。
🔹 OLSの仕組み
ユーザーがテーブル全体にアクセス権を持っていても、OLSポリシーにより、特定の機密性の高い列(カラム)の参照が禁止されます。
- 例: 人事データを見る際、マネージャーはすべての列を見ることができますが、一般社員は「給与」の列や「評価スコア」の列がマスキングされたり、完全に非表示になったりします。
この機能は、プライバシー保護や、職務上不要な機密情報を不用意に公開しないために重要です。
3. 標準対応と現代のデータプラットフォーム
RLSとOLSは、現在、多くのクラウドデータウェアハウス(DWH)および主要なBIツールで標準的にサポートされています。
| プラットフォーム | 機能名 | 対応状況 |
| Snowflake | Dynamic Data Masking (OLS), Row Access Policies (RLS) | 標準対応 |
| BigQuery | Column-level security (OLS), Row-level security (RLS) | 標準対応 |
| Power BI | RLS | 標準対応(データモデル内で定義) |
| Tableau | User-based filtering (RLS), Column hiding (OLS) | 標準対応 |



