一般提供開始:SQL Database 行レベルセキュリティ ブロック述語

2015年11月30日 [General availability: SQL Database Row-Level Security block predicates] 粗訳

Azure SQL Database での 行レベルのセキュリティ( Row-Level Security [RLS]) 機能にて、ブロック述語が利用できます。ユーザー表示する行を制限する述語を制限するとは対照的に、ブロック述語は、利用しているアクセス記述に違反する挿入、更新、削除を防ぎます。テーブル内の特定の行への書き込みアクセスを制御するために、フィルタとブロック述語を同時に利用すべきです。

例えば、RLSは、一般的に、マルチテナントベータベースにおいて、お互いのデータにアクセスすることを禁止するため使用されます。クロステナントにおいて挿入や更新を抑制するために、各テナントに表示される行を制限するためにフィルタ述語を使用できます。

CREATE SECURITY POLICY Security.tenantAccessPolicy
 ADD FILTER PREDICATE Security.fn_tenantAccessPredicate(TenantId) ON dbo.MyTable,
 ADD BLOCK PREDICATE Security.fn_tenantAccessPredicate(TenantId) ON dbo.MyTable

コードサンプルやデモを含む追加情報については、アナウンスのブログポスト: Row-Level Security Block Predicates are Generally Available(英語)をご覧ください。

広告