データアクセス制御
行権限
DorisのRow-level policiesを使用することで、機密データに対する細かい粒度のアクセス制御を実現できます。テーブルレベルで定義されたセキュリティポリシーに基づいて、どのユーザーまたはロールがテーブル内の特定のレコードにアクセスできるかを決定できます。
メカニズム
クエリ実行時に、Row Policyが設定されたユーザーに対して、Row Policyで設定された述語を自動的に追加することと同等です。
制限事項
デフォルトユーザーのrootとadminにはRow Policyを設定できません。
関連コマンド
- 行権限ポリシーの表示 SHOW ROW POLICY
- 行権限ポリシーの作成 CREATE ROW POLICY
行権限の例
- testユーザーをtable1のc1='a'のデータのみクエリできるように制限する
CREATE ROW POLICY test_row_policy_1 ON test.table1
AS RESTRICTIVE TO test USING (c1 = 'a');
Column Permissions
Dorisのカラム権限を使用すると、テーブルに対してきめ細かいアクセス制御を実現できます。テーブル内の特定のカラムに権限を付与して、どのユーザーまたはロールがテーブル内の特定のカラムにアクセスできるかを決定できます。
現在、カラム権限はSelect_privのみをサポートしています。
関連コマンド
カラム権限の例
- user1にテーブルtblのカラムcol1とcol2をクエリする権限を付与します。
GRANT Select_priv(col1,col2) ON ctl.db.tbl TO user1
データマスキング
データマスキングは、元のデータを変更、置換、または隠すことで機密データを保護する手法であり、マスクされたデータが機密情報を含まなくなる一方で、特定の形式や特性を維持します。
例えば、管理者はクレジットカード番号やID番号などの機密フィールドの数字の一部または全部をアスタリスク * やその他の文字に置き換えたり、実名を仮名に置き換えたりすることを選択できます。
admin/rootユーザーのData Masking設定は効果がありません。